PyStratify against Meep: 3D FDTD (the cylinder through the PML)

← Verification · Cylinders · Point dipole
Reference
Meep, 3D FDTD (the cylinder through the PML)
Kind
code: another group's code
Calculated
total rate, radial / azimuthal / axial, beside an n = 2, 150 nm fibre, 0.61–1.18 µm across the TE₀₁/TM₀₁ cutoff
Agreement
converges toward PyStratify: worst 6.9% → 3.2% → 1.7% → 0.74%; asserted: 30 px/µm < 5% and closer than 20
A dipole 100 nm outside a step-index fibre (n = 2, radius 150 nm) in air: total decay rates against Meep (3D FDTD, 60 px/µm) Meep in 3D: the fibre runs through the perfectly matched layers, a 1.8 µm cell plus 1 µm of PML per side, two mirror planes; a Gaussian pulse and the local density of states at the dipole, over the same run without the fibre so the grid's own dispersion cancels. TE₀₁ and TM₀₁ are cut off at 0.678 µm. The difference shrinks with the grid, 6.9% → 3.2% → 1.7% → 0.74% at 20–60 px/µm (FDTD_MEEP.md); the test runs 20 and 30.
0.70.80.911.10.60.811.21.41.61.822.2λ [µm]Γ / Γ₀
radial, PyStratify azimuthal, PyStratify axial, PyStratify radial, Meep azimuthal, Meep axial, Meep
Hover to read values.
  • largest relative difference (the grid's error): 0.00735943
  • 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