This python lib can be used freely but it's build for solving problems in course 31035 "Anvendt elektromagnetisme" DTU
-
Fundamentals of Applied Electromagnetics, Fawwaz T. Ulaby, Umberto Ravaioli. Referred as Ulaby
Install python 3 and pip
sudo apt install python3 python3-pip
Install numpy
pip3 install numpy
-
Print material table and constant table from Ulaby appendix B and FUNDAMENTAL PHYSICAL CONSTANTS
-
Prints constant table
-
Prints material table
-
Returns mu zero
-
Returns epsilon zero
-
Returns speed of light
-
Returns magnitude for easy convertion to meter.
- E_exa()
- P_peta()
- T_tera()
- G_giga()
- M_mega()
- k_kilo()
- m_milli()
- mu_micro()
- n_nano()
- p_pico()
- f_femto()
- a_atto()
-
Helpful functions
-
-
-
General case
TL_find_Z0_RpGpLpCpOmega(Rp, Gp, Lp, Cp, omega)
-
-
-
General case
TL_find_Up_OmegaBeta(omega, beta)
-
-
-
General case
TL_find_smallGamma_RpGpLpCp(Rp, Gp, Lp, Cp, omega)
-
-
-
Lossless case
TL_find_beta_omegaEpsilon(omega, epsilon_r)
-
-
-
Lossless case
TL_find_Up_epsilon(epsilon_r)
-
-
-
Lossless case
TL_find_Z0_LpCp(Lp, Cp)
-
-
-
Lossless coaxial
TL_find_Z0_epsilonAB(epsilon_r, a, b)
-
-
-
General case
TL_find_Rs_freqMucSigmac(freq, mu_c, sigma_c)
-
-
-
General coaxial case
TL_find_Rprime_RsAB(Rs, a, b)
-
-
-
General coaxial case
TL_find_Lprime_muAB(mu_r, a, b)
-
-
-
General coaxial case
TL_find_Gprime_sigmaAB(sigma, a, b)
-
-
-
General coaxial case
TL_find_Cprime_epsilonAB(epsilon_r, a, b)
-
-
-
General case
TL_find_SWR_GAMMA(GAMMA)
-
-
-
General case
TL_find_SWR_VminVmax(V_min, V_max)
-
-
-
General case
TL_find_absGAMMA_SWR(SWR)
-
-
-
General case
TL_find_zL_GAMMA(GAMMA)
-
-
-
Lossless case
TL_find_Z0_ZscZoc(Zsc, Zoc)
-
-
-
Lossless case
TL_find_beta_lenZscZoc(lenght, Zsc, Zoc)
-
-
-
-
-
Plane-wave case !!Only returns beta hat vector!!
find_betaHatVec_EfieldHfield(E_field, H_field)
-
-
-
Plane-wave case
find_GAMMA_ZLZ0(Z_L, Z_0)
-
-
Find Z_L with reflection coefficient and Z_0. Ulaby s. 90 If GAMMA is on polar form, pol needs to be True and GAMMA is magnitude and angle is angle. deg needs to be True if angle is in degrees.
-
Plane-wave case
find_ZL_GAMMAZ0(GAMMA, Z_0, pol=False, deg=False, angle=0)
-
-
-
-
-
Normal incidence
WRT_find_GAMMA_eta1eta2(eta1, eta2)
-
-
-
Normal incidence
WRT_find_GAMMA_eta1eta2(eta1, eta2)
-
-
-
Normal incidence !OBS! not tested
WRT_find_eta_c_murEprSig(mu_r, epsilon_r, sigma, omega)
-
-
Find transmitting angle with n1, n2 (index of refraction) and incident angle. If deg=False radians is used. Ulaby s. 385
-
Snell's law
WRT_find_Tangle_n1n2Angle(n1, n2, angle)
-
-
-
-
-
Plane wave
POL_find_polarization(E0_vector)
-
-
-
-
-
Lossless case
WP_find_eta_murEpr(mu_r, epsilon_r)
-
-
-
E_0real and E_0imag are real vectors
Should also work with H_0real and H_0imag as well
Returns polarization
Else returns bool False
-
E_0real, E_0imag and betaVec are real vectors
Only works with Electric field
Returns left or right polarization
Else returns error message
-
H_0real, H_0imag and betaVec are real vectors
Only works with Magnetic field
Returns left or right polarization
Else returns error message