Welcome to AtomCalc’s documentation!

AtomCalc simulates the interaction between multi-level atoms and laser fields. It calculates how the population of the electronic levels of an atom changes if laser pulses are applied. To allow for realistic simulations, decay channels can be taken into account. A tutorial on how to simulate motional states can be found here. A system is defined by the levels, the lasers, and decay paths. For each of them exists one class that owns the corresponding properties. The time evolution of the population of each level is then calculated with the simulate function that uses a Lindblad master equation approach.

This project is supposed to be expanded and should be seen as a construction fundament. The methods used in the code are explained in my master thesis which can be obtained via the 5th institute of physics of the university of Stuttgart.

The code is documented in the Classes and Functions section of this documentation. The whole python file can be accessed on the corresponding GitHub page. The tutorials can also be accessed on GitHub as Jupyter notebooks.

Installation

AtomCalc can be installed with pip install atomcalc. Its dependencies are Matplotlib, SciPy, NumPy and QuTiP.