SciPost Submission Page

AtomECS: Simulate laser cooling and magneto-optical traps

by X. Chen, M. Zeuner, U. Schneider, C. J. Foot, T. L. Harte, E. Bentine

Submission summary

As Contributors: Elliot Bentine
Arxiv Link: (pdf)
Code repository:
Date submitted: 2021-08-24 18:00
Submitted by: Bentine, Elliot
Submitted to: SciPost Physics Codebases
Academic field: Physics
  • Atomic, Molecular and Optical Physics - Experiment
  • Atomic, Molecular and Optical Physics - Theory
Approach: Computational


AtomECS is a software package that efficiently simulates the motion of neutral atoms experiencing forces exerted by laser radiation, such as in magneto-optical traps and Zeeman slowers. The program is implemented using the Entity-Component-System pattern, which gives excellent performance, flexibility and scalability to parallel computing resources. The simulation package has been verified by comparison to analytic results, and extensively unit tested.

Current status:
Editor-in-charge assigned

Submission & Refereeing History

You are currently on this page

Submission 2105.06447v1 on 24 August 2021

Reports on this Submission

Anonymous Report 1 on 2021-10-10 (Invited Report)


1- introduced to the community an example of a trendy programming architecture (entity-component-system) for high performance simulation.
2- the high performance would enable a simulation-based (pre-)optimization of system parameters of a complex cold-atom experiment, which could have immediate impact for existing and future setups.
3- possibility to simulate a magneto-optical trap from the atomic source such as an oven.
4- the benchmark of the parallel performance is demonstrated.


1- complex level structure (beyond two-level) is not yet supported.


The manuscript "AtomECS: Simulate laser cooling and magneto-optical traps" reports a new software package for numerical simulation of atomic trajectories under laser cooling. While many implementations exist for various purposes, it is computationally difficult to use such simulations to optimize system parameters of an experiment. This package employs a modern architecture of data-oriented programming that allows highly efficient simulations of large systems. Certain simplifications are employed such as limiting to two-level system and the rate-equation method. Nevertheless, it can well simulate a MOT consistent with the Doppler limit, even directly from an atomic beam source. It is then possible to simulate a complete setup (from oven to MOT chamber) and use it to optimize its design for example.
The manuscript is well structured, generally well written and well referenced. It meets the criteria of the journal and I recommend its publication in SciPost Physics Codebases. I do suggest more details to be added on the project repository and a few changes that may improve the readability.

Specific comments:
1- It is not yet clear to me if the rate-equation method is sufficient for the narrow-line MOT. Could the authors comment on this?
2- Is it possible to implement the OBE solution as an option? In this case, would it significantly reduce the efficiency or there are other issues?
3- Given that there are existing packages for similar tasks, it would be very helpful if the authors could provide a short "selection guide" summarizing some pros and cons/limitations of a few packages (known to the authors) such that one could more easily find the optimal solution.
4- Instructions about the installation (including relevant information about rust) are scarce (on the github page). The authors are encouraged to supplement these instructions for a broader user base.
5- In 6.1, the code and the explanation only mentions a beam pointing along -z. This is a bit confusing as another beam pointing along z also has to be defined.
6- In 6.4, I think it would be helpful to include the code that shows how the atom source is defined. Additionally, it would be interesting to see how an atomic beam defined two orifices could be coded.
7- In appendix A at the very end, $v$ used for the comparison should be specified (although from the context it is in the regime $kv\gg\Gamma$). It would also be interesting though to see comparison in the other regime.

Requested changes

suggested changes see comments in the report

  • validity: high
  • significance: good
  • originality: good
  • clarity: high
  • formatting: excellent
  • grammar: perfect

Login to report or comment