How It Works¶
anafibre solves guided modes of cylindrical step-index fibres by combining:
- analytical field expressions in cylindrical geometry,
- a characteristic (dispersion) equation for the effective index, and
- numerical root-finding for each mode family.
1. Physical Model¶
The fibre is modelled as a cylindrical structure with piecewise-constant material parameters (relative permittivity and permeability) that abruptly change at the boundary of core/cladding which happens at radius \(\rho_0\):
The discontinuity in material parameters leads to dicontinuity of the refractive index:
and if \(n_1>n_2\) then the fibre can support guided modes that are confined to the core and decay evanescently in the cladding.
2. Modal Ansatz¶
We seek time-harmonic guided modes with angular frequency \(\omega\) and propagation constant \(k_z\) along the fibre axis, which is assumed to be the \(z\)-axis. Since we assume the fibre to be infinitely long, it has cylindrical symmetry and we can separate variables in cylindrical coordinates \((\rho,\varphi,z)\). Each mode should be an eigenfunction of the total angular momentum operator
where the azimuthal number is \(\ell\in\mathbb{Z}\). This leads to the following ansatz for the electric and magnetic fields:
where \(\uv{e}_0=\uv{z}\) and \(\uv{e}_{\pm1}=(\uv{x}\pm\ii\uv{y})/\sqrt{2}\) are the standard circular polarisation unit vectors, and \(e^{\mp\ii \varphi}\,\uv{e}_{\pm1}=(\uv{\rho}\pm\ii\uv{\varphi})/\sqrt{2}\) are the corresponding cylindrical spin-weighted unit vectors. The radial dependence, \(\mathrm{Z}_{\ell-s}(\kappa\rho)\), satisfies the Bessel equation:
where \(\kappa^2=k^2-k_z^2\) is the transverse wavenumber and primes denote differentiation with respect to the argument. For guided modes, we choose normalised solutions:
where \(\bessel{\ell}\) and \(\hankel{\ell}\) are Bessel and Hankel functions of the first kind, respectively. The normalisation ensures that the longitudinal components of the fields are automatically continuous at the core/cladding boundary \(\rho=\rho_0\). The complex coefficients \(\tilde{F}_{\ell m}^{(s)}\) can be all related to longitudinal amplitudes \(A_{\ell m}\) and \(B_{\ell m}\), and the transverse components are then determined by Maxwell's equations
using the spin-raising/lowering operators \(\partial_{\pm1}=(\uv{e}_{\pm1}^*\vdot\grad)=(\partial_{x}\mp\ii\partial_{y})/\sqrt{2}\),
These operators act on the spin-weighted cylindrical functions as
which leads to the following relations between the coefficients:
where \(n_\text{e}=k_z/k_0\) is the effective index of the mode. The dispersion equation for \(n_\text{e}\) is obtained by enforcing the continuity of the azimuthal fields at \(\rho=\rho_0\).
3. Dispersion Equation¶
To turn the field ansatz into an eigenvalue problem, we enforce continuity of the tangential field components at \(\rho=\rho_0\). This yields a scalar characteristic equation in terms of the normalised propagation parameter
The standard transverse parameters are
and in anafibre the hybrid auxiliary functions are
with \(\alpha\in\{\varepsilon,\mu\}\) (so \(\alpha_1,\alpha_2\) are core/cladding values), \(\bessel{\ell}\) the Bessel function of the first kind, and \(\macdonald{\ell}\) the modified Bessel (Macdonald) function.
For \(\ell\neq 0\) (hybrid modes), the dispersion condition is
For \(\ell=0\), the branches decouple into
In implementation, root-finding uses a regularized residual F(\ell,b,V) (see anafibre.dispersion.F_dispersion / StepIndexFibre.F) that has the same zeros as the physical equation but better numerical behaviour:
The extra factors remove removable singular behaviour near cutoffs and Bessel zeros, making bracketed root searches more stable without changing the physical mode spectrum.
4. From Roots To Modes¶
For a chosen wavelength:
- Compute fibre/material quantities and V-number.
- Solve the characteristic equation for admissible \(n_\mathrm{e}\) roots.
- Label roots by family/order (\(\text{TE}_{0m}\), \(\text{TM}_{0m}\), \(\text{HE}_{\ell m}\), \(\text{EH}_{\ell m}\)).
- Construct a
GuidedModeobject with chosen polarisation coefficients.
This is exposed through StepIndexFibre methods such as HE, EH, TE, TM, and list_modes_at.
5. Field Reconstruction¶
Once a mode is constructed, GuidedMode reconstructs vector fields analytically and evaluates them at points or arrays:
E(x,y,z),H(x,y,z)gradE(...),gradH(...)Power(...)- Stokes quantities
S0,S1,S2,S3
So dispersion-level quantities (n_eff, k_z, ...) and full spatial fields are produced in one consistent model.
6. Practical Notes¶
- Inputs are SI by default (meters, seconds, etc.).
n,eps, andmumay be constants or wavelength-dependent callables.- Hybrid modes depend on user-selected amplitude/polarisation coefficients.
- Plotting/animation helpers in
anafibre.plottingoperate directly onGuidedModeoutputs.