Ionisation.jl
Luna.Ionisation.IonRateADK — Type
IonRateADK(ionpot::Float64, threshold=true)
IonRateADK(material::Symbol)Ionisation rate based on the ADK formula. 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.
Luna.Ionisation.IonRatePPT — Type
IonRatePPT(ionpot::Float64, λ0, Z, l; kwargs...)PPT ionisation rate for a state with ionisation potential ionpot, when driven at wavelength λ0, also given charge state Z and angular momentum l
Keyword arguments
sum_tol::Number: Relative tolerance used to truncate the infinite sum. Defaults to 1e-6.cycle_average::Bool: Iftrue, calculate the cycle-averaged rate. Defaults tofalse.sum_integral::Bool: whether to approximate the infinite sum in the PPT rate equation with an integral (this neglects the multiphoton thresholds).Δα::Number: polarisability difference between the ground state and the cation (in SI units) to calculate the Stark shift of the ground-state energy levels. Defaults to 0.α_ion::Number: polarisability of the cation (in SI units) to calculate the dipole correction to the rate. Defaults to 0.msum::Bool: for l ≠ 0, whether or not to sum over different m states. Defaults totrue.Cnl::Real: Pre-calculatedCₙₗconstant. If not given, defaults to the approximate expression from the PPT papers.occupancy: Occupancy of the state(s) from which ionisation is considered. Defaults to 2 for a state with two electrons (spin up/down).
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] 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)
[3] A. Couairon and A. Mysyrowicz, "Femtosecond filamentation in transparent media," Physics Reports 441(2–4), 47–189 (2007).
Luna.Ionisation.IonRatePPT — Method
IonRatePPT(material::Symbol, λ0; kwargs...)PPT ionisation rate for the given material when driven at wavelength λ0.
Keyword arguments
stark_shift::Bool: whether to include the Stark shiftdipole_corr::Bool: whether to include the dipole correction factor
Other keyword arguments are identical to IonRatePPT(ionpot::Float64, λ0, Z, l; kwargs...)
Luna.Ionisation.IonRatePPTAccel — Method
IonRatePPTAccel(material::Symbol, λ0; kwargs...)
IonRatePPTAccel(ionpot::Float64, λ0, Z, l; kwargs...)
IonRatePPTAccel(E, rate)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 theCSplineinterpolant.Emax::Number: Maximum field strength to include in the interpolant.cache::Bool: Whether to save the pre-calculated rate to a filecachedir::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 IonRatePPT
Luna.Ionisation.ADK_threshold — Method
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.
Luna.Ionisation.barrier_suppression — Method
barrier_suppression(ionpot, Z)Calculate the barrier-suppresion field strength for the ionisation potential ionpot and charge state Z.
Luna.Ionisation.ionfrac — Method
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. IonRateADK or IonRatePPTCached.
Luna.Ionisation.ionrate_ADK — Method
ionrate_ADK(IP_or_material, E::Number; kwargs...) -> Float64Calculate the ionisation rate based on the ADK model.
Arguments
IP_or_material: Ionisation potential (Float64) or gas species (Symbol)E::Number: Electric field in SI units (V/M)
Keywords
kwargs...: SeeIonRateADK
Luna.Ionisation.keldysh — Method
keldysh(material, λ, E)Calculate the Keldysh parameter for the given material at wavelength λ and electric field strength E.
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.