LAMMPS
   HOME

TheInfoList



OR:

LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) is a
molecular dynamics Molecular dynamics (MD) is a computer simulation method for analyzing the Motion (physics), physical movements of atoms and molecules. The atoms and molecules are allowed to interact for a fixed period of time, giving a view of the dynamics ( ...
program developed by
Sandia National Laboratories Sandia National Laboratories (SNL), also known as Sandia, is one of three research and development laboratories of the United States Department of Energy's National Nuclear Security Administration (NNSA). Headquartered in Kirtland Air Force B ...
. It utilizes the
Message Passing Interface The Message Passing Interface (MPI) is a portable message-passing standard designed to function on parallel computing architectures. The MPI standard defines the syntax and semantics of library routines that are useful to a wide range of use ...
(MPI) for parallel communication, enabling high-performance simulations. LAMMPS is a
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
, distributed under the terms of the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
. It is available on Linux, Windows, and macOS platforms.


History

LAMMPS was developed in the mid-1990s under a Cooperative Research and Development Agreement between two laboratories from the
United States Department of Energy The United States Department of Energy (DOE) is an executive department of the U.S. federal government that oversees U.S. national energy policy and energy production, the research and development of nuclear power, the military's nuclear w ...
(
Sandia National Laboratories Sandia National Laboratories (SNL), also known as Sandia, is one of three research and development laboratories of the United States Department of Energy's National Nuclear Security Administration (NNSA). Headquartered in Kirtland Air Force B ...
and
Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory (LLNL) is a Federally funded research and development centers, federally funded research and development center in Livermore, California, United States. Originally established in 1952, the laboratory now i ...
) and three companies (
Cray Cray Inc., a subsidiary of Hewlett Packard Enterprise, is an American supercomputer manufacturer headquartered in Seattle, Washington. It also manufactures systems for data storage and analytics. Several Cray supercomputer systems are listed ...
,
DuPont Dupont, DuPont, Du Pont, duPont, or du Pont may refer to: People * Dupont (surname) Dupont, also spelled as DuPont, duPont, Du Pont, or du Pont is a French surname meaning "of the bridge", historically indicating that the holder of the surname re ...
, and
Bristol-Myers Squibb The Bristol-Myers Squibb Company, doing business as Bristol Myers Squibb (BMS), is an American multinational pharmaceutical company. Headquartered in Princeton, New Jersey, BMS is one of the world's largest pharmaceutical companies and consist ...
). The goal was to create a parallel molecular dynamics code capable of running on large supercomputers for materials and biomolecular modeling. Initially written in Fortran, LAMMPS has since been rewritten in C++ to provide more flexibility and ease in adding new features.


Features

LAMMPS is a highly flexible and scalable molecular dynamics simulator that supports both single-processor and parallel execution through MPI and OpenMP. GPU acceleration is also available. LAMMPS can be run from an input script, as well as a graphical interface GUI. Its modular, open-source C++ design is easy to extend or integrate with other codes or languages like Python. Users can define variables, use loops, and run multiple simulations simultaneously from a single script.


Particle and model types

LAMMPS supports a wide variety of particle and model types, ranging from simple atoms to complex systems like molecules, metals, and granular materials. It also handles finite-size shapes, such as spherical and ellipsoidal particles, point dipole particles, and magnetic spins, and offers the possibility of using hybrid combinations of these particle and model types.


Interatomic potentials

LAMMPS supports a vast array of potentials, including pairwise (e.g., Lennard-Jones, Coulombic), many-body (e.g., EAM, REBO, ReaxFF), machine learning (e.g., ACE, GAP), and specialized models (e.g., TIP4P water). It also accommodates hybrid and overlaid potentials, enabling the combination of multiple potential types in a single simulation.


Ensembles, constraints, and boundary conditions

LAMMPS supports both 2D and 3D systems with orthogonal or non-orthogonal (triclinic) simulation domains. It includes multiple thermostat and barostat choices, such as Nose/Hoover, Berendsen, and Parrinello/Rahman. Different rigid body constraints and advanced algorithms like SHAKE and RATTLE can be combines with additional harmonic forces. Additionally, LAMMPS supports some Monte Carlo move, atom and molecule insertion and deletion, non-equilibrium molecular dynamics (NEMD), and a variety of boundary conditions (e.g., periodic, shrink-wrapped) and walls (static and moving).


Integrators

Several integrators can be used with LAMMPS, including the velocity-Verlet integrator, Brownian dynamics, and rigid body integration. It also supports energy minimization techniques like conjugate gradient, steepest descent, and damped dynamics (FIRE, Quickmin), as well as rRESPA hierarchical timestepping and fixed or adaptive time steps. Additionally, the rerun command allows for post-processing of dump files.


Outputs

LAMMPS provides numerous fix and compute commands for monitoring system properties. Thermodynamic data, such as system temperature and energy, is logged, and atom-level information such as positions and velocities can be output via text or binary dump files at chosen intervals. LAMMPS also allows output to be customized for spatial or temporal resolution using chunks, time averaging, or histogramming. The state of the simulation can be saved in text and binary restart files. Additionally, LAMMPS can export atom snapshots in various formats.


Various

For computing efficiency, LAMMPS uses neighbor lists (
Verlet list A Verlet list (named after Loup Verlet) is a data structure in molecular dynamics simulations to efficiently maintain a list of all particles within a given cut-off distance of each other. This method may easily be applied to Monte Carlo simulati ...
s) to keep track of nearby particles. The lists are optimized for systems with particles that repel at short distances, so that the local density of particles never grows too large. On parallel computers, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3D sub-domains, one of which is assigned to each processor. Processors communicate and store ''ghost'' atom information for atoms that border their subdomain. LAMMPS is most efficient (in a parallel computing sense) for systems whose particles fill a 3D rectangular box with approximately uniform density. Lots of accelerators are supported by LAMMPS, including GPU (
CUDA In computing, CUDA (Compute Unified Device Architecture) is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated gene ...
, OpenCL, HIP, SYCL), Intel Xeon Phi, and OpenMP, due to its integration with Trilinos.


Coupling LAMMPS with Other Software

LAMMPS can be coupled with a variety of external analysis tools and visualization engines, including VMD and OVITO. LAMMPS can be coupled with Python libraries for setting up and analyzing simulations, such as MDAnalysis, MDTraj, and ASE. In addition, LAMMPS supports coupling with free energy calculation tools such as PLUMED and the Colvars module.


See also

*
Parallel computing Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
*
Comparison of software for molecular mechanics modeling This is a list of computer programs that are predominantly used for molecular mechanics calculations. See also *Car–Parrinello molecular dynamics *Comparison of force-field implementations *Comparison of nucleic acid simulation software * ...
*
Molecular design software Molecular design software is notable software for molecular modeling, that provides special support for developing molecular models ''de novo''. In contrast to the usual molecular modeling programs, such as for molecular dynamics and quantum chemi ...
*
List of free and open-source software packages This is a list of free and open-source software (FOSS) packages, computer software licensed under free software licenses and open-source licenses. Software that fits the Free Software Definition may be more appropriately called free software; ...


References


External links

* {{Chemistry software Molecular dynamics software Free science software Sandia National Laboratories