Consistency checks
Under active development. Verification is growing as comparisons are added and rerun: the matrix, its figures and their presentation are not yet in their final form. Spotted an error, or missing a topic? Tell us.
Checks that need no other code: closed forms, limits and conservation laws, the same series summed in extended precision, and independent routes through PyStratify's own physics. Each case plots PyStratify against its reference on the same axes.
Opaque metal film
thickened from 1 to 150 nm, R settles on the bulk Fresnel reflectance
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| 1 | Metal | const | 0.2 | 3 | 1–150 | auto | |
| ↓ | Out | const | 1 | 0 | ∞ | – |
Single interface
R for s and p through Brewster's angle, against Fresnel's closed form
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| ↓ | Out | const | 1.5 | 0 | ∞ | – |
Fabry–Pérot slab
R of a free-standing slab against the Airy formula
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| 1 | Slab | const | 2 | 0 | 300 | auto | |
| ↓ | Out | const | 1 | 0 | ∞ | – |
Lossless stack
nothing is absorbed, so 1 − R − T must vanish at every angle, beyond critical too
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1.52 | 0 | ∞ | – | |
| 1 | H | const | 2.3 | 0 | 80 | auto | |
| 2 | L | const | 1.38 | 0 | 120 | auto | |
| 3 | H | const | 2.3 | 0 | 80 | auto | |
| 4 | L | const | 1.38 | 0 | 120 | auto | |
| 5 | H | const | 2.3 | 0 | 80 | auto | |
| ↓ | Out | const | 1 | 0 | ∞ | – |
Bare substrates: Ψ
Ψ of three substrates against the Fresnel ratio −rp / rs
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| ↓ | Out | const | 1.5 · 1.5 · 0.2 | 0 · 0.3 · 3 | ∞ | – |
Bare substrates: Δ
Δ of three substrates against the Fresnel ratio −rp / rs
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| ↓ | Out | const | 1.5 · 1.5 · 0.2 | 0 · 0.3 · 3 | ∞ | – |
Metal stack
R and T against an independent scattering-matrix solution
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| 1 | Silica | const | 1.46 | 0 | 100 | auto | |
| 2 | Metal | const | 0.05 | 3 | 40 | auto | |
| ↓ | Out | const | 1.52 | 0 | ∞ | – |
Frustrated reflection
light tunnels through an air gap beyond 41.8°: against the scattering-matrix solution
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1.5 | 0 | ∞ | – | |
| 1 | Air gap | const | 1 | 0 | 400 | auto | |
| 2 | n 2 | const | 2 | 0 | 130 | auto | |
| ↓ | Out | const | 1.5 | 0 | ∞ | – |
Thick incoherent layer
the incoherent solver against 301 coherent solves averaged over the thick layer's phase
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| 1 | Film 1 | const | 2.08 | 0.03 | 90 | auto | |
| 2 | Thick layer | const | 1.47 | 0.001 | 12000 | incoherent | |
| 3 | Film 2 | const | 1.82 | 0.02 | 110 | auto | |
| ↓ | Out | const | 1.56 | 0 | ∞ | – |
Three-layer filter
RCWA (meent) with nothing patterned must reproduce the transfer matrix
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| 1 | H | const | 2.35 | 0 | 95 | auto | |
| 2 | L | const | 1.46 | 0 | 110 | auto | |
| 3 | H | const | 2.35 | 0 | 95 | auto | |
| ↓ | Out | const | 1.5 | 0 | ∞ | – |
Absorption per layer
absorption integrated through each layer against the Poynting flux it loses
Open in calculatorSource
Thin films · Plane wave
| Label | Material | n | k | Thickness [nm] | Coherence | ||
|---|---|---|---|---|---|---|---|
| ↓ | In | const | 1 | 0 | ∞ | – | |
| 1 | Layer 1 | const | 2.1 | 0.08 | 120 | auto | |
| 2 | Layer 2 | const | 1.46 | 0.01 | 250 | auto | |
| 3 | Metal | const | 0.2 | 3.2 | 20 | auto | |
| ↓ | Out | const | 1.52 | 0 | ∞ | – |
Kramers–Kronig
closed-form ε₁ against the numerical Kramers–Kronig transform of ε₂
PyStratify evaluates each model's ε₁ in closed form. The reference rebuilds it from ε₂ alone,
by QUADPACK with a Cauchy weight, split at the kinks, independent of PyStratify's own transform.
Tauc–Lorentz: = 120 eV, = 3.6 eV, = 2.4 eV, = 1.6 eV. Cody–Lorentz: the same with = 0.8 eV, = 1.8 eV, = 0.05 eV. The closed forms every 0.05 eV, the principal value every 0.25 eV.