can anyone give me some list recommendations of software or open source that can generate potential
-
5$\begingroup$ "Potential" is a highly ambiguous word here. Do you mean Coulomb potential, or interatomic potential, or some other sort of potential? $\endgroup$– wzkchem5Apr 14, 2022 at 11:20
-
2$\begingroup$ +pseudopotentials for DFT? $\endgroup$– Camps ♦Apr 14, 2022 at 11:21
-
$\begingroup$ This is definitely an ill-posed question, as is also shown by the variability of the answers presented. $\endgroup$– Susi LehtolaApr 21, 2022 at 19:42
-
$\begingroup$ potentially related(?) in meta: Resource Requests: Constructing a Canonical List I don't mean to imply that a canonical list is being generated in this case, just that list-generation has some meta activity. $\endgroup$– uhohApr 21, 2022 at 20:21
4 Answers
There are different flavors of interatomic potentials, from the classical Lennard-Jones and Morse models to more recent machine learning models. I will limit the answer to reactive potential models without considering bonded force fields.
Check existing potentials repository
Before fitting a new model, first try searching the repositories
- OpenKIM (https://openkim.org)
- NIST (https://www.ctcms.nist.gov/potentials/)
to see whether you can find one that satisfies your needs. Via the KIM API (https://openkim.org/kim-api), models archived on OpenKIM can be used in various molecular simulation codes, such as LAMMPS, ASE, DL_POLY, GULP, and ASAP. OpenKIM also provides analysis of each model (e.g. citation analysis and tests on canonical properties like cohesive energy and elastic constant), which may help you to decide whether a model satisfies your need. For an example, see https://openkim.org/id/EAM_Dynamo_Ackland_1992_Ti__MO_748534961139_005.
Build new potentials
If none satisfies the need, there are basically three steps to create a new model.
Assemble a dataset
Traditionally, potentials are fit to reproduce a set of experimental properties, but nowadays most potentials are fit to more easily obtainable properties from quantum mechanical calculations.
Here are some DFT codes that can be used to generate a dataset of energy, forces, and stress for training the model.
- Quantum Espresso (open source) https://www.quantum-espresso.org
- VASP (commercial) https://www.vasp.at
- ABINIT (open source) https://www.abinit.org
- SIESTA (open source) https://departments.icmab.es/leem/siesta/
- CP2K (open source) https://www.cp2k.org
If you do not want to generate a dataset by yourself, some computational materials databases may have DFT data that can be used for fitting a potential, such as
- The Materials Project https://materialsproject.org
- AFLOW http://www.aflowlib.org
- OQMD https://oqmd.org
- NOMAD https://nomad-lab.eu
- JARVIS https://jarvis.nist.gov
Train the model
Given a dataset, many open-source codes can be used to fit a potential. Below are some widely used ones, and I categorize them into codes that build physics-based models (e.g. Tersoff) or build machine learning models (e.g. neural network).
Physics based
- potfit https://www.potfit.net/wiki/doku.php
- KLIFF https://github.com/openkim/kliff
- atomicrex https://www.atomicrex.org
Machine learning
- KLIFF (general purpose) https://github.com/openkim/kliff
- MAML (general purpose) https://github.com/materialsvirtuallab/maml
- GAP (Gaussian approximation potential) https://libatoms.github.io
- MTP (Moment tensor potential) https://mlip.skoltech.ru
- SNAP (Spectral neighbor analysis potential) https://github.com/FitSNAP/FitSNAP
- PANNA (Behler--Parrinello type neural network) https://gitlab.com/PANNAdevs/panna
- AMP (Behler--Parrinello type neural network) https://bitbucket.org/andrewpeterson/amp
- aenet (Behler--Parrinello type neural network) http://ann.atomistic.net
- DeePMD https://github.com/deepmodeling/deepmd-kit
- SchNet (graph neural network) https://github.com/atomistic-machine-learning/schnetpack
- NequIP (equivariant graph neural network) https://github.com/mir-group/nequip
Deploy the model
Most of the fitting codes listed above do have an interface to either LAMMPS or ASE, or both. So deploying the fitted model for simulation is typically not a problem. PANNA, potfit, and KLIFF have interfaces to the KIM API, and potentials created with them can be used in multiple simulation codes.
Disclaimer
I am the author of KLIFF.
My answer is based on Lammps
Creating interatomic-potential which predicts every property of different phase is a nightmare job. There are few database which is already available for inter-atomic potential where people have contributed their work.
Step 1:
kindly check these website before you put your effort in creating new potential.
- https://openkim.org/
- https://www.ctcms.nist.gov/potentials
- https://sites.google.com/site/eampotentials/Home
Even lammps package contain so many well tested inter atomic-potentials
Step 2:
If step 1 is not helpful, find literature where people have tested your system for different property or created new potential. Potentials can be hybrid as well. If you find new interatomic potential which is already published, Best idea to mail the author and most of the time author provides new inter-atomic potentials. If not you can fit those parameters in software to generate potential files
for fitting check https://atsimpotentials.readthedocs.io/en/latest/
Step 3:
If someone really want to break the shackle, you need four thing,
- Target value corresponding to property of system
- functional form of potential
- Engine like lammps which will run again and again with different potential parameters.
- Multi-objective optimization tool. There are several evolutionary algorithm like genetic-algorithm can optimize your unknown coefficient.
some package which can be used to create your new potential
Many other tools are also available which can be used to fit either DFT data or output of experiment/DFT.
-
-
$\begingroup$ related: DIY molecular dynamics for Xenes on crystal surfaces; where can I get applicable open-source force field parameters that I can use in my scripts? I have a hunch that this answers my earlier question so well that I may vote to close it as duplicate of this. Very helpful! $\endgroup$– uhohApr 14, 2022 at 21:38
If you want to calculate potential data $V(\{{\bf R}_i\})$ with ab initio methods to fit to some analytical form, you can find a recent listing of free and open source electronic structure codes in our open access review article in WIREs Computational Molecular Science, doi:10.1002/wcms.1610.
The codes are classified by the employed approach:
- Programs for molecular calculations with Gaussian basis sets, Section 3.1
- Programs for solid-state calculations with various numerical approaches, Section 3.2
- Programs employing fully numerical methods, Section 3.3
- Programs employing semiempirical methods, Section 3.4
Gaussian-basis calculations afford all-electron calculations, post-Hartree-Fock calculations as well as analytical integrals, which simplifies the calculation of higher-order derivatives like geometric Hessians.
Solid-state codes tend to employ pseudopotentials and DFT, that is, only the valence electrons are explicitly modeled.
Modern fully numerical methods can perform all-electron calculations and yield very high precision, although the level of theory is often limited.
Semiempirical methods can be really fast, and force field type models like GFN-FF have also been proposed recently; these methods can easily handle systems with thousands of atoms.
-
$\begingroup$ very nice/helpful! fyi I've just asked in History of Science and Math SE Context behind Planck's "A new scientific truth does not triumph by convincing its opponents...but rather because its opponents eventually die..."? $\endgroup$– uhohApr 18, 2022 at 21:58
MEAMfit can fit LAMMPS-compatible RF-MEAM potentials to either VASP or CASTEP data. (There's also support for Quantum Espresso PWscf, but this is still in development). It is open-source: https://gitlab.com/AndyDuff123/meamfit . Full disclosure though, I am the author of that software.