Custom z-profile n(x,y,z)
Define an arbitrary refractive-index profile that varies along z. Enter a JS expression returning the TOTAL index at coordinates (x,y,z) in µm. Variables: x, y, z, p (z = propagation distance 0…L, p.nClad/p.nCore/p.coreW…). When non-empty it overrides the device geometry and rebuilds every step. Examples: p.nClad + (p.nCore-p.nClad)*Math.exp(-(x*x)/(w*z/100+1)**2) (z-widening guide) or a step-index rectangle. Leave empty to use the Device selector above.
n(x,y,z) expression
Load taper example
Clear
Analysis
Number of modes (1–6)
View mode
— run Mode Solver first —
Launch→mode coupling η : —
S-parameters (4-port)
Full S-matrix over all ports (inputs first, then outputs). Forward BPM gives the transmission block; a first-Born bidirectional BPM adds the diagonal reflections S11/S22/… from back-scatter off ∂n/∂z. |S|² = fractional power, IL = −10·log₁₀|S|², ∠ = phase. Straight guides reflect ≈0; tapers / y-branches / MMIs show real Fresnel reflection.
Output coupling & radiation
After a 2D BPM run the output near-field at z=L is Fourier-transformed to the angular far-field (NFFF), then overlapped with a Gaussian SMF mode to give fiber coupling efficiency η and insertion loss IL.
Fiber MFD (1/e², µm)
Compute coupling
Coupling η : —
Insertion loss : — dB
Half-angle : —
Peak angle : —
Substrate leakage : —
Export Touchstone .sNp
Multimode coupled BPM
Coupled-mode BPM: each of N guided modes carries its own β_m, and a linear coupling matrix κ sloshes power between modes (directional coupler / mode converter).
Mode count N (2–6)
Coupling κ (1/mm)
Launch
Gaussian (all modes)
Mode 1 (fund.)
Mode 2
Mode 3
Mode 4
Mode 5
Mode 6
Run multimode BPM
Active tuning (EO/TO)
Electro-optic / thermo-optic phase shift. The induced Δn = dnTune + (dn/dT)·ΔT + (dn/V)·V is applied to the active region; the readout reports the effective-index shift Δn_eff and the accumulated phase Δφ = k₀·Δn_eff·L (and Vπ for an MZI).
Compute tuning response
Δn_eff (induced) : —
Phase shift Δφ : —
Vπ (MZI) : —
Switch state : —
Linear EO/TO model (Δn_eff ∝ Δn). For MZI the arm phase shift sets the bar/cross state.
Physics diagnostics
Characteristic lengths and regime classification, updated live from the pulse parameters above.
—
Analysis & tools
Cross-section inspector, parameter sweeps, 3D evolution surface, saved-case library and enhanced export.
Cross-section inspector
Click the evolution map above to pick a propagation distance z; the full |u(t)|² and |û(ν)|² profiles at that z are drawn here.
◀ z−
z+ ▶
z = —
Parameter sweep heatmap
Peak output power over a (P₀, β₂) grid centred on the current values. Colour = peak |u|² (W) at z=L.
Run sweep (P₀,β₂)
Metric
Peak power
Spectral width
Compression
3D evolution surface
|u(t,z)|² rendered as a rotatable 3D surface. Drag to rotate.
Render 3D
Auto-rotate
Saved-case library
Name and store multiple runs (beyond A/B), restore or delete them. Stored locally in this browser.
Save current
Clear all
Enhanced export
Frames .npy
Plots PNG
Templates
Load device template
— choose —
SOI strip waveguide
Si₃N₄ MMI 1×2
SOI directional coupler
MZI modulator
Taper (mode converter)
S-bend router
Rib waveguide (low contrast)
SOI 50/50 Y-branch
Tight coupler (3 dB)
LiNbO₃ MZI modulator
AlGaAs nanowire (high-γ soliton)
Chalcogenide Raman soliton
PM fiber vector soliton
Multimode fiber (coupled)
Spatio-Temporal MI (slab)
Local presets
Save the current setup under a name and restore it later. Stored locally in this browser (separate from the JSON file export).
Save current
Apply
Delete
Run
Stop
Mode Solver
S-parameters
Reset
Export PNG
Export CSV
Export GIF