Position-resolved field against Parseval

← Verification · Thin films · Plane wave
Reference
position-resolved field against Parseval
Kind
method: an independent formulation inside this repo (a scattering matrix, a plane-wave superposition, a quadrature): proves the formulation
Calculated
E(z), absorption density
Agreement
1e-10
An absorbing four-layer stack at 30°: the absorption density integrated through each layer against its Poynting difference position_resolved gives the field and the absorption density at any depth; integrated through a layer (200 Gauss–Legendre points) it must equal the power the Poynting flux loses across that layer. p polarization, air above, glass below. The focused-beam near field builds on the same fields (its Parseval check is the focused-beam row).
400500600700800900100000.10.20.30.40.5λ [nm]absorptance per layer
120 nm n = 2.1 + 0.08i, ∫ density (PyStratify) 250 nm n = 1.46 + 0.01i, ∫ density (PyStratify) 20 nm n = 0.2 + 3.2i, ∫ density (PyStratify) 120 nm n = 2.1 + 0.08i, Poynting difference 250 nm n = 1.46 + 0.01i, Poynting difference 20 nm n = 0.2 + 3.2i, Poynting difference
Hover to read values.
  • largest |difference|: 2.89×10⁻¹⁵
  • PyStratify the lines, the reference the circles

Run it yourself: planar_checks.py · test_planar_checks.py · focused_checks.py · test_focused.py · figures.py · PLANAR_CHECKS.md · FOCUSED_CHECKS.md on GitHub, PyStratify 97e52a9