solprop#

Ultrafast nonlinear pulse propagation.

solprop models ultrafast pulse propagation with the unidirectional pulse propagation equation (UPPE) and the generalised nonlinear Schrödinger equation (GNLSE), for the full electric field or a complex envelope, in one mode, in many modes of a waveguide and in radial or Cartesian free space. The design is described under docs/dev/ and the manual under docs/.

The package installs a logging.NullHandler; call solprop.log.configure_logging() from a script to see progress and diagnostics.

Every submodule is an attribute of the package – solprop.grid, solprop.driver, solprop.plotting – loaded on first access (PEP 562), so dir(solprop) and tab completion list them while import solprop stays within its import-time budget: the modules that pull in h5py, matplotlib or a compiled backend are not imported until they are used.

Modules

adiabatic

Certify adiabatic forward transport through a real index that varies along z.

backends

Execution backends behind one seam.

boundaries

Absorbing boundaries as absorption rates per unit distance.

constants

Physical constants in SI units.

coupling

Couple simulations through a coherent field at a reference plane (SEP 31).

driver

The simulation driver: physics objects in, a written run out.

exceptions

The exception and warning hierarchies.

fourier

Fourier conventions, transforms, oversampling and energy functionals.

gasflow

Steady gas flow in a hollow fibre: the fill, the choked end and the flow regime.

grid

Time and frequency grids for field-resolved and envelope propagation.

hankel

Transform an axisymmetric field with the raw order-zero QDHT.

linear

Assembly of the linear operator D(omega, z).

log

Logging and progress reporting.

modes

Waveguide modes.

noise

Shot-noise realisations: one photon per mode per frequency bin.

nonlinear

Nonlinear responses and their models.

optics

Linear optical elements applied to a pulse outside a propagation.

output

Output handlers and the metadata schema.

physdata

Material data.

plotting

Standard plots of propagation results with matplotlib.

polarisation

Construct Jones optics and describe transverse polarisation in the optics convention.

processing

Post-processing of saved runs.

profiles

Scalar paths along the propagation axis, with breakpoints and derivatives.

pulses

Initial pulses on either grid: shape, exact scaling and the user's spectral phase.

scan

Launch an explicitly selected scan script without evaluating CLI expressions.

sol

The session namespace: everything a person types at a prompt, behind one import.

spatial

Describe bulk media and exact longitudinal propagation of spatial fields.

stats

The catalogue of plane statistics, with one definition of each.

stepper

The integrators, Runge-Kutta tableaux, the step controller and step schedules.

tools

Design calculators: soliton numbers and dispersive-wave phase matching.

translate

The translation layer.