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.



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 the latest stable release. It includes the following changes.

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.