A small library of routines for calculating interesting quantities useful in Atomic Physics and Ultrafast Optics.
The HP42s raw files are generated by typing
rakein a command line near you. Requires Ruby and Perl to work. The
raw files are created in the subfolder build/raw/. For
convenience, they are all concatenated together into a bundled raw
file called build/42s-atomic.raw, which, when loaded, imports all
the routines in one fell swoop.
To translate from text format to raw files, the txt2raw.pl by
Vini Matangrano is used.
LELEV- Load first ionization energies (in eV) into a matrix
named
ELEV. (Data source: NIST) LCONST- Load constants useful for atomic units, etc. See constants.yaml for which constants are defined.
OMEGAU- Given a wavelength λ in SI units, calculate the
angular frequency ω = 2πc₀/λ, storing the result in
atomic units in the variable
OMEGAUand in electronvolts inOMEGAEV. ATOMIP- Given an atomic number Z, store the ionization
potential Iₚ (in atomic units) in the variable
ATOMIP. UP- Calculate the ponderomotive potential Uₚ = I/4ω² from the
field intensity I and the angular frequency ω (all in
atomic units; uses the subroutine
OMEGAU). HHGCUT- Calculate the classical cut-off in HHG, Wₖ₋ₘₐₓ =
3.17Uₚ + Iₚ given an intensity, a wavelength and an
atomic number, and store the result as
CUTOFF- atomic units,
CUTOEV- electronvolts,
CUTOFQ- harmonic orders (i.e. Wₖ₋ₘₐₓ/ω).
(uses the subroutines
ATOMIPandUP). HHGEXC- Calculate the typical excursion of an electron in HHG,
given by <x> = E/ω², where the electric field
amplitude E = √I. The result is stored in the
variables
EXCAUandEXCSIin Bohr radii and metres, respectively (uses the subroutineUP). KELDYSH- Calculate the Keldysh parameter γ = √(Iₚ/2Uₚ) and
stores the result in the variable
GAMMA(uses the subroutinesATOMIPandUP).
These routines are only tested using Free42, as I don’t own a real HP42s device.