LAMMPS website

Latest Features and Bug Fixes in LAMMPS

This page is a continuous listing of new features and bug fixes for the LAMMPS molecular dynamics package. It also lists periodic "stable" versions which have undergone more testing.

See the unfixed bug page for info on as-yet unresolved bugs.

In some cases, new features change the syntax or operation of an existing input script command, which can cause LAMMPS output to change, or even "break" an earlier working script. These cases are highlighted below with a "BACKWARD COMPATIBILITY" note.

To stay up-to-date with the current LAMMPS, you have 3 choices:

This page contains a year's worth of new features and bug fixes.

Past years of features/fixes are here: 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004

Periodic summaries of major new features added to LAMMPS are on the history page.


What version of LAMMPS do you have?

A LAMMPS "version" is the date when it was released, such as 1 Oct 2010. LAMMPS is updated continuously. Every time we fix a bug or add a feature, we release it immediately, as listed below. Each dated copy of LAMMPS contains all the features and bug-fixes up to and including that version date. The version date is printed to the screen and logfile every time you run LAMMPS. It is on the first page of the HTML version of the manual. It is also in the file src/version.h and in the LAMMPS directory name created when you unpack a tarball.


Stable versions

These are recently released "stable" versions of LAMMPS, which have successfully passed a suite of build and run tests. This is more testing than is done for the incremental development patches listed below.

If you don't want to track the bleeding edge of LAMMPS development, you can always download a tarball of the most recent stable version on the download page. A summary of what is in each stable release is provided on the LAMMPS GitHub site.

Earlier stable versions are also available as tarballs on the LAMMPS web site, at this link, using the appropriate date from the list above.

You can use Git to check out a specific stable version in one of two ways, using the tag listed above:

(1) If you do not have an existing checkout:

git clone -b stable_4Nov2016 https://github.com/lammps/lammps.git mylammps 

(2) If you already have an existing checkout:

git fetch origin
git checkout -b release-4Nov16 stable_4Nov2016 

which will create a branch with the name "release-4Nov16", with all the files for that specific stable release.

Likewise, you can use SVN to check out a specific stable version, using the tag listed above:

svn checkout https://github.com/lammps/lammps.git/tags/stable_4Nov2016 mylammps 

Additional info on how to track other branches (stable, unstable, master) of the GitHub LAMMPS repository via Git or SVN are linked to on the download page.



7 Dec 2018

This patch includes hopfully our last small changes to source and doc files, in preparation for a new stable release.

Details on what is changed by this patch are here and details for all releases are here.

This patch file can be applied to the 27 Nov 2018 version. This is the list of changed files.


27 Nov 2018

This patch includes a variety of small changes to source and doc files, in preparation for a new stable release.

Details on what is changed by this patch are here and details for all releases are here.

This patch file can be applied to the 15 Nov 2018 version. This is the list of changed files.


15 Nov 2018

Details on what is changed by this patch are here and details for all releases are here.

Highlights include:

New hyper and fix hyper/global and fix hyper/local commands to enable running global and local hyperdynamics (HD) models. These implement time acceleration algorithms originall formulated by Art Voter (LANL) and collaborators. See PR #1202.

This patch file can be applied to the 9 Nov 2018 version. This is the list of changed files.


9 Nov 2018

Details on what is changed by this patch are here and details for all releases are here.

Pablo Piaggi (Ecole Polytechnique Federale de Lausanne and Universita della Svizzera Italiana, Switzerland) and Gareth Tribello (Atomistic Simulation Centre, School of Mathematics and Physics, Queen's University Belfast): New USER-PLUMED package with fix plumed command to wrap the PLUMED software for free energy calculations. See PR #1180.

Morteza Jalalvand (Institute for Advanced Studies in Basic Sciences, Iran). New USER-SDPD package for smoothed DPD models. See PR #1184.

This patch file can be applied to the 24 Oct 2018 version. This is the list of changed files.


24 Oct 2018

Details on what is changed by this patch are here and details for all releases are here.

Highlights include:

Aidan Thompson (Sandia): New compute adf command for an angular distribution function, similar to a radial distribution function (rdf). See PR #1168.

Denis Taniguchi (Newcastle University): Kokkos support for granular interactions, namely pair gran/hooke/history, fix freeze, fix gravity, and fix nve/sphere. See PR #988.

Changed -restart command-line option to -restart2data and -restart2dump, which also allow conversion of (parallel) restart files to (parallel) dump files. See PR #1162.

Axel Kohlmeyer (Temple U): Modified the fix halt command, so it can also be used with energy minimization See PR #1164.

BACKWARD COMPATIBILITY: The -restart command-line option no longer exists. It is replaced by two options, -r2data and -r2dump, for converting restart files to data or dump files. See PR #1162 for details.

This patch file can be applied to the 10 Oct 2018 version. This is the list of changed files.


10 Oct 2018

Details on what is changed by this patch are here and details for all releases are here.

Highlights include:

Peter Mahler Larsen (MIT): New compute ptm/atom command in a new USER-PTM package for performing a polyhedral template matching analysis to characterize local structure. See PR #1120.

Lionel Constantin, David M. Wilkins, Michele Ceriotti (EPFL Lausanne): New fix ffl command added to the USER-MISC package, for a fast-forward Langevin thermostat. See PR #1137.

Cody K. Addington (NCSU): New compute pressure/cylinder command added to USER-MISC package. See PR #1131.

BACKWARD COMPATIBILITY: A change in the sign of the chemical potential mu was made in the fix atom/swap command for performing Monte Carlo atom swapping. This reverses its meaning and change the behavior of the command significantly. The old (incorrect) behavior can be recovered by reversing the sign of mu. See PR #1143 for discussion.

This patch file can be applied to the 18 Sep 2018 version. This is the list of changed files.


18 Sep 2018

Details on what is changed by this patch are here and details for all releases are here.

Highlights include:

Laurent Joly (University of Lyon) and Romain Vermorel (University of Pau and Pays de l'Adour): New compute stress/mop and compute stress/mop/profile commands. See PR #1092.

New compute chunk/spread/atom and compute reduce/chunk commands. See PR #1089.

Variable option for compute bond/angle/dihedral local commands. See PR #1089.

This patch file can be applied to the 5 Sep 2018 version. This is the list of changed files.


5 Sep 2018

Details on what is changed by this patch are here and details for all releases are here.

Highlights include:

New MESSAGE package for client/server coupling, including message and server commands. See PR #1013.

Rene Halver, Juelich Supercomputing Centre, Forschungszentrum Juelich, Germany: New USER-SCAFACOS package for wrapping the ScaFaCoS library for use with the kspace_style scafacos command. See PR #989.

Also various CMake updates.

This patch file can be applied to the 31 Aug 2018 version. This is the list of changed files.


31 Aug 2018

Details on what is changed by this patch are here and details for all releases are here.

Highlights include:

Sergey Lishchuk: New Axilrod-Teller-Muto potential, see pair_style atm. See PR #987.

Some CMake updates by Chistoph Junghans (LANL), Richard Berger, Axel Kohlmeyer (Temple U).

This patch file can be applied to the 2 Aug 2018 version. This is the list of changed files.


22 Aug 2018

This is a stable release.

Details on what is part of this stable release are here and details for all releases are here.

These are highlights for additional changes since the 16Aug18 patch release:

Mostly adjustments to the doc pages and CMake options. Also some better template validity checks for the fix bond/react command. See PR #1067.

This patch file can be applied to the 16 Aug 2018 version. This is the list of changed files.


16 Aug 2018

Some bug fixes for the slope() function in the variable command, corner cases in RCB load balancing, USER-UEF package support for images flags, and KOKKOS package functionality.

Also added a more accurate tallying of the atom count via the thermo_style keyword "natoms", which can be accessed via a variable between thermo output steps, when it changes due to atoms exiting the simulation box.

Completed a major refacting of the Manual doc pages which also now includes full documentation for how to build LAMMPS with CMake, as an alternative to traditional make.

Thanks to Christoph Junghans (LANL), Richard Berger (Temple U), and Axel Kohlmeyer (Temple U) for a long-term efforts into making the new CMake build system robust and complete.

BACKWARD COMPATIBILITY: As of this patch release, no packages are pre-installed in the src directory of the tarball distro. This was already the case for the Git and SVN reposository downloads. Previously, 3 packages (KSPACE, MANYBODY, MOLECULE) were pre-installed in the tarball. This change was made b/c a CMake build requires no packages be currently installed in src. So this change means you can do a CMake build without needing to un-install any packages.

This patch file can be applied to the 2 Aug 2018 version. This is the list of changed files.


2 Aug 2018

Trung Ngyuen (Northwestern U): New DEM models for polygonal (2d) and polyhedron (3d) particles, using the body style. See PR #962.

Various bug fixes for the OpenCL support within the GPU package.

This patch file can be applied to the 16 Jul 2018 version. This is the list of changed files.


16 Jul 2018

Richard Berger (Temple U): New velocity option in set command. See PR #1002.

Bug fixes for load balancing. See PR #997.

Stefan Paquay and Matthew Peterson (Brandeis U): Fix enforce2d for Kokkos. See PR #940.

Also some CMake updates and various other small bug fixes and enhancements.

This patch file can be applied to the 29 Jun 2018 version. This is the list of changed files.


29 Jun 2018

Christoph Junghans (LANL), Richard Berger (Temple U), Axel Kohlmeyer (Temple U): Initial beta version of CMake support for building LAMMPS. See the lammps/cmake dir and this on-line doc to get started:

https://github.com/lammps/lammps/tree/master/cmake

Pablo Piaggi (EPLF, Switzerland): New compute entropy/atom command to locally distinguish liquid from solid, based on a pairwise entropy approximation. See PR #925.

Julien Tranchida (Sandia and CEA): New SPIN package to enable simulation of classical atomic magnetic spins coupled to atomic motion. See the Howto spins doc page for an overview. See PR #935.

Andrew Jewett: New moltemplate version 2.8.6. See PR #974.

This patch file can be applied to the 22 Jun 2018 version. This is the list of changed files.


22 Jun 2018

Various new command options and bug fixes.

Sebastian Hutter (OvGU): Added support for inline format strings to immediate variable substitution. See PR #950. Also, the variable string command now performs variable substitution so it can be used in more general ways. See PR #948.

Risto Toijala (University of Helsinki): Option to limit atom energy change in fix dt/reset command. See PR #933.

Stan Moore (Sandia): Update of Kokkos library to v2.7.00. See PR #930.

Trung Nguyen (Northwestern U): Some bug fixes and updates to the GPU package. See PR #926 and PR #958.

Axel Kohlmeyer (Temple U): New dump_modify maxfiles option. See PR #907.

This patch file can be applied to the 11 May 2018 version. This is the list of changed files.


11 May 2018

Jake Gissinger (U Colorado) has added a fix bond/react command which can be used to implement simple or complex heuristic reactions, which change the bond topology of molecules (bonds, angles, dihedrals, etc). It can be used to define single reactions or sequences of reactions. It has capabilities far beyond the simpler fix bond/create and fix bond/break commands.

Nicholas Dunn and Michael DeLyser (Penn State U) added a USER-BOCS package which adds a pressure correction useful for various coarse-grained models.

Bug fixes for fix ave/correlate/long when restarting, and for pair_style srp with triclinic geometries.

This patch file can be applied to the 20 Apr 2018 version. This is the list of changed files.


20 Apr 2018

Jorge Ramirez (UPM) fixed a bug with the fix ave/correlate/long command when restarting for a 2nd run.

The pair_style kim command in the KIM package was updated to a new version of the KIM API that includes a plug-in interface defined in lib/kim.

A nofix option was added to the write_data command to prevent per-atom info stored by fix atom/property from being written, if desired.

This patch file can be applied to the 30 Mar 2018 version. This is the list of changed files.


30 Mar 2018

Some optimizations to the pair_style meam/c potential were contributed by Sebastian Hytter (OvGU).

Wengen Ouyang (Tel Aviv University) added new registry dependent interlayer potentials:

Axel Kohlmeyer (Temple U) made the handling of pair styles that do not store info in restart files more consistent and transparent, so it's less confusing for users when they restart a subsequent simulation.

Added 2 new gather() methods and a new scatter() method to the LAMMPS library interface. These allow for per-atom properties to be gathered/scattered for a subset of atoms, or to extract them as concatenated chunks from each proc, when it is not necessary to re-order them from 1 to N. They also allows gather/scatter of per-atom info for a system where atom IDs are not contiguous.

Added a read_dump add keep option. This allows atom IDs read in from a dump file to be preserved even if the IDs are not a concatenation to the IDs of existing atoms.

Added dump_modify refresh and compute displace/atom refresh options. As their doc pages explain, this enables incremental dump files to be produced, where only atoms that have changed position be a chosen amount will be output each snapshot.

Added a new reset_ids command. This can be used to renumber atoms so their IDs will from contiguous from 1 to Natoms. Even if there are bonds, angles, etc in the system.

Added a new dump_modify delay option. This can be used to avoid unwanted output in the early stages of a simulation, e.g. while equilibrating.

This patch file can be applied to the 16 Mar 2018 version. This is the list of changed files.


16 Mar 2018

This is a stable release. It includes the following changes since the 8Mar18 patch release.

A potentially harmful bug was found and fixed by Tomas Trnka (Software for Chemistry & Materials B.V.) in the pair_style reax/c command. It affects bond-order contributions to the atom forces, but only for bonds that do not use any bond-order corrections. This requires the occurrence of bond types for which the 6th(13corr) and 15th(ovcorr) parameters are zero. The only examples of this included with LAMMPS are Ni-Ni bond in "examples/reax/FC/ffield.reax.FC" and the V-V bond in "examples/reax/VOH/ffield.reax.V_O_C_H". The output from these examples are unaffected by the bug, since these bond types do not actually occur in the simulations. However for certain ReaxFF force field files used for modeling particular materials, including BaTiO3, it can be a significant bug.

A new version of the Kokkos library (under lib/kokkos) is included in this patch release.

A few more small changes and bug fixes in preparation for the stable version release.

This patch file can be applied to the 8 Mar 2018 version. This is the list of changed files.


8 Mar 2018

Various small changes and bug fixes in preparation for a new stable version release.

This patch file can be applied to the 22 Feb 2018 version. This is the list of changed files.


22 Feb 2018

Vishal Boddu (University of Erlangen-Nuremberg) added a pair lj/cut/coul/wolf command to enable Wolf treatment of Coulombics. Axel Kohlmeyer (Temple U) made a version for the USER-OMP package.

Various other small changes and bug fixes as well.

This patch file can be applied to the 5 Feb 2018 version. This is the list of changed files.


5 Feb 2018

Hendrik Heenen (Technical U of Munich) and Rochus Schmid (Ruhr-University Bochum) added a new USER-MOFFF package which is an implementation of the MOF-FF (MOF force field) after S. Bureekaew et al., Phys. Stat. Sol. B 2013, 250, 1128-1141.

It includes:

Rodolfo Paula Leite and Maurice de Koning (Unicamp/Brazil) added a new pair_style ufm command which includes accelerator support in the GPU, OPT, USER-OMP packages.

This patch file can be applied to the 17 Jan 2018 version. This is the list of changed files.


17 Jan 2018

Been a while since the last patch release, so there are many accumulated changes on the GitHub site. These are the major ones:

Thanks to all who contributed new code and bug fixes.

This patch file can be applied to the 23 Oct 2017 version. This is the list of changed files.