Field types
Basic field types
ElectricFields.LinearField
— TypeLinearField
Linearly polarized field, i.e. the field amplitude is scalar. Consisting of a peak vector potential, a vector envelope, and a carrier, which has to be a LinearCarrier
.
Examples
julia> @field(A) do
I₀ = 1e14u"W/cm^2"
λ = 800.0u"nm"
τ = 6.2u"fs"
tmax = 20.0u"fs"
end
Linearly polarized field with
- I₀ = 2.8495e-03 au = 1.0e14 W cm^-2 =>
- E₀ = 5.3380e-02 au = 27.4492 GV m^-1
- A₀ = 0.9372 au
– a Fixed carrier @ λ = 800.0000 nm (T = 2.6685 fs, ω = 0.0570 Ha = 1.5498 eV, f = 374.7406 THz)
– and a Gaussian envelope of duration 6.2000 fs (intensity FWHM; ±8.11σ)
– and a bandwidth of 0.0108 Ha = 294.3469 meV ⟺ 71.1728 THz ⟺ 2871.2568 Bohr = 151.9404 nm
– Uₚ = 0.2196 Ha = 5.9759 eV => α = 16.4562 Bohr = 870.8242 pm
julia> @field(B) do
I₀ = 0.05
ω = 1.0
ramp = 1.0
flat = 3.0
env = :trapezoidal
end
Linearly polarized field with
- I₀ = 5.0000e-02 au = 1.7547226e15 W cm^-2 =>
- E₀ = 2.2361e-01 au = 114.9832 GV m^-1
- A₀ = 0.2236 au
– a Fixed carrier @ λ = 45.5634 nm (T = 151.9830 as, ω = 1.0000 Ha = 27.2114 eV, f = 6.5797 PHz)
– and a /1‾3‾1\ cycles trapezoidal envelope, with linear ramps
– and a bandwidth of Inf Ha = Inf eV ⟺ Inf Hz ⟺ Inf Bohr = Inf m
– Uₚ = 0.0125 Ha = 340.1423 meV => α = 0.2236 Bohr = 11.8328 pm
ElectricFields.TransverseField
— TypeTransverseField
Transversely polarized field, i.e the polarization vector is confined to the plane that is perpendicular to the direction of propagation. If the propagation vector is not rotated, this plane is the $z-x$, with $z$ by convention being the principal polarization axis, and $y$ is the direction of propagation.
The formal definition is
\[\vec{A}(t)\defd A_0 f(t) \Im\{\vec{J}\exp[\im(\omega t + \phi)]\},\]
using the complex-valued Jones vector $\vec{J}$, but in practice, we use a rotation matrix $\mat{R}$ and the Carriers give the amplitudes in the canonical, unrotated coordinate sytem:
\[\vec{A}(t) = A_0 f(t) \mat{R}\vec{C}(t).\]
Examples
julia> # Circularly polarized field
julia> @field(A) do
I₀ = 1e14u"W/cm^2"
λ = 800.0u"nm"
τ = 6.2u"fs"
tmax = 20.0u"fs"
ξ = 1.0
end
Transversely polarized field with
- I₀ = 2.8495e-03 au = 1.0e14 W cm^-2 =>
- E₀ = 5.3380e-02 au = 27.4492 GV m^-1
- A₀ = 0.9372 au
– a Elliptical carrier with ξ = 1.00 (RCP) @ λ = 800.0000 nm (T = 2.6685 fs, ω = 0.0570 Ha = 1.5498 eV, f = 374.7406 THz)
– and a Gaussian envelope of duration 6.2000 fs (intensity FWHM; ±8.11σ)
– and a bandwidth of 0.0108 Ha = 294.3469 meV ⟺ 71.1728 THz ⟺ 2871.2568 Bohr = 151.9404 nm
– Uₚ = 0.2196 Ha = 5.9759 eV => α = 16.4562 Bohr = 870.8242 pm
julia> # Linearly polarized field, but explicitly in 3D
julia> @field(B) do
I₀ = 1e14u"W/cm^2"
λ = 800.0u"nm"
τ = 6.2u"fs"
tmax = 20.0u"fs"
kind = :transverse
end
Transversely polarized field with
- I₀ = 2.8495e-03 au = 1.0e14 W cm^-2 =>
- E₀ = 5.3380e-02 au = 27.4492 GV m^-1
- A₀ = 0.9372 au
– a LinearTransverseCarrier: Fixed carrier @ λ = 800.0000 nm (T = 2.6685 fs, ω = 0.0570 Ha = 1.5498 eV, f = 374.7406 THz)
– and a Gaussian envelope of duration 6.2000 fs (intensity FWHM; ±8.11σ)
– and a bandwidth of 0.0108 Ha = 294.3469 meV ⟺ 71.1728 THz ⟺ 2871.2568 Bohr = 151.9404 nm
– Uₚ = 0.2196 Ha = 5.9759 eV => α = 16.4562 Bohr = 870.8242 pm
julia> # Linearly polarized field, rotated
julia> @field(C) do
I₀ = 1e14u"W/cm^2"
λ = 800.0u"nm"
τ = 6.2u"fs"
tmax = 20.0u"fs"
rotation = π/3, [0,0,1]
end
Transversely polarized field with
- I₀ = 2.8495e-03 au = 1.0e14 W cm^-2 =>
- E₀ = 5.3380e-02 au = 27.4492 GV m^-1
- A₀ = 0.9372 au
– a LinearTransverseCarrier: Fixed carrier @ λ = 800.0000 nm (T = 2.6685 fs, ω = 0.0570 Ha = 1.5498 eV, f = 374.7406 THz)
– a Gaussian envelope of duration 6.2000 fs (intensity FWHM; ±8.11σ)
– and a rotation of 0.33π about [0.000, 0.000, 1.000]
– and a bandwidth of 0.0108 Ha = 294.3469 meV ⟺ 71.1728 THz ⟺ 2871.2568 Bohr = 151.9404 nm
– Uₚ = 0.2196 Ha = 5.9759 eV => α = 16.4562 Bohr = 870.8242 pm
ElectricFields.LinearTransverseField
— TypeLinearTransverseField
Linearly polarized field, but explicitly in 3d, i.e the polarization vector is confined to a line in the plane that is perpendicular to the direction of propagation. If the propagation vector is not rotated, this plane is the $z-x$, with $z$ by convention being the principal polarization axis, and $y$ is the direction of propagation.
This is mostly used as a proxy, if one wants to calculate using a manifestly linearly polarized field in 3d. See also LinearTransverseCarrier
.
ElectricFields.ConstantField
— TypeConstantField(tmax, E₀)
The field amplitude of a constant field is defined as
\[F(t) = \begin{cases} E_0, & 0 \leq t \leq t_{\textrm{max}}, \\ 0, & \textrm{else}, \end{cases} \implies A(t) = \begin{cases} -E_0t, & 0 \leq t \leq t_{\textrm{max}}, \\ A(t_{\textrm{max}}), & t_{\textrm{max}} < t, \\ 0, & \textrm{else}. \end{cases}\]
Since the vector potential is non-zero at the end of the pulse, this is a non-propagating field, i.e. it does not correspond to a freely propagating pulse. It however corresponds to the field in an idealized capacitor, i.e. two plates of opposite charge.
Example
julia> @field(F) do
I₀ = 1e13u"W/cm^2"
tmax = 3.0u"fs"
kind = :constant
end
Constant field of
- 124.0241 jiffies = 3.0000 fs duration, and
- E₀ = 1.6880e-02 au = 8.6802 GV m^-1
ElectricFields.Ramp
— TypeRamp(tmax, E₀, f, name)
The field amplitude of a ramp is defined as
\[F(t) = \begin{cases} E_0f'(\tau), & 0 \leq t_{\textrm{max}}, \\ 0, \textrm{else}, \end{cases} \implies A(t) = \begin{cases} -E_0t_{\textrm{max}}f(\tau), & 0 \leq t \leq t_{\textrm{max}},\\ A(t_{\textrm{max}}), & t_{\textrm{max}} < t,\\ 0, & \textrm{else}, \end{cases} \quad \tau = \frac{t}{t_{\textrm{max}}}.\]
To define a new ramp, one thus only needs to define one function on the unit interval, $f(\tau)$ whose derivative $f'(\tau)$ rises from $0$ to $1$. Similar to ConstantField
, Ramp
is a non-propagating field, but is realizable in e.g. a capacitor.
Three kinds of ramps are predefined, :linear_ramp
, :parabolic_ramp
, :sin²_ramp
(with the alias :sin2_ramp
).
Examples
julia> @field(F) do
E₀ = 1.0
tmax = 4.0u"fs"
kind = :sin²_ramp
end
sin² up-ramp of
- 165.3655 jiffies = 4.0000 fs duration, and
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
julia> @field(F) do
E₀ = 1.0
tmax = 4.0u"fs"
kind = :linear_ramp
ramp = :down
end
Linear down-ramp of
- 165.3655 jiffies = 4.0000 fs duration, and
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
Arithmetic
ElectricFields.SumField
— TypeSumField(a, b)
The linear combination of two fields a
and b
.
Example
julia> @field(A) do
I₀ = 1.0
T = 2.0
σ = 3.0
Tmax = 3.0
end
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> @field(B) do
I₀ = 0.5
T = 1.0
σ = 3.0
Tmax = 3.0
end
Linearly polarized field with
- I₀ = 5.0000e-01 au = 1.7547226e16 W cm^-2 =>
- E₀ = 7.0711e-01 au = 363.6089 GV m^-1
- A₀ = 0.1125 au
– a Fixed carrier @ λ = 7.2516 nm (T = 24.1888 as, ω = 6.2832 Ha = 170.9742 eV, f = 41.3414 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±1.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 8.5598 Bohr = 452.9627 pm
– Uₚ = 0.0032 Ha = 86.1591 meV => α = 0.0179 Bohr = 947.8211 fm
julia> A+B
┌ Linearly polarized field with
│ - I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
│ - E₀ = 1.0000e+00 au = 514.2207 GV m^-1
│ - A₀ = 0.3183 au
│ – a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
│ – and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
│ – and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
│ – Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
⊕
│ Linearly polarized field with
│ - I₀ = 5.0000e-01 au = 1.7547226e16 W cm^-2 =>
│ - E₀ = 7.0711e-01 au = 363.6089 GV m^-1
│ - A₀ = 0.1125 au
│ – a Fixed carrier @ λ = 7.2516 nm (T = 24.1888 as, ω = 6.2832 Ha = 170.9742 eV, f = 41.3414 PHz)
│ – and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±1.00σ)
│ – and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 8.5598 Bohr = 452.9627 pm
└ – Uₚ = 0.0032 Ha = 86.1591 meV => α = 0.0179 Bohr = 947.8211 fm
ElectricFields.WrappedField
— TypeWrappedField
Wrapper around any electric field
ElectricFields.NegatedField
— TypeNegatedField(a)
Represents a field whose vector_potential
is the negative of that of a
.
Example
julia> @field(A) do
I₀ = 1.0
T = 2.0
σ = 3.0
Tmax = 3.0
end
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> B = -A
ElectricFields.NegatedField{ElectricFields.LinearField{ElectricFields.FixedCarrier{Quantity{Float64, 𝐋, Unitful.FreeUnits{(Eₕ^-1, ħ, c), 𝐋, nothing}}, Quantity{Float64, 𝐓, Unitful.FreeUnits{(Eₕ^-1, ħ), 𝐓, nothing}}, Float64, Int64}, ElectricFields.GaussianEnvelope{Float64}, Float64}}(Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm)
julia> field_amplitude(A, 0.5)
0.008830294133325867
julia> field_amplitude(B, 0.5)
-0.008830294133325867
julia> field_amplitude(A-A, 0.5)
0.0
ElectricFields.DelayedField
— TypeDelayedField(a, t₀)
Represents a delayed copy of a
, that appears at time t₀
instead of at 0
, i.e. t₀>0
implies the field comes later.
Examples
julia> @field(A) do
I₀ = 1.0
T = 2.0
σ = 3.0
Tmax = 3.0
end
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> delay(A, 1u"fs")
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
– delayed by 41.3414 jiffies = 1.0000 fs
julia> delay(A, 1.0)
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
– delayed by 1.0000 jiffies = 24.1888 as
julia> delay(A, π*u"rad")
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
– delayed by 1.0000 jiffies = 24.1888 as
ElectricFields.delay
— Functiondelay(a, t₀)
Delay the field a
by the time t₀
.
delay(a, ϕ)
Delay the field a
by the phase ϕ
with respect to its period
.
delay(a)
Return the delay of the field a
.
ElectricFields.PaddedField
— Type PaddedField(field, a, b)
Wrapper around any electric field
, padded with a
units of time before, and b
units of time after the ordinary span
of the field.
Example
julia> @field(A) do
I₀ = 1.0
T = 2.0
σ = 3.0
Tmax = 3.0
end
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> B = PaddedField(A, 10.0, 30.0)
Padding before 10.0000 jiffies = 241.8884 as and after 30.0000 jiffies = 725.6653 as of
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> span(A), span(B)
(-6.0 .. 6.0, -16.0 .. 36.0)
ElectricFields.WindowedField
— TypeWindowedField(field, a, b)
Wrapper around any electric field
, windowed such that it is zero outside the time interval a..b
.
Example
julia> @field(A) do
I₀ = 1.0
T = 2.0
σ = 3.0
Tmax = 3.0
end
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> B = WindowedField(A, -3, 5)
Window from -3.0000 jiffies = -72.5665 as to 5.0000 jiffies = 120.9442 as of
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm^-2 =>
- E₀ = 1.0000e+00 au = 514.2207 GV m^-1
- A₀ = 0.3183 au
– a Fixed carrier @ λ = 14.5033 nm (T = 48.3777 as, ω = 3.1416 Ha = 85.4871 eV, f = 20.6707 PHz)
– and a Gaussian envelope of duration 170.8811 as (intensity FWHM; ±2.00σ)
– and a bandwidth of 0.3925 Ha = 10.6797 eV ⟺ 2.5823 PHz ⟺ 34.2390 Bohr = 1.8119 nm
– Uₚ = 0.0253 Ha = 689.2724 meV => α = 0.1013 Bohr = 5.3617 pm
julia> span(A), span(B)
(-6.0 .. 6.0, -3.0 .. 5.0)
julia> field_amplitude(A, -4)
-0.6395632362683398
julia> field_amplitude(B, -4)
0.0
ElectricFields.phase_shift
— Functionphase_shift(f, δϕ)
Return a new field whose carrier
has been phase-shifted by δϕ
.
Apodizing Windows
This is a generalization of ElectricFields.WindowedField
, where the field is multiplied by an apodizing window, that tapers of towards the boundaries, and typically (but not always) is zero at the boundaries. The window functions are non-zero on the interval $[-1/2,1/2]$, so if other intervals are desired, they will need to be rescaled. This happens automatically.
Since the apodizing window is multiplied with the vector potential, the field amplitude gains an extra term due to the chain rule:
\[\vec{A}_w(t) = W(t)\vec{A}(t) \implies \vec{F}_w(t) = -\partial_t \vec{A}_w(t) = W(t)\vec{F}(t) - W'(t)\vec{A}(t).\]
Usage
julia> @field(F) do
ω = 1.0
I₀ = 1.0
ramp = 0.0
flat = 3.0
env = :tophat
end
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm⁻² =>
- E₀ = 1.0000e+00 au = 514.2207 GV m⁻¹
- A₀ = 1.0000 au
– a Fixed carrier @ λ = 45.5634 nm (T = 151.9830 as, ω = 1.0000 Ha = 27.2114 eV, f = 6.5797 PHz)
– and a /0‾3‾0\ cycles trapezoidal envelope
– and a bandwidth of Inf Ha = Inf eV ⟺ Inf Hz ⟺ Inf Bohr = Inf m
– Uₚ = 0.2500 Ha = 6.8028 eV => α = 1.0000 Bohr = 52.9177 pm
julia> Fw = ApodizedField(F, 1.0, 14.0, ElectricFields.Kaiser(3))
Kaiser(α = 3) window from 1.0000 jiffies = 24.1888 as to 14.0000 jiffies = 338.6438 as of
Linearly polarized field with
- I₀ = 1.0000e+00 au = 3.5094452e16 W cm⁻² =>
- E₀ = 1.0000e+00 au = 514.2207 GV m⁻¹
- A₀ = 1.0000 au
– a Fixed carrier @ λ = 45.5634 nm (T = 151.9830 as, ω = 1.0000 Ha = 27.2114 eV, f = 6.5797 PHz)
– and a /0‾3‾0\ cycles trapezoidal envelope
– and a bandwidth of Inf Ha = Inf eV ⟺ Inf Hz ⟺ Inf Bohr = Inf m
– Uₚ = 0.2500 Ha = 6.8028 eV => α = 1.0000 Bohr = 52.9177 pm
ElectricFields.ApodizedField
— TypeApodizedField(field, a, b, window)
A wrapper that provides an wrapped version of field
, apodized by window
on the interval a .. b
. See AbstractWindow
.
ElectricFields.span
— Methodspan(f::ApodizedField)
The span of f
is given by the intersection of span(parent(f))
and the apodizing interval a .. b
.
Windows
See the Wikipedia page on apodizing windows for the formal definitions of the windows and their frequency responses.
ElectricFields.AbstractWindow
— TypeAbstractWindow
Base type of all apodizing windows.
ElectricFields.Rect
— TypeRect
Rectangular window:
\[W(x) = \begin{cases} 1, & |x| \le \frac{1}{2}, \\ 0, & \textrm{else}. \end{cases}\]
ElectricFields.Hann
— TypeElectricFields.Hann
Hann is a sum-of-cosines window, with the terms
\[W(x) = 0.5 + 0.5\cos(2 \pi x).\]
ElectricFields.Hamming
— TypeElectricFields.Hamming
Hamming is a sum-of-cosines window, with the terms
\[W(x) = 0.5434782608695652 + 0.45652173913043476\cos(2 \pi x).\]
ElectricFields.Blackman
— TypeElectricFields.Blackman
Blackman is a sum-of-cosines window, with the terms
\[W(x) = 0.42 + 0.5\cos(2 \pi x) + 0.08\cos(4 \pi x).\]
ElectricFields.BlackmanExact
— TypeElectricFields.BlackmanExact
Blackman exact is a sum-of-cosines window, with the terms
\[W(x) = 0.4265907136715391 + 0.4965606190885641\cos(2 \pi x) + 0.07684866723989682\cos(4 \pi x).\]
ElectricFields.Nuttall
— TypeElectricFields.Nuttall
Nuttall is a sum-of-cosines window, with the terms
\[W(x) = 0.355768 + 0.487396\cos(2 \pi x) + 0.144232\cos(4 \pi x) + 0.012604\cos(6 \pi x).\]
ElectricFields.BlackmanNuttall
— TypeElectricFields.BlackmanNuttall
Blackman–Nuttall is a sum-of-cosines window, with the terms
\[W(x) = 0.3635819 + 0.4891775\cos(2 \pi x) + 0.1365995\cos(4 \pi x) + 0.0106411\cos(6 \pi x).\]
ElectricFields.BlackmanHarris
— TypeElectricFields.BlackmanHarris
Blackman–Harris is a sum-of-cosines window, with the terms
\[W(x) = 0.35875 + 0.48829\cos(2 \pi x) + 0.14128\cos(4 \pi x) + 0.01168\cos(6 \pi x).\]
ElectricFields.Kaiser
— TypeKaiser(α)
\[W(x) = \frac{I_0\left[\pi\alpha\sqrt{1 - (2x)^2}\right]}{I_0(\pi\alpha)},\]
where $I_0$ is the 0th order modified Bessel function of the first kind.