Polynomial spectral phase#

class lasy.optical_elements.PolynomialSpectralPhase(omega0, delay=0, gdd=0, tod=0, fod=0)[source]#

Class for an optical element that adds spectral phase (e.g. a dazzler).

The amplitude multiplier corresponds to:

\[T(\omega) = \exp(i(\phi(\omega)))\]

where \(\phi(\omega)\) is the spectral phase given by:

\[\phi(\omega) = \text{delay} (\omega - \omega_0) + \frac{\text{GDD}}{2!} (\omega - \omega_0)^2 + \frac{\text{TOD}}{3!} (\omega - \omega_0)^3 + \frac{\text{FOD}}{4!} (\omega - \omega_0)^4\]

The other parameters in this formula are defined below.

Parameters:
omega0float (in rad/s)

Central angular frequency about which the polynomial is expanded

delayfloat (in s), optional

Group delay (by default: delay=0). Positive value delays the pulse, i.e. it arrives at a later time

gddfloat (in s^2), optional

Group Delay Dispersion (by default: gdd=0). gdd > 0 corresponds to a positive chirp, i.e. the low-frequency part of the spectrum arriving earlier than the high-frequency part of the spectrum.

todfloat (in s^3), optional

Third-order Dispersion (by default: tod=0). For a Gaussian pulse, adding a positive TOD (tod > 0) results in the apparition of post-pulses, i.e. lower intensity pulses arriving after the main pulse.

fodfloat (in s^4), optional

Fourth-order Dispersion (by default: fod=0).

amplitude_multiplier(x, y, omega)[source]#

Return the amplitude multiplier.

Parameters:
x, y, omegandarrays of floats

Define points on which to evaluate the multiplier. These arrays need to all have the same shape.

Returns:
multiplierndarray of complex numbers

Contains the value of the multiplier at the specified points. This array has the same shape as the array omega.