atomman: Atomistic Manipulation Toolkit


AtomMan: the Atomistic Manipulation Toolkit is a Python library for creating, representing, manipulating, and analyzing large-scale atomic systems of atoms. The focus of the package is to facilitate the rapid design and development of simulations that are fully documented and easily adaptable to new potentials, configurations, etc. The code has no requirements that limit which systems it can be used on, i.e. it should work on Linux, Mac and Windows computers.


  1. Allows for efficient and fast calculations on millions of atoms, each with many freely defined per-atom properties.

  2. Built-in tools for generating and analyzing crystalline defects, such as point defects, stacking faults, and dislocations.

  1. Call LAMMPS directly from Python and instantly retrieve the resulting data or LAMMPS error statement.

  2. Easily convert systems to/from the other Python atomic representations, such as ase.Atoms and pymatgen.Structure.

  3. Can read and dump crystal structure information from a number of formats, such as LAMMPS data and dump files, and POSCAR.

  4. Built-in unit conversions.


The atomman package is Python 3.7+ compatible.

The latest release can be installed using pip:

pip install atomman

or, alternatively using conda and conda-forge:

conda install atomman -c conda-forge

For Windows users, it is recommended to use an Anaconda distribution and use conda to install numpy, scipy, matplotlib, pandas and cython prior to installing atomman.

Alternatively, all code and documentation can be downloaded from GitHub.


Code Documentation

Indices and tables