PyStratify against treams

← Verification · Spheres · Point dipole
Reference
treams (the dipole as an l = 1 singular wave, translated through the layered sphere's T-matrix and back)
Kind
code: another group's code
Calculated
total rate, radial and tangential, ED and MD, beside a nanoshell 5 nm away, a matryoshka in water and a dielectric core–shell
Agreement
converges geometrically in treams' l_max: 3e-8 (nanoshell, 50), 1.2e-11 (matryoshka, 50), ≤ 2.9e-15 (dielectric, ED and MD); asserted 1e-5, 1e-8 (l_max 40), 1e-13
A dipole 5–60 nm from a nanoshell (10 nm silica core, 10 nm shell of ε = −10 + i), 600 nm treams translates the dipole's ℓ = 1 singular wave to the sphere's centre, scatters it with the T-matrix (50 orders; closer than 5 nm its truncation no longer converges, PyStratify's adaptive order does) and reads the scattered field back at the dipole; PyStratify places the jump in its transfer-matrix recursion.
10203040506010⁻¹11010²gap [nm]Γ / Γ₀
radial, PyStratify tangential, PyStratify radial, treams tangential, treams
Hover to read values.
  • largest relative difference: 2.05×10⁻⁸
  • PyStratify the lines, the reference the circles

Run it yourself: mie_codes.py · test_mie_codes.py · figures.py · MIE_CODES.md on GitHub, PyStratify 97e52a9