NLSE#

class pynlo.model.NLSE(pulse, mode)[source]#

Bases: Model

A model for simulating single-mode pulse propagation with the nonlinear Schrödinger equation (NLSE).

This model only implements the 3rd-order Kerr and Raman effects. It does not in general support 3rd-order sum- and difference-frequency generation.

Parameters:
pulsePulse

The input pulse.

modeMode

The optical mode in which the pulse propagates.

See also

Model

Documentation of simulate() and other inherited methods.

Methods#

propagate(a_v, z, z_stop, dz, local_error[, ...])

Propagate the given pulse spectrum from z to z_stop using an adaptive step size algorithm.

nonlinear_operator(a_v)

The action of the nonlinear operator on the given pulse spectrum.

update_linearity([force_update])

Update all z-dependent linear parameters.

update_nonlinearity([force_update])

Update all z-dependent nonlinear parameters.