Table of Contents
Fetching ...

atomSmltr: a modular Python package to simulate laser cooling setups

Mateo Weill, Andrea Bertoldi, Alexandre Dareau

TL;DR

atomSmltr presents a modular, Python-based framework for simulating laser cooling in complex magnetic and optical-field geometries. The package emphasizes a three-tier workflow—defining environment objects, building a Configuration, and running a Simulator—along with vectorized, parallelizable integration to handle many atoms efficiently. It validates the approach through canonical benchmarks (1D MOT, Doppler limit, and cross-checks with AtomECS) and demonstrates practical applications to realistic Sr sources and atomic fountains, highlighting its flexibility and utility for experimental design. Current limitations include a J=0→1 simplification and lack of interparticle effects, with planned enhancements such as optical Bloch solvers and extended atomic structures. Overall, atomSmltr offers a practical, extensible tool for rapid prototyping, optimization, and education in laser-cooling experiments.

Abstract

We introduce atomSmltr, a Python package for simulating laser cooling in complex magnetic field and laser beams geometries. The package features a modular design that enables users to easily construct experimental setups, including magnetic fields, laser beams and other environment components, and to perform a range of simulations within these configurations. We present the overall architecture of atomSmltr and illustrate its capabilities through a series of examples, including benchmarks against standard textbook cases in laser cooling.

atomSmltr: a modular Python package to simulate laser cooling setups

TL;DR

atomSmltr presents a modular, Python-based framework for simulating laser cooling in complex magnetic and optical-field geometries. The package emphasizes a three-tier workflow—defining environment objects, building a Configuration, and running a Simulator—along with vectorized, parallelizable integration to handle many atoms efficiently. It validates the approach through canonical benchmarks (1D MOT, Doppler limit, and cross-checks with AtomECS) and demonstrates practical applications to realistic Sr sources and atomic fountains, highlighting its flexibility and utility for experimental design. Current limitations include a J=0→1 simplification and lack of interparticle effects, with planned enhancements such as optical Bloch solvers and extended atomic structures. Overall, atomSmltr offers a practical, extensible tool for rapid prototyping, optimization, and education in laser-cooling experiments.

Abstract

We introduce atomSmltr, a Python package for simulating laser cooling in complex magnetic field and laser beams geometries. The package features a modular design that enables users to easily construct experimental setups, including magnetic fields, laser beams and other environment components, and to perform a range of simulations within these configurations. We present the overall architecture of atomSmltr and illustrate its capabilities through a series of examples, including benchmarks against standard textbook cases in laser cooling.

Paper Structure

This paper contains 46 sections, 13 equations, 12 figures.

Figures (12)

  • Figure 1: Typical simulation workflow with atomsmltr. Users begin by defining a set of environment objects (e.g., laser beams, magnetic fields, forces), and then combine them to create experimental configurations. These configurations are then passed to simulators to perform the simulations. The modular architecture makes the package user-friendly and allows seamless extension with new features, such as additional types of environment objects or simulators.
  • Figure 2: Motion of an ytterbium atom in a 1D MOT, simulated using atomsmltr (solid lines) and compared to analytical predictions (black dotted lines). Results are shown for several magnetic field gradients $b$ (see legend). The atom exhibits damped oscillatory motion, with the oscillation frequency increasing with $b$, in good agreement with theoretical expectations.
  • Figure 3: Simulation of the Doppler cooling limit in three-dimensional optical molasses for ytterbium atoms on the main transition ($\lambda=\qty{399}{\nano\meter}$). An ensemble of $2 \times 10^3$ atoms is initialized at rest and allowed to thermalize for various lasers detuning $\delta$. (a) Time evolution of the ensemble temperature. The total integration time is adjusted for each $\delta$ to maintain an approximately constant number of scattered photons. The temperature reaches a steady-state plateau by the end of the simulation. (b) Final temperature as a function of the laser detuning $\delta$, averaged over the last 150 simulation steps, corresponding to the steady-state regime. Simulation results (circles) are compared with the analytical prediction (solid line) given by Equation \ref{['eq:Doppler_limit']}.
  • Figure 4: Comparison between atomsmltr (Python) and atomECS (Rust) using examples from chen2021. (a) Cooling dynamics in a one-dimensional optical molasses for rubidium atoms on the D2 line at 780 (see main text for details). Excellent agreement is observed between the atomsmltr results (plain orange line) and the atomECS ones (dotted black line). (b) Cooling and capture in a one-dimensional MOT for strontium atoms on the main transition at 461. Away from the capture limit, i.e., for $v_z$ way above or bellow 80, good agreement is found between atomsmltr (plain purple line) and atomECS (dotted black line). A visible discrepancy appears in the tail of the trajectory of nearly-captured atoms, which is highly sensitive to the exact point at which the atom leaves the cooling trajectory. This effect can depend on the integration method and time step, but has minimal impact on relevant quantities, such as the capture velocity limit.
  • Figure 5: Computation time as a function of the number of independent simulations for different integration models in atomsmltr. The horizontal axis indicates the number of atoms, corresponding to independent simulations performed under identical experimental conditions but with varying initial positions and velocities. The in-house integrators (Euler, EulerSt, RK4, RK4St and VelocityVerlet) exploit vectorization to run simulations in parallel, whereas the scipy-based models (ScipyIVP) execute them sequentially. For small atom numbers, the scipy-based models are faster; however, as the number of atoms increases, the benefits of vectorization become apparent, and the atomsmltr models achieve superior performance.
  • ...and 7 more figures