/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

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

  3. demo-rotation-invariance.ipynb: A demonstration of the dependence of force component MAEs on the orientation of the system

  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

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

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