A package of LAMMPS software enabling simulations using polynomial machine learning potentials
A polynomial MLP represents the potential energy as a polynomial function of linearly independent polynomial invariants of the O(3) group. Developed polynomial MLPs are available in Polynomial Machine Learning Potential Repository.
“Tutorial: Systematic development of polynomial machine learning potentials for elemental and alloy systems”, A. Seko, J. Appl. Phys. 133, 011101 (2023)
@article{pypolymlp,
author = {Seko, Atsuto},
title = "{"Tutorial: Systematic development of polynomial machine learning potentials for elemental and alloy systems"}",
journal = {J. Appl. Phys.},
volume = {133},
number = {1},
pages = {011101},
year = {2023},
month = {01},
}
(lammps-polymlp-package is tested using LAMMPS_VERSION "lammps-23Jun2022”)
-
Copy all the components in the lammps-polymlp-package to the latest lammps source code directory as
> cp -r lammps-polymlp-package/lib/polymlp $(lammps_src)/lib > cp -r lammps-polymlp-package/src/POLYMLP $(lammps_src)/src -
Add "polymlp" to variable PACKAGE defined in $(lammps_src)/src/Makefile and activate polymlp package as
> cat $(lammps_src)/src/Makefile PACKAGE = \ adios \ amoeba \ ... poems \ polymlp \ ptm \ ... ml-iap \ phonon ... > ulimit -s unlimited > cd $(lammps_src)/src > make yes-polymlp -
If necessary, modify compile options and flags in
$(lammps_src)/src/MAKE/Makefile.serialand$(lammps_src)/lib/polymlp/Makefile.lammps -
Change directory to
$(lammps_src)/srcand build lammps binary files. (It requires approximately ten minutes to one hour for compilingpolymlp_gtinv_data.cpp.)> make serial -j 36
Note that MPI is not currently available for the lammps-polymlp package, but OpenMP is supported. Even when using the OpenMP-supported lammps-polymlp package, you should compile LAMMPS using the command make serial. Parallel calculations can be performed using OpenMP with lmp_serial.
Molecular dynamics and other calculations available in LAMMPS, including those using user packages, can be performed by following the standard LAMMPS documentation, except for the specification of pair_style and pair_coeff.
The following LAMMPS input commands specify a machine learning potential (e.g., for a binary Ti–Al system):
pair_style polymlp
pair_coeff * * polymlp.lammps Ti Al
If you are using a polynomial MLP generated by pypolymlp (version ≥ 0.9.0), the potential file can be specified as follows:
pair_style polymlp
pair_coeff * * polymlp.yaml Ti Al
In hybrid polynomial MLPs, the potential energy is represented as a sum of multiple polynomial MLPs, where the regression coefficients of all models are determined simultaneously. When performing simulations with hybrid polynomial MLPs in LAMMPS, pair_style hybrid command can be used:
pair_style hybrid polymlp polymlp polymlp
pair_coeff * * polymlp.yaml.1 Ti Al
pair_coeff * * polymlp.yaml.2 Ti Al
pair_coeff * * polymlp.yaml.3 Ti Al