PyStratify against Meep: cylindrical coordinates, dipole on the axis (m = 0 perpendicular, m = 1 parallel)

← Verification · Thin films · Point dipole
Reference
Meep, cylindrical coordinates, dipole on the axis (m = 0 perpendicular, m = 1 parallel)
Kind
code: another group's code
Calculated
total rate 100 nm above 200 nm of n = 2.3 on glass (a guide), 0.61–1.18 µm; a different method, so it also checks the Sommerfeld formulation
Agreement
converges at about first order: worst 16.9% → 7.4% → 3.7% at 25–100 px/µm; asserted: < 5% at 100 and closer than 25
A dipole 100 nm above 200 nm of n = 2.3 on glass: total decay rate against Meep (cylindrical coordinates, 100 px/µm) Meep in cylindrical coordinates around the dipole (m = 0 perpendicular, m = 1 parallel), the film and substrate infinite in r, 1 µm of PML; the local density of states over the same run without the film. The film is 20 pixels thick at 100 px/µm and converges at about first order: worst 16.9% → 7.4% → 3.7% at 25, 50 and 100 px/µm (FDTD_MEEP.md); the test asserts < 5% at 100 and closer than 25.
0.70.80.911.10.811.21.41.61.822.22.4λ [µm]Γ / Γ₀
perpendicular, PyStratify parallel, PyStratify perpendicular, Meep parallel, Meep
Hover to read values.
  • largest relative difference (the grid's error): 0.0381598
  • PyStratify the lines, the reference the circles

Run it yourself: fdtd_meep.py · test_fdtd_meep.py · figures.py · FDTD_MEEP.md on GitHub, PyStratify 97e52a9