Guided-pole uncertainty within tolerance; 3D sources are not line sources

← Verification · Thin films · Point dipole
Reference
guided-pole uncertainty within tolerance; 3D sources are not line sources
Kind
method: an independent formulation inside this repo (a scattering matrix, a plane-wave superposition, a quadrature): proves the formulation
Calculated
guided rate
Agreement
1e-6
A dipole in a 0.8 µm film of n = 3.5 in air (18 guided modes), 600 nm: the error PyStratify reports against the accuracy asked for Eighteen guided poles sit on the real axis of the spectral integral; PyStratify takes their residues and charges the uncertainty of each pole's position to the error. Where it reports convergence the error stays within the tolerance, with all 18 poles found; where it cannot reach it (1e-08) it says so, not converged, rather than claiming the accuracy. The test asserts 1e-6 and checks total = escape + guided to the tolerance.
0.00020.00040.00060.00080.00110⁻⁹10⁻⁸10⁻⁷10⁻⁶10⁻⁵10⁻⁴10⁻³tolerance asked forerror
error reported, PyStratify tolerance × max(1, |Γ / Γ₀|), the accuracy asked for
Hover to read values.
  • largest reported error / accuracy asked where it reports convergence (must stay below 1): 0.169588
  • PyStratify the lines, the reference the circles
A dipole inside a lossless 200 nm film of n = 1.5 in air, 600 nm: the total against escape + guided An isotropic electric dipole inside the guide: a point source (unlike a line source) puts a finite share of its power into the guided modes, here up to 0.80 of the total; the total from the Green's function must equal what escapes plus what is guided, since nothing absorbs.
204060801001201401601800.20.40.60.8depth in the film [nm]Γ / Γ₀
total, PyStratify escape guided escape + guided
Hover to read values.
  • largest relative difference: 3.07×10⁻¹²
  • PyStratify the lines, the reference the circles

Run it yourself: unified_checks.py · test_unified.py · figures.py · UNIFIED_CHECKS.md on GitHub, PyStratify 97e52a9