Lasers

EPOCH can support laser sources on the boundaries, with a wide array of spatial and temporal profiles. These examples provide basic input decks for simulating lasers in vacuum. General documentation on the EPOCH laser block can be found here.

Simple plane wave

This input deck provides the most basic form of laser. We use uniform spatial and temporal profiles, and inspect the Poynting flux in the simulation window. As a typical rule of thumb, allow 20 cells per wavelength to get a good resolution.

begin:control
    nx = 200
    ny = 400
    t_end = 100e-15
    x_min = 0
    x_max = 10e-6
    y_min = -10e-6
    y_max = 10e-6
    stdout_frequency = 100
end:control

begin:boundaries
    bc_x_min = simple_laser
    bc_x_max = open
    bc_y_min = open
    bc_y_max = open
end:boundaries

begin:laser
    boundary = x_min
    intensity_w_cm2 = 1.0e18
    lambda = 1.0e-6
end:laser

begin:output
    dt_snapshot = 10 * femto
    poynt_flux = always
end:output

Uniform laser

As we have specified a time-averaged intensity of $10^{18} \text{ Wcm}^{-2}$, we expect the Poytning flux to range 0 to $2\times 10^{18} \text{ Wcm}^{-2}$, which we can see here. Note that, because our laser profile reaches the $y_{min}$ and $y_{max}$ boundaries, some noise has been introduced here. In practice, these boundary effects are less of an issue, as simulations are expected to mainly deal with laser pulses.

Laser pulse

Using the maths parser, we can create a laser pulse which has a Gaussian profile in time and space for the intensity distribution, $I$:

$ I(y,t) \propto e^{-(y-y_0)^2/2\sigma_y^2} e^{-(t-t_0)^2/2\sigma_t^2}$

where we consider a 2D simulation with an $x$ propagating laser.

Let the full-width-at-half-maximum of the spatial and temporal profiles be 5 $\mu m$ and 40 fs respectively for the intensity $I$ distribution. The relationship between $\sigma$ and the $fwhm$ for a Gaussian distribution is:

$\sigma = \frac{fwhm}{2\sqrt{2 \ln(2)}}$

However, the profile keys in the laser block describe modifications to the boundary electric fields, $E$, and as $I \propto E^2$, the $E$ profile must satisfy

$ E(y,t) \propto e^{-((y-y_0)/2\sigma_y)^2} e^{-((t-t_0)/2\sigma_t)^2}$

The EPOCH maths parser provides a special gauss(x,x_0,w) command for use in the input.deck, which sets a profile of the form:

$e^{-(x-x_0)^2/w^2}$

Hence, we may use this gauss function to model the electric field profiles if we set

$w = \frac{fwhm}{\sqrt{2\ln(2)}}$

where $fwhm$ refers to the intensity distribution.

We can let the spatial profile peak at $y=0$. We don’t want the laser to peak at $t=0$, as this would ignore the rising intensity. Instead, let us start when the laser pulse is 10% of its maximum value - the half-width-at-10%-maximum, $hw0.1m$. For a Gaussian beam, this is:

$hw0.1m = \frac{fwhm}{2} \sqrt{\frac{\ln(10)}{\ln(2)}}$

begin:control
    nx = 700
    ny = 400
    t_end = 100e-15
    x_min = 0
    x_max = 35e-6
    y_min = -10e-6
    y_max = 10e-6
    stdout_frequency = 100
end:control

begin:boundaries
    bc_x_min = simple_laser
    bc_x_max = open
    bc_y_min = open
    bc_y_max = open
end:boundaries

begin:constant
    t_fwhm = 40.0e-15
    y_fwhm = 5.0e-6
    w_t = t_fwhm / sqrt(2*loge(2))
    w_y = y_fwhm / sqrt(2*loge(2))
    t_hw01m = 0.5 * t_fwhm * sqrt(loge(10)/loge(2))
end:constant

begin:laser
    boundary = x_min
    intensity_w_cm2 = 1.0e18
    lambda = 1.0e-6
    profile = gauss(y,0,w_y)
    t_profile = gauss(time,t_hw01m,w_t)
end:laser

begin:output
    dt_snapshot = 10 * femto
    poynt_flux = always
end:output

Uniform laser

Here we see that the laser $fwhm$ in $x$ and $y$ are 12 $\mu m$ and 5 $\mu m$ respectively, where the $x$ $fwhm$ corresponds to a temporal FWHM of 40 fs, as expected. Also, because there is little contact between the pulse and the boundaries, we do not have any numerical boundary disturbance.

Focussing a Gaussian Beam

A laser can be driven on the boundary so that it focusses on a given spot. Basic details of how to do this are here. To summarise, using the paraxial approximation, the electric fields for a $x$-propagating, $y$-polarised Gaussian beam take the form:

$\pmb{E}(r,x) = E_0 \frac{w_0}{w(x)} e^{-r^2/w(x)^2} e^{-i(kx + k\frac{r^2}{2R_c(x)}-\psi(x))} \hat{\pmb{y}}$

where

  • $r$ is the radial distance from the laser propagation axis
  • $x$ is axial distance along the wave, with $x=0$ at the focus
  • $E_0$ is the peak electric field amplitude at the focus
  • $w(x)$ is the beam-waist at $x$ (radial distance where field strength drops by $e^{-1}$)
  • $w_0$ is $w(x=0)$
  • $k$ is the laser wave-vector
  • $R_c(x)$ is the radius of curvature at $x$
  • $\psi(x)$ is the Gouy phase correction

If the fields on the simulation boundary are of this form, then the fields will propagate according to this equation, and a focal spot will be formed. Note that this propagation is only expected provided the paraxial approximation is satisfied. This implies that, for vacuum propagation, the laser wavelength, $\lambda$ is much smaller than the beam-waist: $\lambda « w_0$.

The following deck gives an example for a laser attached to x_min. Two constant blocks are provided: the first gives the user control over the focused laser properties, and the second derives variables to be used in the laser block. The user only needs to touch the first, which sets the intensity full-width-at-half-maximum (related to beam-waist), the peak, cycle-averaged intensity, the laser wave-length and the distance from the $x_{min}$ boundary to the focal point.

begin:control
    nx = 2400
    ny = 1200
    t_end = 100e-15
    x_min = 0
    x_max = 20e-6
    y_min = -5e-6
    y_max = 5e-6
    stdout_frequency = 100
end:control

begin:boundaries
    bc_x_min = simple_laser
    bc_x_max = open
    bc_y_min = open
    bc_y_max = open
end:boundaries

begin:constant
    I_fwhm = 2.0e-6          # FWHM of laser intensity
    I_peak_Wcm2 = 1.0e15     # 0.5 * eps0 * c * E_peak^2
    las_lambda = 1.0e-6      # Laser wavelength
    foc_dist = 5.0e-6        # Boundary to focal point distance
end:constant

begin:constant
    las_k = 2.0 * pi / las_lambda    
    w0 = I_fwhm / sqrt(2.0 * loge(2.0))                  # Beam Waist
    ray_rang = pi * w0^2 / las_lambda                    # Rayleigh range
    w_boundary = w0 * sqrt(1.0 + (foc_dist/ray_rang)^2)  # Waist on boundary
    I_boundary = I_peak_Wcm2 * (w0 / w_boundary)^2       # Intens. on boundary
    rad_curve = foc_dist * (1.0 + (ray_rang/foc_dist)^2) # Boundary curv. rad.
    gouy = atan(-foc_dist/rad_curve)                     # Boundary Gouy shift
end:constant

begin:laser
    boundary = x_min
    intensity_w_cm2 = I_boundary
    lambda = las_lambda
    phase = las_k * y^2 / (2.0 * rad_curve) - gouy
    profile = gauss(y, 0, w_boundary)
end:laser

begin:output
    name = o1
    dt_snapshot = 10 * femto
    poynt_flux = always
end:output

The focussed beam

In this example, EPOCH correctly reproduces the focal point position, laser wavelength, and radial FWHM at the focus - however, the peak intensity is only $0.88\times 10^{15} \text{ Wcm}^{-2}$. This intensity reduction from target is due to the tight focal spot, with $w_0\approx 1.7$ μm being close to $\lambda = 1.0$ μm.

The deck is based on the laser test deck supplied with EPOCH, with a modified laser and longer runtime. Other classes of beam (Bessel etc) can be created similarly.

Next