LAMMPS website

LAMMPS History

LAMMPS development began in the mid 1990s under a cooperative research & development agreement (CRADA) between two DOE labs (Sandia and LLNL) and 3 companies (Cray, Bristol Myers Squibb, and Dupont). The goal was to develop a large-scale parallel classical MD code; the coding effort was led by Steve Plimpton at Sandia.

After the CRADA ended, a final F77 version, LAMMPS 99, was released. As development of LAMMPS continued at Sandia, its memory management was converted to F90; a final F90 version was released as LAMMPS 2001.

The current LAMMPS is a rewrite in C++ and was first publicly released as an open source code in 2004. It includes many new features beyond those in LAMMPS 99 or 2001. It also includes features from older parallel MD codes written at Sandia, namely ParaDyn, Warp, and GranFlow (see below).

In late 2006 we began merging new capabilities into LAMMPS that were developed by Aidan Thompson at Sandia for his MD code GRASP, which has a parallel framework similar to LAMMPS. Most notably, these have included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF - and the associated charge-equilibration routines needed for ReaxFF.

Since the 19 March 2020 version, LAMMPS requires a compiler that is at least compatible with the C++-11 standard.

Major features added to LAMMPS since its initial Sept 2004 release are listed here:

29 Aug 2024 stable release2 Aug 2023 stable release23Jun2022 stable release29Sep2021 stable release
29Oct2020 stable release3Mar2020 stable release7Aug2019 stable release5Jun2019 stable release
12Dec2018 stable release22Aug2018 stable release16Mar2018 stable release11Aug2017 stable release
31Mar2017 stable release4th Qtr 20163rd Qtr 20162nd Qtr 2016
1st Qtr 20164th Qtr 20153rd Qtr 20152nd Qtr 2015
1st Qtr 20154th Qtr 20143rd Qtr 20142nd Qtr 2014
1st Qtr 20144th Qtr 20133rd Qtr 20132nd Qtr 2013
1st Qtr 20134th Qtr 20123rd Qtr 20122nd Qtr 2012
1st Qtr 20124th Qtr 20113rd Qtr 20112nd Qtr 2011
1st Qtr 20114th Qtr 201010 Sept 201015 Jan 2010
7 Jul 20109 Jan 200921 May 200822 Jan 2008
5 Oct 200722 Jun 200712 Feb 20071 Oct 2006
17 Jul 200612 Apr 200610 Nov 20053 Jun 2005
17 Jan 20051 Sept 2004Older codes

All versions of LAMMPS are available for download from the download page. ParaDyn is available from Steve Plimpton's download page.

ParaDyn is a parallel implementation of the popular serial DYNAMO code. DYNAMO was developed by Stephen Foiles and Murray Daw to model metals with their embedded atom method (EAM) metal potentials. ParaDyn uses atom- and force-decomposition algorithms to run in parallel. Warp is a spatial-decomposition MD code with EAM potentials, with boundary conditions specific to shearing solids in varying geometries. GranFlow is a granular materials code, written with Leo Silbert and Gary Grest, that includes potentials and boundary conditions specific to granular systems.



More recent releases

Info on code releases after 2016 were documented on GitHub. Click on the links in the table above for details.


4th Quarter 2016

These are the most significant features added in the fourth quarter of 2016. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


3rd Quarter 2016

These are the most significant features added in the third quarter of 2016. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


2nd Quarter 2016

These are the most significant features added in the second quarter of 2016. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


1st Quarter 2016

These are the most significant features added in the first quarter of 2016. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


4th Quarter 2015

These are the most significant features added in the fourth quarter of 2015. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


3rd Quarter 2015

These are the most significant features added in the third quarter of 2015. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


2nd Quarter 2015

These are the most significant features added in the second quarter of 2015. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


1st Quarter 2015

These are the most significant features added in the first quarter of 2015. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


4th Quarter 2014

These are the most significant features added in the fourth quarter of 2014. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


3rd Quarter 2014

These are the most significant features added in the third quarter of 2014. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


2nd Quarter 2014

These are the most significant features added in the second quarter of 2014. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


1st Quarter 2014

These are the most significant features added in the first quarter of 2014. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


4th Quarter 2013

These are the most significant features added in the fourth quarter of 2013. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


3rd Quarter 2013

These are the most significant features added in the third quarter of 2013. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


2nd Quarter 2013

These are the most significant features added in the second quarter of 2013. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


1st Quarter 2013

These are the most significant features added in the first quarter of 2013. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


4th Quarter 2012

These are the most significant features added in the last quarter of 2012. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


3rd Quarter 2012

These are the most significant features added in the third quarter of 2012. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


2nd Quarter 2012

These are the most significant features added in the second quarter of 2012. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


1st Quarter 2012

These are the most significant features added in the first quarter of 2012. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


4th Quarter 2011

These are the most significant features added in the last quarter of 2011. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


3rd Quarter 2011

These are the most significant features added in the third quarter of 2011. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


2nd Quarter 2011

These are the most significant features added in the second quarter of 2011. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


1st Quarter 2011

These are the most significant features added in the first quarter of 2011. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


4th Quarter 2010

These are the most significant features added in the last quarter of 2010. Feature notes posted when the feature was released are listed on this page. People who contributed to the features are listed in parentheses:


10 Sept 2010

207,018 lines of code in src dir with all packages included (but no library source files).

These are the most significant features added or enhanced since the 15 Jan 2010 version. People who contributed to the features are listed in parentheses:


15 Jan 2010

173,838 lines of code in src dir with all packages included (but no library source files).

IMPORTANT:

These are the most significant features added or enhanced since the 7 Jul 2009 version. People who contributed to the features are listed in parentheses:


7 Jul 2009

148,035 lines of code in src dir with all packages included (but no library source files).

IMPORTANT: The output format of dump files in the native LAMMPS format has changed slightly. The BOX BOUNDS field adds "xy xz yz" for triclinic boxes which quantities are appended to the following 3 lines of lo/hi box bounds. The ATOMS field adds per-atom column descriptors such as "id type x y z". These are so the dump file is self-describing and can be more easily post-processed.

These are the most significant features added or enhanced since the 9 Jan 2009 version. People who contributed to the features are listed in parentheses:


9 Jan 2009

138,720 lines of code in src dir with all packages included (but no library source files).

IMPORTANT: The syntax of the following commands has changed: pair_style gran/hooke, pair_style gran/hooke/history, pair_style gran/hertz/history, and special_bonds. The keyword "tag" in the dump custom command has been changed to "id". The default for specifying layer thicknesses in the fix ave/spatial command has been changed from box units to lattice units.

These are the most significant features added or enhanced since the 21 May 2008 version. People who contributed to the features are listed in parentheses:


21 May 2008

133,864 lines of code in src dir with all packages included (but no library source files).

IMPORTANT: For 2d problems using extended spherical particles (as opposed to point particles), such as granular or colloidal particles, the particles are now treated as 3d spheres moving in a 2d space. As opposed to 2d circular disks moving in a 2d space. This is simply a change in their moment of inertia, but will affect their dynamics when rotating due to an applied torque. Likewise it affects their temperature.

IMPORTANT: For 2d problems, the default for subtracting the system center-of-mass degrees-of-freedom when computing temperature was changed from 3 dof to 2 dof (for the entire system). This means you might see a slight change in reported temperature and subsequent dynamoics in a 2d simulation.

These are the most significant features added or enhanced since the 22 Jan 2008 version. People who contributed to the features are listed in parentheses:


22 Jan 2008

125,009 lines of code in src dir with all packages included (but no library source files).

IMPORTANT: Velocity initialization via the velocity command using the loop geom option now uses a new random number generation scheme, as do certain options of the set and displace_atoms commands. Hence an input script using these commands will initialize a system differently (i.e. statistically the same, but with a different set of random velocities). The following commands are deleted in this version, since they have been replaced by more general output options: "fix gran/diag", "compute epair/atom", "compute ebond/atom", "compute variable/atom", "compute variable", "compute sum/atom", and "compute attribute/atom".

These are the most significant features added or enhanced since the 5 Oct 2007 version. People who contributed to the features are listed in parentheses:


5 Oct 2007

118,521 lines of code in src dir with all packages included (but no library source files).

IMPORTANT: The syntax of the fix ave/spatial, fix ave/time, and fix gravity commands has changed. The "compute etotal/atom" command was deleted and replaced by the more general compute sum/atom command. Some keywords for the dump custom command have been removed: epair, ke, etotal, centro, stress. These are now invoked by creating a compute of the appropriate style and referencing it in the dump custom command.

These are the most significant features added since the 22 Jun 2007 version. People who contributed to the features are listed in parentheses:


22 Jun 2007

106,005 lines of code in src dir (with all packages included).

IMPORTANT: The format of restart files was changed to make it easier to add new atom info in the future. Thus this version will not read restart files created by older versions. For hybrid atom styles, the format of atom lines in input data files was changed. The syntax of the create_atoms command was changed. The fix volume/rescale and fix uniaxial commands were deleted since their functionality is now present in the fix deform command.

These are the most significant features added since the 12 Feb 2007 version. People who contributed to the features are listed in parentheses:


12 Feb 2007

95,029 lines of code in src dir (with all packages included).

IMPORTANT: The temperature command was replaced by the compute command in this release, which is now a more flexible way to define global calculations (temp, pressure, etc) and per-atom calculations (energy, stress, etc) which can be output as thermodynamic and dump info or be accessed by input script variables.

There were also minor changes in the hi-level code structure to make LAMMPS more library-friendly.

These are the most significant features added since the 1 Oct 2006 version. People who contributed to the features are listed in parentheses:


1 Oct 2006

85,559 lines of code in src dir (with all packages included).

IMPORTANT: The storage of periodic box image flags in restart files changed with this release. The current version will still read old restart files, but the values of the image flags will be wrong if you use them in a computation or subsequently output them (e.g. in a dump file).

There were also changes in the hi-level code structure and in pair style routines. These were for the purpose of making LAMMPS more library friendly and in anticipation of new many-body potentials we hope to release soon (Stillinger-Weber, Tersoff, REBO, etc).

These are the most significant features added since the 17 Jul 2006 version. People who contributed to the features are listed in parentheses:


17 Jul 2006

82,729 lines of code in src dir (with all packages included).

These are the most significant features added since the 12 Apr 2006 version. People who contributed to the features are listed in parentheses:


12 Apr 2006

74,353 lines of code in src dir (with all packages included).

IMPORTANT: The syntax of these commands were changed. If you use these commands, you will need to modify your existing input scripts:

These are the most significant features added since the 10 Nov 2005 version. People who contributed to the features are listed in parentheses:

Though previously advertised, TIP4P pairwise potentials and a bond_style restrain potential are not part of this release. They will be added as patches in the near future.


10 Nov 2005

68,545 lines of code in src dir (with all packages included).

These are the most significant features added since the 3 Jun 2005 version:


3 June 2005

66,806 lines of code in src dir (with all packages included).

The format of binary restart files changed with this version, due to hybrid atom and pair styles and the changes to enable very large simulations. Hence this version will NOT read older version's restart files.

Also, starting with this version, a build of LAMMPS will NOT include all optional packages by default. In particular the "granular" and "class2" packages will not be included unless you request them. See the Making LAMMPS section of the documentation for more details or type "make package" when building LAMMPS to see the options.

These are the most significant features added since the 17 Jan 2005 version:


17 Jan 2005

56,612 lines of code in src dir (with all packages included). These are the most significant features added since the 1 Sept 2004 version:

There is also a new release of LAMMPS 2001 (F90 version), which contains a few minor tweaks and bug fixes. These are included in the 2001 tar file now available from the download page.


1 Sept 2004

Initial public release of the C++ version of LAMMPS. 52,967 lines of code in src dir. This version supersedes earlier versions, including LAMMPS 2001 (F90) and LAMMPS 99 (F77).


Older codes

LAMMPS 2001

LAMMPS 99

ParaDyn