This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Physics models

Atom database, optical dipole traps, Stark shifts and scattering.

quatm.physics collects reusable models shared by experiments and analysis. They are ordinary Python functions: no hardware access, no GUI dependency, and suitable for notebooks or offline design work.

Included models

  • Atom database — species data, transition wavelengths, linewidths and saturation parameters.
  • Optical dipole traps — trap depth, frequencies, waists and polarisability.
  • Light–matter interaction — scattering rate, saturation and photon recoil.
  • Stark shifts — AC and DC shifts for ground and excited states.
  • Feshbach resonances — resonance lookup and field-dependent scattering length.
  • Statistics — distributions and fitting helpers used by analysis code.

Using the models

from quatm.physics.odt import optical_trap

result = optical_trap(power=1.0, waist=30e-6, wavelength=1064e-9,
                      species='Rb87')
print(result.depth_uK)

The model layer imports no GUI and no instruments, so it can run on a laptop or inside a web service. Units are explicit in function signatures and docstrings; avoid ambiguous bare numbers in experiment code.

Relationship to analysis

Analysis modules use the same physics layer for conversion between camera counts, optical density and atom number. This keeps calibration and fitting consistent across the GUI, web console and scripts.

1 - Atom database

Atom properties for Ba, Rb, Li, Mg and Ca: mass, transition frequencies and Clebsch-Gordan coefficients.

Overview

atomlib provides precomputed physical data for the atomic species commonly used in cold-atom and ion experiments.

Predefined atoms

DictionarySpeciesTypical use
BariumDictBa⁺Ion-trap quantum computing
RubidiumDict⁸⁷RbBose-Einstein condensates
LithiumDict⁶LiUltracold Fermi gases
MagnesiumDictMg⁺Ion-trap precision measurement
CalciumDictCa⁺Ion-trap optical clocks

Attribute fields

AttributeDescription
massAtomic mass (kg)
ground_stateGround-state level identifier
excited_stateExcited-state level identifier
transition_frequencyTransition frequency (Hz)
decay_rateSpontaneous-emission decay rate (s⁻¹)
clebsch_gordanClebsch-Gordan coupling coefficient

2 - Electric-field calculations

Electric potentials in ion traps: stray fields, curvature and one-dimensional ion-position calculations.

Overview

efields computes the electric potential distribution of ions in a Paul trap. It supports stray-field and curvature parameters and solves for the one-dimensional ion equilibrium positions using the James method.

Classes

ClassDescription
efieldsElectric-potential calculation, including stray field and curvature
DCTrapManages mean/random stray-field configurations
from quatm.physics.odt.efields import efields

field = efields(stray_field=(1e-3, 0, 0), curvature=0.01)
potential = field.compute_potential(x_grid)

3 - Laser model

Gaussian-beam laser: beam size, intensity, wavefront curvature and scaled electric field.

Overview

The Laser class models a Gaussian-beam laser. It manages the automatic synchronization of wavelength/frequency/wavenumber conversion and computes the beam size, the radius of curvature R and the scaled electric field along the propagation direction.

from quatm.physics.odt.lasers import Laser

laser = Laser(wavelength=1064e-9, power=10.0, waist=50e-6)
intensity = laser.intensity(z=0.0)
w = laser.beam_radius(z=0.01)

4 - Light-matter interaction

AC Stark shifts and scattering rates: Clebsch-Gordan-weighted calculations for S→P and D→P transitions.

Overview

LMinteraction computes the interaction between a laser field and an atom: the AC Stark shifts for the ground-to-excited (S→P) and metastable-to-excited (D→P) transitions, and the off-resonant photon scattering rate.

from quatm.physics.odt.lightmatterint import LMinteraction

lm = LMinteraction(atom=Ba, laser=laser)
shift = lm.stark_shift(intensity=1e6)  # Hz
rate = lm.scattering_rate(intensity=1e6)  # s⁻¹

5 - Optical trap model

Composite traps: full 1D/2D/3D potential calculation for dipole beams plus electric fields.

Overview

Trap combines a Gaussian-beam optical dipole trap with electrostatic fields into a composite trap model and computes the trap depth (potential turning points) and the three-dimensional potential distribution.

from quatm.physics.odt.opticaltraputils import Trap

trap = Trap(laser=odt_laser, efield=dc_field)
depth = trap.trap_depth()  # µK
potential_2d = trap.potential_2d(x, y, z=0)

6 - Statistical tools

Binomial Wilson score intervals: confidence intervals for ion-state discrimination.

Overview

statistics provides binomial proportion confidence intervals based on the Wilson score interval, used for statistical error estimation in ion-state discrimination.

FunctionDescription
wilson_score(p, n)Computes the Wilson score for proportion p
wilson_err(p, n)Half-width of the Wilson confidence interval
getrandbincont(p, n, N)Samples the experiment probability N times from binomial outcomes

Wigner symbols (utils)

The utils module provides complete Racah-formula implementations of the Wigner3j and Wigner6j symbols, for angular-momentum coupling calculations.