PyStratify against Meep: cylindrical coordinates (dipole on the axis through the sphere)

← Verification · Spheres · Point dipole
Reference
Meep, cylindrical coordinates (dipole on the axis through the sphere)
Kind
code: another group's code
Calculated
total rate, radial and tangential, 100 nm from an n = 2, 150 nm sphere, 0.61–1.18 µm
Agreement
worst 5.5% → 1.6% → 1.7% at 25–100 px/µm (a curved surface converges in an oscillating way); asserted: < 3% at 100 and closer than 25.
A dipole 100 nm outside an n = 2, 150 nm sphere, on its axis: total decay rate against Meep (FDTD, 100 px/µm) Meep in cylindrical coordinates (m = 0 for the radial dipole, m = 1 for the tangential), a Gaussian pulse and its local density of states at the dipole, over the same run without the sphere so the grid's own dispersion cancels. A curved surface on a square grid converges in an oscillating way: 5.5% at 25 px/µm, 1.6–1.7% at 50–100 (the test).
0.70.80.911.10.60.811.21.41.61.8λ [µm]Γ / Γ₀
radial, PyStratify tangential, PyStratify radial, Meep tangential, Meep
Hover to read values.
  • largest relative difference (the grid's error): 0.0171785
  • 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