Speckled Laser Profile#

class lasy.profiles.SpeckleProfile(wavelength, pol, laser_energy, focal_length, beam_aperture, n_beamlets, temporal_smoothing_type, relative_laser_bandwidth, ssd_phase_modulation_amplitude=None, ssd_number_color_cycles=None, ssd_transverse_bandwidth_distribution=None, do_include_transverse_envelope=False)[source]#

Class for the profile of a speckled laser pulse.

Speckled lasers are used to mitigate laser-plasma interactions in fusion and ion acceleration contexts. More on the subject can be found in chapter 9 of P. Michel, Introduction to Laser-Plasma Interactions. A speckled laser beam is a laser that is deliberately divided transversely into \(N_{bx}\times N_{by}\) beamlets in the near-field. The phase plate provides a different phase to each beamlet, with index \(ml\), which then propagate to the far field and combine incoherently.

The electric field in the focal plane, as a function of time \(t\) and the coordinates \(\boldsymbol{x}_\perp=(x,y)\) transverse to the direction of propagation, is:

\[\begin{split}\begin{aligned} E_u(\boldsymbol{x}_\perp,t) &= Re\left[ E_0 {\rm sinc}\left(\frac{\pi x}{\Delta x}\right) {\rm sinc}\left(\frac{\pi y}{\Delta y}\right)\times p_u \right. \\ & \times\sum_{m,l=1}^{N_{bx}, N_{by}} A_{ml} \exp\left(i\boldsymbol{k}_{\perp ml}\cdot\boldsymbol{x}_\perp + i\phi_{{\rm RPP/CPP},ml}+i\psi_{{\rm SSD},ml}(t)\right) \Bigg] \end{aligned}\end{split}\]

where \(u\) is either \(x\) or \(y\), \(p_u\) is the polarization vector, and \(Re\) represent the real part [Michel, Eqns. 9.11, 87, 94]. Several quantities are computed internally to the code depending on the method of smoothing chosen, including the beamlet amplitude \(A_{ml}\), the beamlet wavenumber \(k_{\perp ml}\), the relative phase contribution \(\phi_{{\rm RPP/CPP},ml}\) of beamlet \(ml\) induced by the phase plate, and the phase contribution to beamlet \(ml\), \(\psi_{{\rm SSD},ml}(t)\), from the temporal smoothing. The beam widths are \(\Delta x=\frac{\lambda_0fN_{bx}}{D_{x}}\), \(\Delta y=\frac{\lambda_0fN_{by}}{D_{y}}\). The other parameters in these formulas are defined below.

This profile admits several options for calculating the amplitudes and phases of the beamlets:

  • Random phase plates (RPP), 'RPP':

    Here the phase plate contribution to the phase of beamlet \(ml\) is \(\phi_{{\rm RPP},ml}\in\{0,\pi\}\) (drawn randomly for each \(m,l\)), \(\psi_{{\rm SSD},ml}(t)=0\), and \(A_{ml}=1\)

  • Continuous phase plates (CPP), 'CPP':

    \(\phi_{{\rm CPP},ml}\in[0,\pi]\) (drawn randomly with uniform probability between \(0\) and \(\pi\), for each \(m,l\)), \(\psi_{{\rm SSD},ml}(t)=0\), and \(A_{ml}=1\)

  • CPP + Smoothing by spectral dispersion (SSD), 'FM SSD':

    \(\phi_{{\rm CPP},ml}\in[0,\pi]\) (drawn randomly with uniform probability between \(0\) and \(\pi\), for each \(m,l\)),

    \[\begin{split}\begin{aligned} \psi_{{\rm SSD},ml}(t)&=\delta_{x} \sin\left(\omega_{x} t + 2\pi\frac{mN_{cc,x}}{N_{bx}}\right)\\ &+\delta_{y} \sin\left(\omega_{y} t + 2\pi\frac{lN_{cc,y}}{N_{by}}\right), \end{aligned}\end{split}\]

    and \(A_{ml}=1\). The modulation frequencies \(\omega_x,\omega_y\) are determined by the laser bandwidth and modulation amplitudes by the relation

    \[\omega_x = \frac{\Delta_\nu r }{2\delta_x}\]

    where \(\Delta_\nu\) is the relative bandwidth of the laser pulse and \(r\) is an additional rotation factor supplied by the user that determines how much of the modulation is in x and how much is in y. [Michel, Eqn. 9.69]

  • Gaussian Process Randomly phase-modulated SSD, 'GP RPM SSD':

    CPP + a generalization of SSD that has temporal stochastic variation in the beamlet phases; that is, \(\phi_{{\rm CPP},ml}\in[0,\pi]\), \(\psi_{{\rm SSD},ml}(t)\) is sampled from a Gaussian stochastic process, and \(A_{ml}=1\)

  • Induced spatial incoherence (ISI), 'GP ISI':

    a smoothing technique with temporal stochastic variation in the beamlet phases and amplitudes; that is, \(\phi_{{\rm CPP},ml}=0\), \(\psi_{{\rm SSD},ml}(t)=0\), and the \(A_{ml}\) are complex amplitudes sampled from a Gaussian stochastic process to simulate the random phase differences and amplitudes the beamlets pick up when passing through the ISI echelons

This is an adapation of work by Han Wen to LASY.

Parameters:
wavelengthfloat (in meters)

The main laser wavelength \(\lambda_0\) of the laser, which defines \(\omega_0\) in the above formula, according to \(\omega_0 = 2\pi c/\lambda_0\).

pollist of 2 complex numbers (dimensionless)

Polarization vector. It corresponds to \(p_u\) in the above formula ; \(p_x\) is the first element of the list and \(p_y\) is the second element of the list. Using complex numbers enables elliptical polarizations.

laser_energyfloat (in Joules)

The total energy of the laser pulse. The amplitude of the laser field (\(E_0\) in the above formula) is automatically calculated so that the pulse has the prescribed energy.

focal_lengthfloat (in meters)

Focal length of lens \(f\) just after the RPP/CPP.

beam_aperturelist of 2 floats (in meters)

Widths \(D_x,D_y\) of the rectangular beam in the near-field, i.e., size of the illuminated region of the RPP/CPP.

n_beamletslist of 2 integers

Number of RPP/CPP elements \(N_{bx},N_{by}\) in each direction, in the near field.

temporal_smoothing_typestring

Which method for beamlet production and evolution is used. Can be 'RPP', 'CPP', 'FM SSD', 'GP RPM SSD', or 'GP ISI'. (See the above bullet list for an explanation of each of these methods.)

relative_laser_bandwidthfloat

Bandwidth \(\Delta_\nu\) of the laser pulse, relative to central frequency. Only used if temporal_smoothing_type is 'FM SSD', 'GP RPM SSD' or 'GP ISI'.

ssd_phase_modulation_amplitude :list of 2 floats

Amplitudes \(\delta_{x},\delta_{y}\) of phase modulation in each transverse direction. Only used if temporal_smoothing_type is 'FM SSD' or 'GP RPM SSD'.

ssd_number_color_cycleslist of 2 floats

Number of color cycles \(N_{cc,x},N_{cc,y}\) of SSD spectrum to include in modulation Only used if temporal_smoothing_type is 'FM SSD' or 'GP RPM SSD'.

ssd_transverse_bandwidth_distribution: list of 2 floats

Determines how much SSD is distributed in the \(x\) and \(y\) directions. if ssd_transverse_bandwidth_distribution=[a,b], then the SSD frequency modulation is \(a/\sqrt{a^2+b^2}\) in \(x\) and \(b/\sqrt{a^2+b^2}\) in \(y\). Only used if temporal_smoothing_type is 'FM SSD' or 'GP RPM SSD'.

do_include_transverse_envelopeboolean, (optional, default False)

Whether to include the transverse sinc envelope or not. I.e. whether it is assumed to be close enough to the laser axis to neglect the transverse field decay.

Notes

This assumes a flat-top rectangular laser and so a rectangular arrangement of beamlets in the near-field.