SNAP

SNAP (Spectral Neighbor Analysis Potential) is a machine-learning interatomic potential (MLIP) developed at Sandia National Laboratories by A.P. Thompson, L.P. Swiler, C.R. Trott, S.M. Foiles, and G.J. Tucker. SNAP uses bispectrum compon…

10. NICHE & ML 10.2 MLIPs ACE Linear VERIFIED 2 papers
Back to Directory Official Website

Overview

SNAP (Spectral Neighbor Analysis Potential) is a machine-learning interatomic potential (MLIP) developed at Sandia National Laboratories by A.P. Thompson, L.P. Swiler, C.R. Trott, S.M. Foiles, and G.J. Tucker. SNAP uses bispectrum components to characterize the local neighborhood of each atom, similar to the GAP (Gaussian Approximation Potential) framework, but assumes a linear relationship between atom energy and bispectrum components, enabling robust automated fitting via weighted least-square

Reference Papers (2)

Full Documentation

Official Resources

  • Homepage: https://github.com/FitSNAP/FitSNAP
  • Source Repository: https://github.com/FitSNAP/FitSNAP
  • Documentation: https://docs.lammps.org/stable/pair_snap.html
  • License: GNU General Public License

Overview

SNAP (Spectral Neighbor Analysis Potential) is a machine-learning interatomic potential (MLIP) developed at Sandia National Laboratories by A.P. Thompson, L.P. Swiler, C.R. Trott, S.M. Foiles, and G.J. Tucker. SNAP uses bispectrum components to characterize the local neighborhood of each atom, similar to the GAP (Gaussian Approximation Potential) framework, but assumes a linear relationship between atom energy and bispectrum components, enabling robust automated fitting via weighted least-squares linear regression.

The SNAP potential is implemented in the LAMMPS parallel molecular dynamics code as the pair_style snap command. The linear SNAP coefficients are determined using the FitSNAP software, which provides a Python framework for generating MLIPs for LAMMPS. SNAP has been demonstrated to accurately reproduce a range of properties for tantalum including liquid structure, crystalline properties, and the Peierls barrier for screw dislocation migration in BCC metals. A previously unnoticed symmetry property can be exploited to reduce the computational cost of force calculations by more than one order of magnitude.

Scientific domain: Machine learning interatomic potentials, atomistic simulation
Target user community: Materials scientists using MD simulations with ML potentials

Theoretical Methods

  • Bispectrum components of local neighbor density
  • Hyperspherical harmonics in four dimensions (4D)
  • Linear regression of energy vs. bispectrum components
  • Weighted least-squares fitting
  • Bond-orientational order parameters (same as GAP)
  • Symmetry exploitation for computational efficiency

Capabilities (CRITICAL)

  • Linear ML interatomic potential via bispectrum descriptors
  • Automated fitting to large QM datasets via FitSNAP
  • Implementation in LAMMPS (pair_style snap)
  • Accurate reproduction of crystalline and liquid properties
  • Correct prediction of dislocation migration barriers
  • Multi-element support (Ta, InP, SiO2, TaOx)
  • Parallel MD simulation support
  • Force calculation speedup via symmetry properties
  • Configurable bispectrum parameters (twojmax, etc.)

Inputs & Outputs

Input formats:

  • SNAP coefficient files (.snapparam and .snapcoeff)
  • LAMMPS input scripts with pair_style snap
  • QM training data (DFT energies, forces, stresses)

Output data types:

  • Interatomic potential coefficients
  • MD simulation energies, forces, stresses
  • FitSNAP fitting metrics and validation results
  • LAMMPS trajectory outputs

Interfaces & Ecosystem

  • Programming language: C++ (LAMMPS), Python (FitSNAP)
  • MD engine: LAMMPS (pair_style snap)
  • Fitting software: FitSNAP (https://github.com/FitSNAP/FitSNAP)
  • Parallel computing: MPI parallelization in LAMMPS
  • Training data: DFT calculations (VASP, QE, etc.)

Limitations & Known Constraints

  • Linear model limits expressiveness compared to nonlinear potentials
  • Bispectrum computation can be expensive for high twojmax
  • Requires DFT training data generation
  • Single-element potentials well-validated; multi-element more challenging
  • Radial cutoff and basis size need convergence testing

Performance Characteristics

  • Linear regression: fast fitting (minutes to hours)
  • Force calculation: 10x speedup via symmetry exploitation
  • LAMMPS parallel scaling for large-scale MD
  • Faster than GAP (Gaussian process) but less flexible
  • Bispectrum evaluation is the computational bottleneck

Comparison with Other Codes

  • vs GAP: GAP uses Gaussian process regression (nonlinear); SNAP uses linear regression. Both use bispectrum
  • vs ACE: ACE uses polynomial basis (more efficient); SNAP uses bispectrum (more expensive but systematic)
  • vs NEP: NEP uses neural network; SNAP uses linear model. NEP is more flexible
  • vs MTP: MTP uses moment tensor basis; SNAP uses bispectrum. Both are linear in features

Best Practices

  • Use FitSNAP for automated potential fitting
  • Converge twojmax (bispectrum basis size) for target accuracy
  • Include diverse training configurations (crystals, liquids, defects)
  • Use symmetry properties for force calculation speedup
  • Validate against properties not in training set
  • Use sufficient radial cutoff for target system

Verification & Sources

Primary sources:

  1. LAMMPS SNAP docs: https://docs.lammps.org/stable/pair_snap.html
  2. FitSNAP GitHub: https://github.com/FitSNAP/FitSNAP
  3. A.P. Thompson et al., J. Comput. Phys. 285, 316-330 (2015)
  4. Sandia publication: https://www.osti.gov/biblio/1426894

Confidence: VERIFIED - LAMMPS implementation and FitSNAP repository confirmed accessible

Related Tools in 10.2 MLIPs ACE Linear