Ionisation.jl

Luna.Ionisation.ADK_thresholdMethod
ADK_threshold(ionpot)

Determine the lowest electric field strength at which the ADK ionisation rate for the ionisation potential ionpot is non-zero to within 64-bit floating-point precision.

source
Luna.Ionisation.ionfracMethod
ionfrac(rate, E, δt)

Given an ionisation rate function rate and an electric field array E sampled with time spacing δt, calculate the ionisation fraction as a function of time on the same time axis.

The function rate should have the signature rate!(out, E) and place its results into out, like the functions returned by e.g. ionrate_fun!_ADK or ionrate_fun!_PPTcached.

source
Luna.Ionisation.ionrate_fun!_ADKFunction
ionrate_fun!_ADK(ionpot::Float64, threshold=true)
ionrate_fun!_ADK(material::Symbol)

Return a closure ionrate!(out, E) which calculates the ADK ionisation rate for the electric field E and places the result in out. If threshold is true, use ADK_threshold to avoid calculation below floating-point precision. If cycle_average is true, calculate the cycle-averaged ADK ionisation rate instead.

source
Luna.Ionisation.ionrate_fun!_PPTaccelMethod
ionrate_fun!_PPTaccel(material::Symbol, λ0; kwargs...)
ionrate_fun!_PPTaccel(ionpot::Float64, λ0, Z, l; kwargs...)

Create an accelerated (interpolated) PPT ionisation rate function.

source
Luna.Ionisation.ionrate_fun!_PPTcachedMethod
ionrate_fun!_PPTcached(material::Symbol, λ0; kwargs...)
ionrate_fun!_PPTcached(ionpot::Float64, λ0, Z, l; kwargs...)

Create a cached (saved) interpolated PPT ionisation rate function. If a saved lookup table exists, load this rather than recalculate.

Keyword arguments

  • N::Int: Number of samples with which to create the CSpline interpolant.
  • Emax::Number: Maximum field strength to include in the interpolant.
  • cachedir::String: Path to the directory where the cache should be stored and loaded from. Defaults to HOME/.luna/pptcache

Other keyword arguments are passed on to ionrate_fun_PPT

source
Luna.Ionisation.ionrate_fun_PPTMethod
ionrate_fun_PPT(ionpot::Float64, λ0, Z, l; sum_tol=1e-4, cycle_average=false)

Create closure to calculate PPT ionisation rate.

Keyword arguments

  • sum_tol::Number: Relative tolerance used to truncate the infinite sum.
  • cycle_average::Bool: If false (default), calculate the cycle-averaged rate

References

[1] Ilkov, F. A., Decker, J. E. & Chin, S. L. Ionization of atoms in the tunnelling regime with experimental evidence using Hg atoms. Journal of Physics B: Atomic, Molecular and Optical Physics 25, 4005–4020 (1992)

[2] 1.Bergé, L., Skupin, S., Nuter, R., Kasparian, J. & Wolf, J.-P. Ultrashort filaments of light in weakly ionized, optically transparent media. Rep. Prog. Phys. 70, 1633–1713 (2007) (Appendix A)

source
Luna.Ionisation.keldyshMethod
keldysh(material, λ, E)

Calculate the Keldysh parameter for the given material at wavelength λ and electric field strength E.

source
Luna.Ionisation.φMethod
φ(m, x)

Calculate the φ function for the PPT ionisation rate.

Note that wm(x) in [1] and φm(x) in [2] look slightly different but are in fact identical.

source