Envelopes
The various envelopes require different parameters to be specified in the @field
creation macro; they are listed below with σ|τ
implying that either σ
or τ
is required.
ElectricFields.GaussianEnvelope
— TypeGaussianEnvelope
A Gaussian pulse is given by
\[f(t) = \exp\left(-\frac{t^2}{2\sigma^2}\right),\]
where the standard deviation $σ$ is related to the FWHM duration τ of the intensity envelope as
\[\sigma = \frac{\tau}{2\sqrt{2\ln 2}}.\]
Since we define all fields in terms of the vector potential $A(t)$, and the instantaneous_intensity
is given by $\abs{-\partial_t A(t)}^2$, we have to find a coefficient $α$ such that the field amplitude
\[F(t) \sim -\partial_t \exp(-\alpha t^2) \sin(\omega t + \phi)\]
has an intensity envelope with the desired FWHM; we do this iteratively in gaussian_common!
. This is mainly important for ultrashort pulses, since for long pulse durations we can approximate $\exp(-\alpha t^2) \sim 1$ such that only the carrier contributes to the time derivative.
Since a Gaussian never ends, we specify how many $σ$ we require; the resulting time window will be rounded up to an integer amount of cycles of the fundamental.
Required parameters:
λ|T|f|ν|ω|ħω
,τ|σ|α
,σmax|tmax|Tmax
,env=:gauss
(optional, sinceGaussianEnvelope
is the default envelope).
ElectricFields.TruncatedGaussianEnvelope
— TypeTruncatedGaussianEnvelope
Since a Gaussian function never ends, this envelope adds a soft truncation over a time interval:
\[f(t)= \begin{cases} \exp(-\alpha t^2), & \abs{t} \leq t_{\textrm{off}},\\ \exp\left\{ -\alpha\left[ t_{\textrm{off}} + \frac{2}{\pi}(t_{\textrm{max}} - t_{\textrm{off}}) \tan\left( \frac{\pi}{2} \frac{\abs{t} - t_{\textrm{off}}}{t_{\textrm{max}} - t_{\textrm{off}}} \right) \right]^2 \right\}, & t_{\textrm{off}} < \abs{t} \leq t_{\textrm{max}}, \\ 0, & t_{\textrm{max}} < \abs{t}. \end{cases}\]
This is Eq. (72) of
- Patchkovskii, S., & Muller, H. (2016). Simple, accurate, and efficient implementation of 1-electron atomic time-dependent Schrödinger equation in spherical coordinates. Computer Physics Communications, 199, 153–169. 10.1016/j.cpc.2015.10.014
Required parameters:
λ|T|f|ν|ω|ħω
,τ|σ|α
,toff
,σmax|tmax|Tmax
,
env=:trunc_gauss
.
Beyond this, everything else is the same as for GaussianEnvelope
.
ElectricFields.TrapezoidalEnvelope
— TypeTrapezoidalEnvelope
This is a very simple piecewise linear function:
\[f(t)= \begin{cases} r/r_{\textrm{up}}, & 0 \leq r < r_{\textrm{up}},\\ 1, & r_{\textrm{up}} \leq r < r_{\textrm{up}} + r_{\textrm{flat}}, \\ 1 - \frac{r-r_{\textrm{up}}-r_{\textrm{flat}}}{r_{\textrm{down}}}, & r_{\textrm{up}} + r_{\textrm{flat}} \leq r < r_{\textrm{up}} + r_{\textrm{flat}} + r_{\textrm{down}}, \\ 0, & \textrm{else}, \end{cases} \quad r \defd t/T,\]
where $T$ is the period time of the carrier.
Required parameters:
λ|T|f|ν|ω|ħω
,ramp | (ramp_up & ramp_down)
,flat
,env=:trapezoidal | env=:tophat
.
Beware that this envelope can introduce artifacts at the ends of the pulse, such that the electric field is non-vanishing, depending of e.g. the phase of the carrier.
The shape of the ramp can be influenced by chaining $g[f(t)]$, where $g(x)$ should map smoothly to $[0,1]$ for $x\in[0,1]$. Currently implemented ramps are
ramp_kind = :linear
$\implies g(x) = x$ (default)ramp_kind = :sin² | ramp_kind = :sin2
$\implies g(x) = \sin^2(\pi x/2)$
ElectricFields.Cos²Envelope
— TypeCos²Envelope
\[f(t) = \begin{cases} \cos^2 \left(\frac{\pi t}{cT}\right), & -1 \leq t/(cT) \leq 1,\\ 0, & \textrm{else}, \end{cases}\]
where $c$ is the number of cycles from zero to zero of the $\cos^2$ envelope and $T$ the period time.
Required parameters:
λ|T|f|ν|ω|ħω
,cycles
,env=:cos² | env=:cos2
.