Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New features for the ML-POD package #13

Closed
wants to merge 718 commits into from
Closed

New features for the ML-POD package #13

wants to merge 718 commits into from

Conversation

exapde
Copy link

@exapde exapde commented May 21, 2024

Summary

This pull request implements several news features for the ML-POD package for the fitting and calculation of machine-learning interatomic potentials (MLIPs) based on proper orthogonal descriptors (POD). The implementation is located in the folder src/ML-POD, the documentation is located in the folder doc/src, and the examples are provided in examples/PACKAGES/pod. The new features of this pull request include:

  • Atom density formulation of many-body proper orthogonal descriptors (POD)
  • The environment-adaptive machine learning potentials
  • A number of compute classes for computing POD descriptors and their derivatives.
  • Kokkos implementation of the POD potentials
  • Group weight functionality allows users to define energy weight and force weight for each exyz input file

Related Issue(s)

This pull request does not address any open GitHub issue.

Author(s)
Author(s)

Ngoc Cuong Nguyen, Department of Aeronautics and Astronautics, Massachusetts Institute of Technology,
77 Massachusetts Avenue, Cambridge, 02139, MA. Email: [email protected] and [email protected]

Andrew Rohskopf, Sandia National Laboratories. Email: [email protected].

Licensing

By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).

Backward Compatibility

This pull request should not break backward compatibility for inputs.

Implementation Notes

In this pull request, three C++ classes were created, including eapod, pair_pod, and fitpod_command, to implement the fitting command and pair style for POD. Furthermore, several Compute classes were created to calculate the descriptors and their derivatives. Examples are provided in the examples/Packages/pod folder to demonstrate ML-POD for Ta element and InP compound.

This pull request should not affect other features in LAMMPS.

Post Submission Checklist

  • The feature or features in this pull request is complete
  • Licensing information is complete
  • Corresponding author information is complete
  • The source code follows the LAMMPS formatting guidelines
  • Suitable new documentation files and/or updates to the existing docs are included
  • The added/updated documentation is integrated and tested with the documentation build system
  • The feature has been verified to work with the conventional build system
  • The feature has been verified to work with the CMake based build system
  • Suitable tests have been added to the unittest tree.
  • A package specific README file has been included or updated
  • One or more example input decks are included

Further Information, Files, and Links

The original code of this pull request is hosted at https://github.com/cesmix-mit/lammps/tree/kokkospod. The Github repository https://github.com/cesmix-mit/pod_examples contains additional examples for this pull request.

More information about the authors can be found on their personal websites https://www.mit.edu/~cuongng/ and https://rohskopf.github.io/. Technical details about the methodology implemented in this pull request can be found in the papers Journal of Computational Physics, 480, 112030, (2023), Physical Review B, 107(14), 144103, (2023), and https://arxiv.org/abs/2405.00306.

GenieTim and others added 30 commits March 29, 2024 21:48
Fix variables compatibility with chunk arrays
Allow compute spin for groups other than `all`
stanmoore1 and others added 28 commits May 13, 2024 11:00
Fix Inconsistent syntax for dump_modify triclinic/general
Small patches for various commands
Create atoms: overlap keyword for atomic molecule
Avoiding forcezero infinite loop with zero energy.
…ger_for_lj_units

flag output for compute count/type as intensive vs extensive
Coefficient of restitution based damping in granular models
Incomplete info on write_data command syntax
Make compute stress/mop and stress/mop/profile compatible with 2D systems
@exapde exapde requested a review from rohskopf as a code owner May 21, 2024 14:02
@exapde exapde closed this May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.