AnalyticEMModes.jl is a Julia package for computing analytical electromagnetic field solutions for canonical boundary value problems in multiple coordinate systems (waveguides, spherical modes, and spheroidal vector waves). All bounded geometries assume perfect electric conductor (PEC) boundary conditions.
From the Julia REPL:
using Pkg
Pkg.add("AnalyticEMModes")Or in package mode (type ]):
pkg> add AnalyticEMModes
| Type | Alias | Coordinate System | Power Normalization |
|---|---|---|---|
| Rectangular | rwg |
(x, y) | ✓ |
| Circular | cwg |
(r, θ) | ✓ |
| Coaxial | coax |
(r, θ) | ✓ |
| Radial | radial |
(ρ, φ, z) | ✓ |
| Wedge | wedge |
(ρ, φ, z) | ✓ |
| Elliptical | ewg |
(ξ, η) | ✓ |
| Spherical | sph |
(r, θ, φ) | ✓ |
| Spheroidal | spheroidal |
(ξ, η, ϕ) prolate/oblate | ✗ |
The spheroidal module currently exposes vector-wave building blocks:
mn_spheroidal_vector,m_spheroidal_vector,n_spheroidal_vectormn_spheroidal_vectors,m_spheroidal_vectors,n_spheroidal_vectorsmn_spheroidal_vectors_mnmaxProlateSpheroidalBasis,OblateSpheroidalBasis,SpheroidalB- coordinate helpers (
pro2cart,obl2cart,cart2pro,cart2obl, scale factors)
Visualization examples for all supported geometries are documented in: