Manual: The Lasers Module

eTraj.LasersModule
module Lasers

The Laser module contains abstraction of laser and provides some pre-defined lasers for use.

source

The Monochromatic Lasers

A typical monochromatic laser is composed of the carrier wave $\cos (\omega t+\phi)$ and the envelope function $f_{\rm{env}}(t)$ (which is assumed to have a peak amplitude of 1). Given the amplitude of the vector potential $A_0$, the time-dependent vector potential of the laser, which we assume to propagate in $z$ direction and have $x$ axis as the principle axis of polarization, reads

\[\begin{equation} \AA(t) = A_0 f_{\rm{env}}(t) [ \cos(\omega t+\phi)\hat{\bm{x}} + \varepsilon \sin(\omega t+\phi) \hat{\bm{y}} ], \end{equation}\]

with $\omega$ the laser angular frequency, $\phi$ the carrier-envelope phase (CEP) and $\varepsilon$ the ellipticity.

In the Lasers module there are some available monochromatic laser objects implemented for use, namely Cos4Laser, Cos2Laser and GaussianLaser, which differ from each other in their envelope functions $f_{\rm{env}}(t)$, and they are all subtypes of the MonochromaticLaser base type.


Cos4Laser

The Cos4Laser's vector potential has a $\cos^4$-shaped envelope function:

\[\begin{equation} f_{\rm{env}}^{\rm{cos4}} = \begin{dcases} \ \cos^4 \left(\frac{\omega(t-t_0)}{2N}\right), & -NT/2 \leq t-t_0 \leq NT/2, \\ \ 0, & \rm{otherwise}, \end{dcases} \end{equation}\]

where $N$ is the total cycle number, $T=2\pi/\omega$ is the period and $t_0$ the peak time.

eTraj.Lasers.Cos4LaserType
struct Cos4Laser <: MonochromaticLaser <: Laser

Represents a monochromatic elliptically polarized laser field with Cos4-shape envelope propagating in z direction.

source
eTraj.Lasers.Cos4LaserMethod
Cos4Laser(peak_int, wave_len|ang_freq, cyc_num|duration, ellip [,azi=0.0] [,cep=0.0] [,t_shift=0.0]) <: MonochromaticLaser

Initializes a new monochromatic elliptically polarized laser field with Cos4-shape envelope.

Parameters

  • peak_int : Peak intensity of the laser (numerically in W/cm² or a Unitful.Quantity).
  • wave_len : Wavelength of the laser (numerically in nm or a Unitful.Quantity).
  • ang_freq : Angular frequency of the laser (numerically in a.u. or a Unitful.Quantity of single-photon energy).
  • cyc_num : Number of cycles of the laser.
  • duration : Duration of the laser (numerically in a.u. or a Unitful.Quantity).
  • ellip : Ellipticity of the laser [-1≤ε≤1, 0 indicates linear polarization and ±1 indicates circular polarization].
  • azi : Azimuth angle of the laser's polarization's principle axis relative to x axis (numerically in radian or a Unitful.Quantity) (optional, default 0).
  • cep : Carrier-Envelope-Phase of the laser (numerically in radian or a Unitful.Quantity) (optional, default 0).
  • t_shift : Time shift of the laser (numerically in a.u. or a Unitful.Quantity) relative to the peak (optional, default 0).

Examples

julia> l = Cos4Laser(peak_int=4e14, wave_len=800.0, cyc_num=2.0, ellip=1.0)
[MonochromaticLaser] Envelope cos⁴, peak intensity 4.0e+14 W/cm², wavelen=800 nm, 2 cycle(s), ε=1 [circularly polarized]

julia> using eTraj.Units

julia> l = Cos4Laser(peak_int=0.4PW/cm^2, ang_freq=1.5498eV, duration=5.34fs, ellip=0.0)
[MonochromaticLaser] Envelope cos⁴, peak intensity 4.0e+14 W/cm², wavelen=800.00 nm, 2.00 cycle(s), ε=0 [linearly polarized]
source

Cos4Laser


Cos2Laser

The Cos2Laser has a $\cos^2$-shaped envelope function, similar to that of the Cos4Laser:

\[\begin{equation} f_{\rm{env}}^{\rm{cos2}} = \begin{dcases} \ \cos^2 \left(\frac{\omega(t-t_0)}{2N}\right), & -NT/2 \leq t-t_0 \leq NT/2, \\ \ 0, & \rm{otherwise}. \end{dcases} \end{equation}\]

eTraj.Lasers.Cos2LaserType
struct Cos2Laser <: MonochromaticLaser <: Laser

Represents a monochromatic elliptically polarized laser field with Cos2-shape envelope propagating in z direction.

source
eTraj.Lasers.Cos2LaserMethod
Cos2Laser(peak_int, wave_len|ang_freq, cyc_num|duration, ellip [,azi=0.0] [,cep=0.0] [,t_shift=0.0]) <: MonochromaticLaser

Initializes a new monochromatic elliptically polarized laser field with Cos2-shape envelope.

Parameters

  • peak_int : Peak intensity of the laser (numerically in W/cm² or a Unitful.Quantity).
  • wave_len : Wavelength of the laser (numerically in nm or a Unitful.Quantity).
  • ang_freq : Angular frequency of the laser (numerically in a.u. or a Unitful.Quantity of single-photon energy).
  • cyc_num : Number of cycles of the laser.
  • duration : Duration of the laser (numerically in a.u. or a Unitful.Quantity).
  • ellip : Ellipticity of the laser [-1≤ε≤1, 0 indicates linear polarization and ±1 indicates circular polarization].
  • azi : Azimuth angle of the laser's polarization's principle axis relative to x axis (numerically in radian or a Unitful.Quantity) (optional, default 0).
  • cep : Carrier-Envelope-Phase of the laser (numerically in radian or a Unitful.Quantity) (optional, default 0).
  • t_shift : Time shift of the laser (numerically in a.u. or a Unitful.Quantity) relative to the peak (optional, default 0).

Examples

julia> l = Cos2Laser(peak_int=4e14, wave_len=800.0, cyc_num=2.0, ellip=1.0)
[MonochromaticLaser] Envelope cos², peak intensity 4.0e+14 W/cm², wavelen=800 nm, 2 cycle(s), ε=1 [circularly polarized]

julia> using eTraj.Units

julia> l = Cos2Laser(peak_int=0.4PW/cm^2, ang_freq=1.5498eV, duration=5.34fs, ellip=0.0)
[MonochromaticLaser] Envelope cos², peak intensity 4.0e+14 W/cm², wavelen=800.00 nm, 2.00 cycle(s), ε=0 [linearly polarized]
source

Cos2Laser


GaussianLaser

The GaussianLaser has a Gaussian-shaped envelope function, which is the most commonly used:

\[\begin{equation} f_{\rm{env}}^{\rm{Gauss.}} = \ee^{-(t-t_0)^2/2\tau_\sigma^2} = \ee^{- \ln{2}~\cdot~(t-t_0)^2/\tau_{\rm{FWHM}}^2}, \end{equation}\]

where $\tau_\sigma$ is the half temporal width of the laser and $\tau_{\rm{FWHM}}=2\sqrt{\ln{2}}\ \tau_\sigma$ denotes the laser's intensity profile's temporal FWHM (full-width at half maxima).

eTraj.Lasers.GaussianLaserType
struct GaussianLaser <: MonochromaticLaser <: Laser

Represents a monochromatic elliptically polarized laser field with Gaussian-shape envelope propagating in z direction.

source
eTraj.Lasers.GaussianLaserMethod
GaussianLaser(peak_int, wave_len|ang_freq, spread_cyc_num|spread_duration|FWHM_duration, ellip [,azi=0.0] [,cep=0.0] [,t_shift=0.0]) <: MonochromaticLaser

Initializes a new monochromatic elliptically polarized laser field with Gaussian-shape envelope.

Parameters

  • peak_int : Peak intensity of the laser (numerically in W/cm² or a Unitful.Quantity).
  • wave_len : Wavelength of the laser (numerically in nm or a Unitful.Quantity).
  • ang_freq : Angular frequency of the laser (numerically in a.u. or a Unitful.Quantity of single-photon energy).
  • spread_cyc_num : Temporal width (converted to cycle numbers) of the laser, namely σ.
  • spread_duration : Temporal width of the laser (numerically in a.u. or a Unitful.Quantity).
  • FWHM_duration : Temporal FWHM (Full Width at Half Maxima) of the intensity profile of the laser (numerically in a.u. or a Unitful.Quantity).
  • ellip : Ellipticity of the laser [-1≤ε≤1, 0 indicates linear polarization and ±1 indicates circular polarization].
  • azi : Azimuth angle of the laser's polarization's principle axis relative to x axis (numerically in radian or a Unitful.Quantity) (optional, default 0).
  • cep : Carrier-Envelope-Phase of the laser (numerically in radian or a Unitful.Quantity) (optional, default 0).
  • t_shift : Time shift of the laser (numerically in a.u. or a Unitful.Quantity) relative to the peak (optional, default 0).

Examples

julia> l = GaussianLaser(peak_int=4e14, wave_len=800.0, spread_cyc_num=2.0, ellip=1.0)
[MonochromaticLaser] Envelope Gaussian, peak intensity 4.0e+14 W/cm², wavelen=800 nm, temporal width 4 cycle(s) [FWHM 12.57 fs], ε=1 [circularly polarized]

julia> using eTraj.Units

julia> l = GaussianLaser(peak_int=0.4PW/cm^2, ang_freq=1.5498eV, FWHM_duration=12.57fs, ellip=0.0)
[MonochromaticLaser] Envelope Gaussian, peak intensity 4.0e+14 W/cm², wavelen=800.00 nm, temporal width 4.00 cycle(s) [FWHM 12.57 fs], ε=0 [linearly polarized]
source

GaussianLaser


BichromaticLaser

Apart from monochromatic lasers, the BichromaticLaser which combines two MonochromaticLaser is also implemented.

eTraj.Lasers.BichromaticLaserMethod
BichromaticLaser(l1::MonochromaticLaser, l2::MonochromaticLaser [,delay=0.0]) <: Laser

Initializes a new BichromaticLaser with two MonochromaticLasers.

Parameters

  • l1, l2::MonochromaticLaser : Two MonochromaticLasers.
  • delay : Time delay of l2 respective to l1 (numerically in a.u. or a Unitful.Quantity).

Examples

julia> using eTraj.Units

julia> l = BichromaticLaser(l1=Cos4Laser(peak_int=1.0PW/cm^2, wave_len=800nm, cyc_num=10, ellip=1), l2=Cos4Laser(peak_int=1.0PW/cm^2, wave_len=400nm, cyc_num=20, ellip=-1), delay=0.5fs)
[BichromaticLaser] delay Δt = 20.67 a.u. (0.50 fs)
├ [MonochromaticLaser] Envelope cos⁴, peak intensity 1.0e+15 W/cm², wavelen=800 nm, 10 cycle(s), ε=1 [circularly polarized]
└ [MonochromaticLaser] Envelope cos⁴, peak intensity 1.0e+15 W/cm², wavelen=400 nm, 20 cycle(s), ε=-1 [circularly polarized]
source

Available Properties

The available properties of the laser fields are listed below. The "·" sign indicates that the property is available due to inheritance from the supertype.

To obtain a property of the laser field, invoke the property as a method and pass the laser object as an argument. The following shows an example:

julia> using eTraj.Lasers
julia> l = Cos4Laser(peak_int=1e14, wave_len=800.0, cyc_num=10, ellip=0)[MonochromaticLaser] Envelope cos⁴, peak intensity 1.0e+14 W/cm², wavelen=800 nm, 10 cycle(s), ε=0 [linearly polarized]
julia> LaserA0(l)0.9372492077964156
julia> Ax = LaserAx(l)#4 (generic function with 1 method)
julia> Ax(0.0)0.9372492077964156
LaserMonochromaticLaserCos4LaserCos2LaserGaussianLaserBichromaticLaser
LaserFx·····
LaserFy·····
LaserAx·····
LaserAy·····
PeakInt···
WaveLen···
CycNum
SpreadCycNum
SpreadDuration
FWHM_Duration
Ellipticity···
Azimuth···
AngFreq···
Period···
CEP···
LaserF0···
LaserA0···
UnitEnvelope···
KeldyshParameter···
TimeShift
Laser1
Laser2
Delay21

Ellipticity

The ellipticity $\varepsilon$ defines the polarization type of the laser field. For special cases, 0 indicates linear polarization and ±1 indicates circular polarization. The electric field rotates clockwise for positive ellipticities and counter-clockwise for negative ones.

manual2_lasers_ellip.svg

Azimuth of Principle Axis

The azimuth angle $\varphi$ of the principle axis defines a clockwise rotation of the laser field in the polarization plane.

manual2_lasers_azimuth.svg

Carrier-Envelope-Phase (CEP)

The carrier-envelope-phase (CEP) $\phi$ is the difference between the optical phase of the carrier wave and the envelope position. For few-cycle laser pulses, the influence of the CEP to the laser-matter interaction becomes significant.

manual2_lasers_cep.svg

List of Property Documentations

eTraj.Lasers.LaserFxFunction
LaserFx(l::Laser) -> Fx(t)

Gets the time-dependent x component of the electric field strength under dipole approximation.

source
eTraj.Lasers.LaserFyFunction
LaserFy(l::Laser) -> Fy(t)

Gets the time-dependent y component of the electric field strength under dipole approximation.

source
eTraj.Lasers.LaserAxFunction
LaserAx(l::Laser) -> Ax(t)

Gets the time-dependent x component of the vector potential under dipole approximation.

source
eTraj.Lasers.LaserAyFunction
LaserAy(l::Laser) -> Ay(t)

Gets the time-dependent y component of the vector potential under dipole approximation.

source
eTraj.Lasers.FWHM_DurationFunction
FWHM_Duration(l::GaussianLaser)

Gets the temporal FWHM (Full Width at Half Maxima) of the intensity profile of the laser (in a.u.).

source
eTraj.Lasers.AzimuthFunction
Azimuth(l::MonochromaticLaser)

Gets the azimuth angle of the laser's polarization's principle axis relative to x axis (in radians).

source
eTraj.Lasers.CEPFunction
CEP(l::MonochromaticLaser)

Gets the Carrier-Envelope Phase (CEP) of the laser.

source
eTraj.Lasers.LaserF0Function
LaserF0(l::MonochromaticLaser)

Gets the peak electric field intensity of the laser (in a.u.).

source
eTraj.Lasers.LaserA0Function
LaserA0(l::MonochromaticLaser)

Gets the peak vector potential intensity of the laser (in a.u.).

source
eTraj.Lasers.UnitEnvelopeFunction
UnitEnvelope(l::MonochromaticLaser) -> env(t)

Gets the unit envelope function (the peak value is 1) of the laser field.

source
eTraj.Lasers.KeldyshParameterFunction
KeldyshParameter(l::MonochromaticLaser, Ip)

Gets the Keldysh parameter γ₀ of the laser, given the ionization energy Ip (in a.u.).

source
eTraj.Lasers.TimeShiftFunction
TimeShift(l::{Cos2Laser, Cos4Laser, GaussianLaser})

Gets the time shift of the laser relative to the peak (in a.u.).

source
eTraj.Lasers.Delay21Function
Delay21(l::BichromaticLaser)

Gets the delay of the second laser respective to the first in l.

source