Nonlinear Phase shifts#

class lasy.propagators.NonlinearKerrStep(n2, k0)[source]#

Class that represents a propagation step with Kerr nonlinearity.

This allows to calculate spectral broadening or self-focusing due to self phase modulation.

\[E (x,y,t) = E(x,y,t) \times \exp(i\,n_2\,k_0\,I(x,y,t))\]

where \(I(x,y,t)\) is the intensity profile of the pulse.

Parameters:
n2float

Nonlinear (intensity dependent) refractive index.

k0float

Wave vector at the carrier frequency.

apply(grid_in, distance, grid_out=None, n2=None, k0=None)[source]#

Apply intensity dependent phase shift to the field.

Parameters:
gridGrid

Input grid to which the phase shift is applie.

distancefloat

Distance over which the pulse propagates the field.

grid_outGrid, optional

Grid object on which the laser pulse after applying the phase is defined. Can be different from laser grid before applying.

update(n2, k0)[source]#

Update the nonlinear refractive index and/or the wave vector.

Parameters:
n2float

Nonlinear (intensity dependent) refractive index.

k0float

Wave vector at the carrier frequency.