A Python package for machine learning potentials with LAMMPS.
Documentation page: https://fitsnap.github.io
Colab Python notebook tutorial: https://colab.research.google.com/github/FitSNAP/FitSNAP/blob/master/tutorial.ipynb
Rohskopf et al., (2023). FitSNAP: Atomistic machine learning with LAMMPS. Journal of Open Source Software, 8(84), 5118, https://doi.org/10.21105/joss.05118
- This package expects Python 3.10+
- Python dependencies: See
pyproject.toml
- Compile LAMMPS as a shared library with python support.
If you can run
import lammps; lmp = lammps.lammps()
without errors in your Python interpreter, you're good to go! - [Optional] To use neural network fitting functionality, install PyTorch.
- [Optional] For optimal performance, also install your favorite flavor of MPI (OpenMPI, MPICH) and
the Python package
mpi4py
. If installing mpi4py with a Python package manager, we recommend using pip over conda as pip will auto-configure your package to your system's defaut MPI version (usually what you used to build LAMMPS). - [Optional] For atomic cluster expansion (ACE) capabilities, build LAMMPS with the ML-PACE package,
along with the
compute_pace
files from https://github.com/jmgoff/lammps-user-pace
WARNING: Conda LAMMPS installation does NOT include ACE. See the docs for details on how to install the current LAMMPS which has these functionalities.
- Add conda-forge to your conda install, if not already added:
conda config --add channels conda-forge
- Create a new conda environment:
conda create -n fitsnap python=3.9; conda activate fitsnap;
- Install the following packages:
conda install -c conda-forge lammps fitsnap3
(mpirun -np #) python -m fitsnap3 [options] infile
- Command line options can be seen with
python -m fitsnap3 -h
- Examples of published SNAP interatomic potentials are found in
examples/
- Examples of running FitSNAP via the library interface are found in
examples/library
- See our Programmer Guide on how to add new features.
- Abide by our code standards by installing
flake8
and runningflake8 --statistics
in the top directory. - Get Sphinx with
pip install sphinx sphinx_rtd_theme
for adding new documentation, and seedocs/README.md
for how to build docs for your features. - Feel free to ask for help!
- Mitchell Wood and Aidan Thompson co-lead development of FitSNAP since 2016.
- The FitSNAP Development Team is the set of all contributors to the FitSNAP project, including all subprojects.
- The core development of FitSNAP is performed at the Center for Computing Research (CCR), Sandia National Laboratories, Albuquerque, New Mexico, USA
- The original prototype of FitSNAP was developed in 2012 under a CIS LDRD project.
Copyright (2016) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License