Consistency checks

← Verification · Cylinders · Point dipole

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.

Index-matched cylinder

a matched cylinder is no cylinder: Γ/Γ₀ = 1 everywhere

Open in calculator
05010015020025030010⁻¹⁷10⁻¹⁶10⁻¹⁵distance from the axis [nm]|Γ / Γ₀ − 1|
electric dipole, max over orientations, PyStratify magnetic dipole, max over orientations, PyStratify
electric dipole, max over orientationsmagnetic dipole, max over orientations

Source

Source typeElectric and magnetic dipoles
λ [nm]600
r min [nm]0
r max [nm]300
points32
Cross sectionpR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CCylinderconst1.50100
HHostconst1.50∞

Absorbing coating, electric dipole

the total rate against escape + guided + absorbed

Open in calculator
15020025030035040010⁻¹11010²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
radialazimuthalaxialtotal (PyStratify)escape + guided + absorbed

Source

Source typeElectric point dipole
λ [nm]600
r min [nm]105
r max [nm]405
r step [nm]10
Cross sectionpR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CCoreconst1.5050
1Absorberconst0.2350
HAirconst10∞

Absorbing coating, magnetic dipole

the total rate against escape + guided + absorbed

Open in calculator
15020025030035040010⁻¹110distance 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
radialazimuthalaxialtotal (PyStratify)escape + guided + absorbed

Source

Source typeMagnetic point dipole
λ [nm]600
r min [nm]105
r max [nm]405
r step [nm]10
Cross sectionmR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidemR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionmR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidemR 100 nmr 150 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Magnetic dipole

LabelMaterialnkThickness [nm]
CCoreconst1.5050
1Absorberconst0.2350
HAirconst10∞

Lossless guide

the total rate against escape + guided, through a lossless guide

Open in calculator
02040608000.20.40.60.8distance from the axis [nm]Γ / Γ₀
total, PyStratify escape guided escape + guided
total, PyStratifyescapeguidedescape + guided

Source

Source typeElectric point dipole
λ [nm]600
r min [nm]0
r max [nm]95
r step [nm]5
Cross sectionpR 100 nmr 50 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 100 nmr 50 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 100 nmr 50 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 100 nmr 50 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CGuideconst1.50100
HAirconst10∞

Metal wire at grazing

asked for 1e-9, the grazing error is charged and reported, not hidden

Open in calculator
40045050055060065070010⁻⁷10⁻⁶10⁻⁵10⁻⁴λ [nm]error in Γ / Γ₀
grazing error charged, PyStratify total error reported, PyStratify 1e-9 × max Γ / Γ₀, the accuracy asked for
grazing error chargedtotal error reported1e-9 × max Γ / Γ₀, the accuracy asked for

Source

Source typeElectric point dipole
Offset from origin · r [nm]15
λ min [nm]400
λ max [nm]700
λ step [nm]20
Cross sectionpR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CMetal wireconst0.971.8710
HAirconst10∞

Fibre modes

TE₀₁, TM₀₁ and HE₁₁ against the fibre's dispersion relations

Open in calculator
0.260.280.30.320.340.360.3811.21.41.61.82λ [µm]neff
TE₀₁, PyStratify TM₀₁, PyStratify HE₁₁, PyStratify TE₀₁, dispersion relation TM₀₁, dispersion relation
TE₀₁TM₀₁HE₁₁PyStratifydispersion relation

Source

Source typeGuided modes
λ min [nm]250
λ max [nm]380
λ step [nm]5
Cross sectionpR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CFibreconst20150
HAirconst10∞

Fibre cutoff

rates stay smooth through the TE₀₁/TM₀₁ cutoff

Open in calculator
0.620.640.660.680.70.720.7400.20.40.60.811.21.41.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 µmazimuthal, escape + guided, every 0.005 µmaxial, escape + guided, every 0.005 µm

Source

Source typeElectric point dipole
Offset from origin · r [nm]250
λ min [nm]620
λ max [nm]740
λ step [nm]2.5
Cross sectionpR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 150 nmr 250 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CFibreconst20150
HAirconst10∞

Grazing caps, electric dipole

the error charged at the grazing caps against moving the guard

Open in calculator
40045050055060065070010⁻⁶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 typeElectric point dipole
Offset from origin · r [nm]15
λ min [nm]400
λ max [nm]700
λ step [nm]20
Cross sectionpR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionpR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidepR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Electric dipole

LabelMaterialnkThickness [nm]
CMetal wireconst0.971.8710
HAirconst10∞

Grazing caps, magnetic dipole

the error charged at the grazing caps against moving the guard

Open in calculator
40045050055060065070010⁻⁷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 typeMagnetic point dipole
Offset from origin · r [nm]15
λ min [nm]400
λ max [nm]700
λ step [nm]20
Cross sectionmR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidemR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
Cross sectionmR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z
SidemR 10 nmr 15 nm⊥ radial⊥∥φ azimuthal∥φ∥z axial∥z

Cylinder · Magnetic dipole

LabelMaterialnkThickness [nm]
CMetal wireconst0.971.8710
HAirconst10∞