/how-to-validate-potentials

Some tutorial-style examples for validating machine-learned interatomic potentials

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

How to validate ML potentials      DOI

Some tutorial-style examples for validating machine-learned interatomic potentials, to accompany the article:

How to validate machine-learned interatomic potentials
Joe D. Morrow, John L. A. Gardner, and Volker L. Deringer

Files

  1. demo-error-metrics.ipynb: A Python implementation of the RMSE and MAE metrics described in Fig 3. of the article. (authored by John)

  2. demo-error-scaling.ipynb: A notebook to analyse the error scaling of the RMSE per atom with system size, as in Fig. 4. (authored by John)

  3. demo-rotation-invariance.ipynb: A demonstration of the dependence of force component MAEs on the orientation of the system. (authored by John)

  4. demo-similarity.ipynb: A notebook that uses the SOAP kernel to analyse a 10,000-atom compression MD simulation of silicon, as in Fig. 7. (authored by Joe)

  5. demo-rss.ipynb: A notebook that creates initial 'sensible' random structures (using the buildcell code) and generates the plots from Fig. 8. (authored by Joe)

Installation

The notebooks above can be run directly, but they may require the installation of some external software if it is not yet available on your system.

To obtain quippy (for SOAP) and other dependencies, run

    pip install -r requirements.txt

The code required to run SOAP analysis is free to use for academic purposes (see https://github.com/libAtoms/QUIP for details).

To use demo-rss.ipynb completely, it is necessary to install the buildcell code (see https://www.mtg.msm.cam.ac.uk/Codes/AIRSS for details).

Key references