FlattenedGaussianPulse#
- class wake_t.physics_models.laser.laser_pulse.FlattenedGaussianPulse(xi_c, a_0, w_0, tau, N=6, z_foc=0.0, l_0=8e-07, cep_phase=0.0, polarization='linear')[source]#
Class defining a flattened Gaussian pulse.
The laser pulse is defined such that the transverse intensity profile is a flattened Gaussian far from focus, and a distribution with rings in the focal plane. (See Santarsiero et al., J. Modern Optics, 1997) Increasing the parameter
Nincreases the flatness of the transverse profile far from focus, and increases the number of rings in the focal plane.- Parameters:
- xi_cfloat
Initial central position of the pulse along xi in units of m.
- a_0: float
The peak normalized vector potential at the focal plane.
- w_0float
Spot size of the laser pulse, in units of m, at the focal plane.
- taufloat
Longitudinal pulse length (FWHM in intensity) in units of s.
- Nint, optional
Determines the “flatness” of the transverse profile, far from focus. Default:
N=6; somewhat close to an 8th order supergaussian.- z_focfloat, optional
Focal position of the pulse.
- l_0float, optional
Laser wavelength in units of m. By default, a Ti:Sa laser with l_0=0.8e-6 is assumed.
- cep_phasefloat, optional
The Carrier Envelope Phase (CEP) in radian. This is the phase of the laser oscillation at the position where the envelope is maximum.
- polarizationstr, optional
Polarization of the laser pulse. Accepted values are ‘linear’ (default) or ‘circular’.
Methods
envelope_function(xi, r, z_pos)Return the complex envelope of the laser pulse.
evolve(chi, n_p)Evolve laser envelope to next time step.
Get the current laser envelope array.
get_group_velocity(n_p)Get group velocity of the laser pulse for a given plasma density.
Initialize laser envelope arrays.
set_envelope_solver_params(xi_min, xi_max, ...)Set the parameters for the laser envelope solver.