NIST Interatomic Potentials Repository Tools

Various tools have been developed as part of the Interatomic Potential Repository project. These tools are related to the computation of materials properties associated with the hosted interatomic potentials. This page provides short descriptions of the tools and links to the code and more complete documentation.

Python Tools: iprPy

Download from GitHub: https://github.com/usnistgov/iprPy

The iprPy project is a collection of tools and resources for developing and performing classical atomistic simulations. It was originally created to support basic property calculations for the NIST Interatomic Potential Repository allowing for the different hosted potentials to be evaluated and compared. The robustness of iprPy is such that it can also be used for handling more complex materials analyses for research purposes.

The design principles for iprPy are:

  • Full documentation is provided for all calculations explaining not only how to perform the calculations, but also detailing the strengths and weaknesses of the underlying routines.
  • Each calculation is a complete, independent unit of work with clear input parameters and structured results. This makes it possible to easily share the calculations and provide results that are both human- and machine-readable.
  • Calculations should be easily adapted to work with high-throughput resources for performing over a wide range of potentials and conditions.

The code and details of the calculations used can be found on the GitHub site.

Python Tools: atomman

Download from GitHub: https://github.com/usnistgov/atomman

AtomMan: the Atomistic Manipulation Toolkit is a Python library for interacting with large-scale atomic systems. 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/atomic arrangements/etc. All of the property calculation scripts in iprPy use atomman.

  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.
Date Created: October 5, 2010 | Last updated: September 25, 2018