Skip to content
/ atomphys Public

A Python package to help with atomic physics calculations.

License

Notifications You must be signed in to change notification settings

mgrau/atomphys

Repository files navigation

atomphys

atomphys logo

A Python package to help with atomic physics calculations.

Tests Codecov GitHub PyPI Binder


Documentation: mgrau.github.io/atomphys/

Source Code: github.com/mgrau/atomphys


atomphys is meant to be a good starting off point for your atomic physics calculations. It can automate much of the frustrating process of searching for and compiling physical data and simple physical relations, and help you more quickly get to the good stuff.

It's designed with a natural interface and is easy to use.

Example

>>> from atomphys import Atom
>>> Rb = Atom('Rb')

>>> print(Rb('S1/2').to('P1/2').λ.to('nm'))
795 nm

>>> print(Rb('P1/2').τ.to('ns'))
27.7 ns

Installation

To install atomphys, simply use pip:

$ pip install atomphys

Features

  • Integration with Pint for robust handling of units
  • Automatically fetch energy level and transition data from the NIST Atomic Spectra Database
  • Use transition data to calculate state lifetimes, polarizabilities, transition dipole moments, cross sections, and saturation intensities

Requirements

Python 3.6+

atomphys makes extensive use of the excellent package Pint to handle units.