This repository was archived by the owner on Jul 27, 2026. It is now read-only.
MOTorNOT v1.0.0
First tagged release of this fork. Builds on Robert Fasano's original semiclassical MOT scattering-force model and adds everything needed to simulate a full MOT → optical-dipole-trap transfer:
Added
- CPU/GPU backend — every module dispatches through NumPy or CuPy transparently (
get_array_module), so the same code runs on CPU or an NVIDIA GPU with no duplicated logic. - Optical dipole traps (
dipole.py) — the AC-Stark potential for a focused Gaussian beam, a retro-reflected 1D lattice, or two crossed beams, with an exact analytic force (no finite differences). - Multi-level atomic dynamics (
levels.py) — F=2 ↔ excited ↔ dark-F=1 rate equations with a repumper, including an exact (non-stiff) solve for the dark-state population. - Ensemble diagnostics (
diagnostics.py) — temperature, velocity/position distributions and other cloud-level observables. - MOT → dipole recapture (
recapture.py) — classical energy-criterion recapture accounting. - High-level API (
api.py) and a backend-aware RK4integrate()(integration.py) for driving a simulation end to end without touching the individual physics modules. - A physics-focused README with the equations behind each block.
Install
pip install motornot-1.0.0-py3-none-any.whl
# or, from source:
pip install git+https://github.com/alexlegoshin/MOTorNOT
# optional GPU acceleration:
pip install "cupy-cuda12x[ctk]"Assets
motornot-1.0.0-py3-none-any.whl— wheel, install directly with pip.motornot-1.0.0.tar.gz— source distribution.