Skip to content

sekocha/lammps-polymlp-package

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lammps-polymlp-package

A package of LAMMPS software enabling simulations using polynomial machine learning potentials

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.

Citation of lammps-polymlp-package

“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},
}

Building lammps with lammps-polymlp package

(lammps-polymlp-package is tested using LAMMPS_VERSION "lammps-23Jun2022”)

  1. 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
    
  2. 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
    
  3. If necessary, modify compile options and flags in $(lammps_src)/src/MAKE/Makefile.serial and $(lammps_src)/lib/polymlp/Makefile.lammps

  4. Change directory to $(lammps_src)/src and build lammps binary files. (It requires approximately ten minutes to one hour for compiling polymlp_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.

Lammps Input Commands to Specify Polynomial MLPs

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

Use of Hybrid Polynomial MLPs

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

About

A user package of LAMMPS software enabling simulations using linearized machine learning potentials

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages