Overview

_images/mlmod_software.png

MLMOD is a Python/C++ package for utilizing machine learning methods and data-driven modeling for simulations in LAMMPS. The package provides methods for time-step integrators for dynamics and interactions using general ML model classes, including Neural Networks, Kernel Regression, and others. Models can be trained and exported from PyTorch or from other machine learning frameworks. Note, this is an early prototype alpha release with future implementations and features to come. Please provide feedback or information on bugs using the forms below.

LAMMPS is an optimized molecular dynamics package in C/C++ providing many interaction potentials and analysis tools for modeling and simulation. Interaction methods include particle-mesh electrostatics, common coarse-grained potentials, many-body interactions, and others.

_images/mlmod_schematic3.png

Below is a summary of the mlmod methods available for interfacing the machine learning approaches with simulations.

Name

Tag / Mode

Role

Description

MPI

General ML Force-Laws

F_ML1

force

General force law for groups of particles \(X=\{X_i\}_{i\in\mathcal{G}}\) based on a specified

machine learning model, \(F(X,V,F,I_T,t)\).

General ML Dynamics

Dyn_ML1

dynamics

General dynamics based on specified machine learning model,

\([X^{n+1},V^{n+1}] = \Gamma[X^n,V^n]\).

Quantity-of-Interest ML Methods

QoI_ML1

quantity of interest

For computing a Quantity-of-Interest (QoI) as defined by a specified machine

learning model, \(A(X,V,F,I_T,t)\).

Available for use in subsequent calculations within simulations.

General Mobility ML Model

dX_MF_ML1

dynamics

Mobility based on specified machine learning model, \({dX}/{dt} = M(X)F\).

Pairwise Mobility ML Model

dX_MF_Q1_ML1_Pair

dynamics

Mobility with pairwise-structure and specified machine learning model,

\({dX}/{dt} = M(X)F + F_{thm}\).

Collective N-to-N Mobility ML Model

dX_MF_Q1_ML1_N2N

dynamics

Mobility with general structure and specified machine learning model,

\({dX}/{dt} = M(X)F + F_{thm}\).

Mobility Test

dX_MF

dynamics

For testing mobility calculations, \({dX}/{dt} = M(X)F\).

Particle ML Force-Laws

F_X_ML1

force

Force law for individual particles \(X_i\) based on specified machine learning

model, \(F_i(X_i,V_i,F_i,{I_T}_i,t)\).

yes

Pairwise ML Force-Law

F_Pair_ML1

force

Force law for pairs of particles based on specified

machine learning model, \(F_{ij}(X_{ij},V_{ij},\) \(F_{ij},{I_T}_{ij},t)\).

Now available with Jupyter notebooks and Python scripts for readily setting up models and simulations, see the examples folder.


When using this package, please cite:

MLMOD Package: Machine Learning Methods for Data-Driven Modeling in LAMMPS, P.J. Atzberger,
Journal of Open Source Software (JOSS), 8(89), 5620, (2023), [paper link]