Few-cycle profile

class fbpic.lpa_utils.laser.FewCycleLaser(a0, waist, tau_fwhm, z0, zf=None, theta_pol=0.0, lambda0=8e-07, cep_phase=0.0, propagation_direction=1)[source]

When a laser pulse is so short that it contains only a few laser cycles, the standard Gaussian profile GaussianLaser is not well-adapted. This is because GaussianLaser neglects the fact that different frequencies focus in different ways. In particular, when initializing a GaussianLaser (with a short duration \(\tau\)) out of focus, the profile at focus will not be the expected one.

Instead, the FewCycleLaser profile overcomes this limitation. The electric field for this profile is given by (see Caron & Potvilege, Journal of Modern Optics 46, 1881 (1999)):

\[E(\boldsymbol{x},t) = Re\left[ a_0\times E_0\, e^{i\phi_{cep}} \frac{i Z_R}{q(z)} \left( 1 + \frac{ik_0}{s}\left(z-z_0-ct+ \frac{r^2}{2q(z)}\right)\right)^{-(s+1)} \right]\]

where \(k_0 = 2\pi/\lambda_0\) is the wavevector, \(E_0 = m_e c^2 k_0 / q_e\) is the field amplitude for \(a_0=1\), \(Z_R = k_0 w_0^2/2\) is the Rayleigh length, \(q(z) = z-z_f + iZ_R\), and where \(s\) controls the duration of the pulse and is given by:

\[\omega_0 \tau_{FWHM} = s\sqrt{2(4^{1/(s+1)}-1)}\]

Note

In the case of \(\omega_0 \tau_{FWHM} \gg 1\) (i.e. many laser cycles within the envelope), the above expression approaches that of a standard Gaussian laser pulse, and thus the FewCycleLaser profile becomes equivalent to the GaussianLaser profile (with \(\tau_{FWHM} = \sqrt{2\log(2)}\tau\)).

Parameters:
  • a0 (float (dimensionless)) – The peak normalized vector potential at the focal plane, defined as \(a_0\) in the above formula.

  • waist (float (in meter)) – Laser waist at the focal plane, defined as \(w_0\) in the above formula.

  • tau_FWHM (float (in second)) – The full-width half-maximum duration of the envelope intensity (in the lab frame), defined as \(\tau_{FWHM}\) in the above formula.

  • z0 (float (in meter)) – The initial position of the centroid of the laser (in the lab frame), defined as \(z_0\) in the above formula.

  • zf (float (in meter), optional) – The position of the focal plane (in the lab frame). If zf is not provided, the code assumes that zf=z0, i.e. that the laser pulse is at the focal plane initially.

  • theta_pol (float (in radian), optional) – The angle of polarization with respect to the x axis.

  • lambda0 (float (in meter), optional) – The wavelength of the laser (in the lab frame), defined as \(\lambda_0\) in the above formula. Default: 0.8 microns (Ti:Sapph laser).

  • cep_phase (float (in radian), optional) – The Carrier Enveloppe Phase (CEP), defined as \(\phi_{cep}\) in the above formula (i.e. the phase of the laser oscillation, at the position where the laser enveloppe is maximum)

  • propagation_direction (int, optional) – Indicates in which direction the laser propagates. This should be either 1 (laser propagates towards positive z) or -1 (laser propagates towards negative z).