PyAMFF: Python Atom-Centered Machine Learning Force Field

PyAMFF is a set of tools for fitting and using atomistic machine learning potentials.

Webpage: https://pyamff.gitlab.io/pyamff/index.html

_images/NN.png

Requirements:

Optional:

Installation:

  • Using git with ssh:

    $ git clone git@gitlab.com:pyamff/pyamff.git
    
  • Using git with HTML:

    $ git clone https://gitlab.com/pyamff/pyamff.git
    
  • To build fortran modules:

    $ cd $PATH/TO/pyamff/pyamff
    $ make
    
  • To build the PyAMFF potential for EON:

    $ cd $PATH/TO/pyamff/pyamff
    $ make EON=1
    

Once you have compiled the library, copy libAMFF.a to the eon/client/potentials/PyAMFF directory.

  • The eon client can be built in eon/client/ using

    $ make PYAMFF_POT=1
    $ cp eonclient ../bin/
    

*Any PyAMFF generated potentials can then be run in eon by setting the potential flag in the EON config.ini file as

potential = pyamff
  • Make sure to add /path/to/pyamff/bin to your $PATH and /path/to/pyamff/ to your $PYTHONPATH

Note

After installation, you can go to /pyammf/tests/ and run run_tests.sh to make sure the build was successful

Quick Start Guide

Note: This assumes that you’ve compiled the Fortran modules
What you’ll need:
  1. A trajectory file that contains training data (named train.traj)

  2. A config.ini file. (See the documentation for details on the flags)

These should be located in their own directory, where PyAMFF will write mlff.pyamff and pyamff.pt files.

If you’re running PyAMFF on a slurm enabled cluster, you’ll need to create a submission script:

# [SLURM DIRECTIVES]
[load GNU compiler toolchain into environment]
pyamff

On a shell:

$ [load GNU compiler toolchain into environment]
$ pyamff

Also see the ``pyamff/examples/pytorchNN`` directory for a sample of how to use PyAMFF.

For more examples, see Tutorials.

The PyAMFF team

Henkelman Group (UT Austin) Lei Li Group (SUSTC)

Indices and tables