API reference#
One page per public module, class and function, generated from the docstrings. The user guide explains how the objects fit together; this reference describes their arguments, defaults, units, return values and errors. Quantities are in SI units unless a docstring says otherwise.
Stability. solprop is at 0.x: a minor release may change the API, and every such
change is listed under “Changed (breaking)” in the changelog.
solprop.translate, solprop.backends and the internals of
solprop.output are for developers and change without notice.
For interactive work, solprop.sol gathers the names a session needs behind one
import (import solprop.sol as sol; see the interactive namespace).
In scripts and library code, import from the home modules listed below.
Find an interface by task#
Setting up and running a simulation
module |
what it holds |
|---|---|
the entry points |
|
time and frequency grids ( |
|
initial pulses: |
|
quantities that vary along z: radius, pressure and temperature profiles such as |
|
the steady gas flow of a pressure gradient: |
|
absorbing boundaries in time and frequency |
|
the Runge–Kutta tableaux, the low-call Adams methods ( |
|
shot-noise realisations |
|
recipes: a run written as TOML ( |
|
the route defaults in one table ( |
|
parameter scans and where their points run (scans and executors) |
The physics
module |
what it holds |
|---|---|
waveguide modes: Marcatili capillary modes and the |
|
the nonlinear responses — Kerr, Raman, plasma and ionisation — and the mode-averaged GNLSE |
|
frozen helium TDSE physics, calibration, sampling and execution declarations, the haCC basis, the atomic window and the consistency policy (the TDSE response) |
|
atomic preset resolution ( |
|
the haCC weak-field consistency check ( |
|
bulk media and free-space (radial, Cartesian, line) propagation, with the spatial measures of a beam |
|
the real-index path certificate for a medium that varies along z: |
|
the linear operator: dispersion, loss and the moving frame |
|
material data: gases and mixtures (species data), glasses and metals, refractive indices, nonlinear, Raman, ionisation and transport data |
|
Jones optics and the description of transverse polarisation |
|
the Fourier conventions and transforms, and the radial (Hankel) transform |
|
physical constants in SI units |
Reading and using the results
module |
what it holds |
|---|---|
the in-memory and HDF5 output handlers, the run’s metadata record, |
|
post-processing of a saved run: fields, spectra, pulse metrics, coherence, compression, the physical fields of a general modal run, and |
|
coupling simulations through a field plane: |
|
the statistics recorded at the saved planes, and |
|
the standard figures: propagation maps, slices, spectrograms, statistics; and the cross-section of a guide or grid ( |
|
linear optics applied to a pulse outside a propagation: materials, chirped mirrors, grating and prism pairs |
|
design calculators: soliton numbers, dispersive-wave phase matching, nonlinear lengths |
Session, logging and errors
module |
what it holds |
|---|---|
the interactive namespace |
|
logging and progress reporting ( |
|
every error and warning solprop raises, under |
|
the |
|
the command-line launcher of a scan script |
Internals. solprop.translate turns the physics objects into the kernel problem
a backend executes, and solprop.backends holds the in-tree reference backend (numpy_ref),
and the registry that selects a backend by name. They
are documented for developers and backend authors rather than for everyday use; the
design behind both is in the developer documentation.
Complete generated reference#
Ultrafast nonlinear pulse propagation. |
The loss specification and the evanescent floor#
Every gas-filled hollow mode — the capillary’s MarcatiliMode, the rectangular
RectMode, the planar SlabMode and the antiresonant modes — takes its loss= in one
vocabulary, LossSpec, and its full model floors the real part of the effective index
at EVANESCENT_INDEX_FLOOR far below the band, where the square root would otherwise
turn evanescent. Both are defined in solprop.modes.fill and are also importable
from solprop.modes.capillary and solprop.modes; they are documented here
under both module paths.
- solprop.modes.fill.LossSpec = bool | float | collections.abc.Callable[[jaxtyping.Float[ndarray, 'n_omega']], jaxtyping.Float[ndarray, 'n_omega']]#
Specify the model loss of any mode that mixes in
GasFillMixin.The vocabulary is documented on
MarcatiliMode, which shares it withRectMode.
- solprop.modes.fill.EVANESCENT_INDEX_FLOOR: Final = 0.001#
Smallest real effective index the full model will return.
Far below the band the square root turns evanescent and
Re n_effruns to zero, which makes the mode-averaged prefactor1 / n_effblow up. The real part is floored at 1e-3, and the derivative is reported as zero where the floor binds because the floored value is constant. The reduced model has no floor.
- solprop.modes.capillary.LossSpec = bool | float | collections.abc.Callable[[jaxtyping.Float[ndarray, 'n_omega']], jaxtyping.Float[ndarray, 'n_omega']]#
Represent a union type
E.g. for int | str
- solprop.modes.capillary.EVANESCENT_INDEX_FLOOR = 0.001#
Convert a string or number to a floating-point number, if possible.