Various tools for doing atomic physics calculations, including calculating eigenstates of the hyperfine and Zeeman interactions versus magnetic field (i.e. solving the Breit-Rabi problem), calculating branching ratios for alkali atoms decaying from the D1 or D2 transition, and tools for solving the optical Bloch equations.
Excellent references on the properties of various alkali atoms are available online.
- Daniel Steck's sodium, rubidium, and cesium datasheets,
- Tobias Tiecke's potassium datasheet,
- Michael Gehm's lithium-6 datasheet.
Useful background reading
- Daniel Steck's atomic physics notes.
- J.T.M. Walraven's notes
- Optical molasses and multilevel atoms: theory
- Optical dipole traps for neutral atoms
- Fourier-transform-spectroscopy measurements in the spectra of neutral lithium, ⁶I and ⁷I (li i)
- Quantum-state control in optical lattices
- Reduced dipole matrix element for photoionization calculation of two open-shell atoms or ions
- Critically evaluated theoretical energies, lifetimes, hyperfine constants, and multipole polarizabilities in Rb 87
- Magic wavelengths for optical cooling and trapping of lithium
- Magnetic-field dependence of raman coupling in alkali-metal atoms
To install this code
git clone https://github.com/ptbrown1729/atomic-physics.git
cd atomic-physics
pip install .
If you wish to edit the code, install with the -e
option by replacing the last line with pip install -e .
.
Calculate the angular portion of atomic matrix elements.
Tools for calculating the Clebsch-Gordon coefficients, Wigner 3j, and Wigner 6j symbols. The functions here have been taken from other sources and adapted to python. The Clebsch-Gordon coefficients and Wigner 3j symbol are based on functions created by David Terr which are available on the MathWorks file exchange. The Wigner 6j symbol function was based on a function written by Ulrich Krohn.
Tools for solving differential equations using the Numerov method. This is relevant to atomic physics for solving the radial wavefunction of Rydberg atoms. The approach here was adopted from
Example scripts utilizing, mostly for calculating properties of lithium-6.
Tests verifying matrix element calculations by comparing with published results
Several Matlab functions for solving the optical Bloch equations and calculating properties of electromagnetically induced transparency (EIT).