Skip to main content

Atomistic Manipulation Toolkit

Project description

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. Create dislocation monopoles and evaluate them with differential displacement and Nye tensor plots.

  3. Generate point defects.

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

  5. Easily convert systems to/from the other Python atomic environments of ASE and PyMatGen.

  6. Can create systems based on CIF crystal structure files, and LAMMPS atom and dump files.

  7. Built-in unit conversions.


The atomman package is designed for Python 2.7. It makes heavy use of numpy, so it’s easiest to download a Python environment like Anaconda.

The latest release can be installed using pip:

pip install atomman

This pip command should install atomman and any other required packages, but occasionally a requirement may have to be installed separately. The list of required packages are given below.

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


Tutorials and full reference documentation can be found on GitHub in the form of Jupyter Notebooks. This provides explanations as well as examples of functioning code. They can also be downloaded and used interactively.

The links below are to the tutorials for the most recent stable release:

Required packages

This is a list of the required Python packages

  • xmltodict converts XML files to Python dictionaries. Used by DataModelDict.

  • DataModelDict class allowing for easy transformations between XML/JSON/Python representations of structured data models.

  • numericalunits helps with unit conversions.

  • numpy, scipy, and matplotlib Python scientific tools

Optional packages

This is a list of additional Python packages that can add functionality

  • diffpy.Structure - CIF reader. Required for loading systems from CIF files.

  • ase the Atomic Simulation Environment for interacting with small systems and DFT calculations. Required for converting to/from ase.Atoms objects.

  • pymatgen the Python Materials Genomics package used by the Materials Project for DFT calculations. Required for converting to/from pymatgen.Structure objects.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (98.8 kB view hashes)

Uploaded Source

Built Distribution

atomman-1.0-py2-none-any.whl (106.9 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page