PyStratify against NGSolve
- Reference
- NGSolve (3D finite elements; total field of a point dipole, Im(p·E) over the same mesh without the fibre)
- Kind
- code: another group's code
- Calculated
- total rate, radial / azimuthal / axial, beside the same fibre, 0.62–1.2 µm across the TE₀₁/TM₀₁ cutoff; a cylindrical cell (radial ⊗ z PML) cut to a quarter by mirror symmetry
- Agreement
- converges toward PyStratify: worst 1.4% → 0.8% → 0.5% at 0.8 µm and 4.4% → 1.3% → 0.8% at 0.645 µm (75k → 102k → 137k unknowns); ≤ 2.1% over 0.62–1.2 µm on the middle mesh (the figure). Until 2026-10-13 a spherical cell with a radial PML, which met the guided modes badly: up to 7% off away from 0.8 µm and 8–11% at 0.645 µm; asserted: < 3%
radial, PyStratify
azimuthal, PyStratify
axial, PyStratify
radial, NGSolve
azimuthal, NGSolve
axial, NGSolve
Hover to read values.
- largest relative difference (the middle mesh):
- PyStratify the lines, the reference the circles
Run it yourself: fem_ngsolve.py · test_fem_ngsolve.py · figures.py · FEM_NGSOLVE.md on GitHub, PyStratify 97e52a9