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.
a matched cylinder is no cylinder: Γ/Γ₀ = 1 everywhere
Open in calculator →
0 50 100 150 200 250 300 10⁻¹⁷ 10⁻¹⁶ 10⁻¹⁵ distance from the axis [nm] |Γ / Γ₀ − 1|
electric dipole, max over orientations, PyStratify
magnetic dipole, max over orientations, PyStratify
electric dipole, max over orientations magnetic dipole, max over orientations
Source Source type Electric and magnetic dipoles
λ [nm] 600
r min [nm] 0
r max [nm] 300
points 32
Cross section p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Cylinder const 1.5 0 100 H Host const 1.5 0 ∞
the total rate against escape + guided + absorbed
Open in calculator →
150 200 250 300 350 400 10⁻¹ 1 10 10² distance from the axis [nm] Γ / Γ₀
radial, total (PyStratify)
azimuthal, total (PyStratify)
axial, total (PyStratify)
radial, escape + guided + absorbed
azimuthal, escape + guided + absorbed
axial, escape + guided + absorbed
radial azimuthal axial total (PyStratify) escape + guided + absorbed
Source Source type Electric point dipole
λ [nm] 600
r min [nm] 105
r max [nm] 405
r step [nm] 10
Cross section p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Core const 1.5 0 50 1 Absorber const 0.2 3 50 H Air const 1 0 ∞
the total rate against escape + guided + absorbed
Open in calculator →
150 200 250 300 350 400 10⁻¹ 1 10 distance from the axis [nm] Γ / Γ₀
radial, total (PyStratify)
azimuthal, total (PyStratify)
axial, total (PyStratify)
radial, escape + guided + absorbed
azimuthal, escape + guided + absorbed
axial, escape + guided + absorbed
radial azimuthal axial total (PyStratify) escape + guided + absorbed
Source Source type Magnetic point dipole
λ [nm] 600
r min [nm] 105
r max [nm] 405
r step [nm] 10
Cross section m R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side m R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section m R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side m R 100 nm r 150 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Magnetic dipole Label Material n k Thickness [nm] C Core const 1.5 0 50 1 Absorber const 0.2 3 50 H Air const 1 0 ∞
the total rate against escape + guided, through a lossless guide
Open in calculator →
0 20 40 60 80 0 0.2 0.4 0.6 0.8 distance from the axis [nm] Γ / Γ₀
total, PyStratify
escape
guided
escape + guided
total, PyStratify escape guided escape + guided
Source Source type Electric point dipole
λ [nm] 600
r min [nm] 0
r max [nm] 95
r step [nm] 5
Cross section p R 100 nm r 50 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 100 nm r 50 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 100 nm r 50 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 100 nm r 50 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Guide const 1.5 0 100 H Air const 1 0 ∞
asked for 1e-9, the grazing error is charged and reported, not hidden
Open in calculator →
400 450 500 550 600 650 700 10⁻⁷ 10⁻⁶ 10⁻⁵ 10⁻⁴ λ [nm] error in Γ / Γ₀
grazing error charged, PyStratify
total error reported, PyStratify
1e-9 × max Γ / Γ₀, the accuracy asked for
grazing error charged total error reported 1e-9 × max Γ / Γ₀, the accuracy asked for
Source Source type Electric point dipole
Offset from origin · r [nm] 15
λ min [nm] 400
λ max [nm] 700
λ step [nm] 20
Cross section p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Metal wire const 0.97 1.87 10 H Air const 1 0 ∞
TE₀₁, TM₀₁ and HE₁₁ against the fibre's dispersion relations
Open in calculator →
0.26 0.28 0.3 0.32 0.34 0.36 0.38 1 1.2 1.4 1.6 1.8 2 λ [µm] n eff
TE₀₁, PyStratify
TM₀₁, PyStratify
HE₁₁, PyStratify
TE₀₁, dispersion relation
TM₀₁, dispersion relation
TE₀₁ TM₀₁ HE₁₁ PyStratify dispersion relation
Source λ min [nm] 250
λ max [nm] 380
λ step [nm] 5
Cross section p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Fibre const 2 0 150 H Air const 1 0 ∞
rates stay smooth through the TE₀₁/TM₀₁ cutoff
Open in calculator →
0.62 0.64 0.66 0.68 0.7 0.72 0.74 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 λ [µm] Γ / Γ₀
radial, total (PyStratify)
azimuthal, total (PyStratify)
axial, total (PyStratify)
radial, guided (PyStratify)
azimuthal, guided (PyStratify)
axial, guided (PyStratify)
radial, escape + guided
azimuthal, escape + guided
axial, escape + guided
radial, total (PyStratify) azimuthal, total (PyStratify) axial, total (PyStratify) radial, guided (PyStratify) azimuthal, guided (PyStratify) axial, guided (PyStratify) radial, escape + guided, every 0.005 µm azimuthal, escape + guided, every 0.005 µm axial, escape + guided, every 0.005 µm
Source Source type Electric point dipole
Offset from origin · r [nm] 250
λ min [nm] 620
λ max [nm] 740
λ step [nm] 2.5
Cross section p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 150 nm r 250 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Fibre const 2 0 150 H Air const 1 0 ∞
the error charged at the grazing caps against moving the guard
Open in calculator →
400 450 500 550 600 650 700 10⁻⁶ 10⁻⁵ 10⁻⁴ λ [nm] error in Γ / Γ₀
grazing error charged, PyStratify
|PyStratify − guard moved to 3e-6|
grazing error charged |PyStratify − guard moved to 3e-6| PyStratify
Source Source type Electric point dipole
Offset from origin · r [nm] 15
λ min [nm] 400
λ max [nm] 700
λ step [nm] 20
Cross section p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side p R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Electric dipole Label Material n k Thickness [nm] C Metal wire const 0.97 1.87 10 H Air const 1 0 ∞
the error charged at the grazing caps against moving the guard
Open in calculator →
400 450 500 550 600 650 700 10⁻⁷ 10⁻⁶ 10⁻⁵ 10⁻⁴ λ [nm] error in Γ / Γ₀
grazing error charged, PyStratify
|PyStratify − guard moved to 3e-6|
grazing error charged |PyStratify − guard moved to 3e-6| PyStratify
Source Source type Magnetic point dipole
Offset from origin · r [nm] 15
λ min [nm] 400
λ max [nm] 700
λ step [nm] 20
Cross section m R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side m R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Cross section m R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z Side m R 10 nm r 15 nm ⊥ radial ⊥ ∥φ azimuthal ∥ φ ∥z axial ∥ z
Cylinder · Magnetic dipole Label Material n k Thickness [nm] C Metal wire const 0.97 1.87 10 H Air const 1 0 ∞