Skip to content

Releases: akohlmey/lammps

Stable release 2 August 2023 (Update 3)

12 Mar 02:32
stable_2Aug2023_update3
46265e3
Compare
Choose a tag to compare

Below is a list of major changes since the last stable release 23 June 2022

This stable release adds about 5500 commits since the previous stable release. This includes many contributions from beyond the core LAMMPS developers, but also continues the internal refactoring of the code base to make it more consistent and reliable yet also take more advantage of C++ features where they help to simplify the code and easier to modify, maintain, and contribute to.

General Changes

  • Continued refactoring of the core LAMMPS code and many packages to increase code reuse, simplify new additions, improve consistency, and benefit from C++11 features. Several convenience functions and classes were added in the process.
  • Continued improving of error message to be more specific and provide more hints about what went wrong
  • Enhancements and extensions of the Programmer' Guide section of the manual. For example more information about programming conventions, a detailed example for writing pair styles from scratch, information about porting code for old LAMMPS versions to the current development version

Updates and new commands or styles or packages:

  • New AMOEBA package implementing the Amoeba and Hippo force fields (including GPU support)
  • New ML-POD package for machine learning potentials using "proper orthogonal descriptors"
  • New LEPTON package for defining the energy/forces for pair styles and fixes from text strings with analytical expressions
  • Basic support for symbolic types aka type labels
  • New LAMMPS GUI tool, a simple graphical text editor for input files with LAMMPS built in so the input can be run without a LAMMPS executable
  • New command reset_atoms that serves as a front end for reset_atom_ids, reset_mol_ids and the new reset_atoms image for reducing the value of image flags
  • New angle_write and dihedral_write commands to produce table files for use with the corresponding table styles
  • Replace overzealous checks that lead to "Compute not current" errors with more forgiving checks
  • Add support for setting and outputting vector style variables with a python-list-like format
  • Enhancements for PyLammps
  • New compute efield/wolf/atom command to approximate local electrical field for individual atoms
  • New fix scgmc command imported from the external USER-VCSGC package
  • New features and updates to the ELECTRODE package
  • Port of more fixes and pair styles to the KOKKOS package, most notably the MEAM and ML-IAP packages
  • Updates and bugfixes to the DIELECTRIC package
  • Update COLVARS package to version 2023-05-01
  • Improvements to the MDI package with more functionality
  • Updates and refactoring of the GRANULAR package to make it more consistent and flexible
  • Updates to the ML-PACE package
  • CG-SDK package was rename to CG-SPICA and some enhancements added
  • The bundled linalg library (a subset of LAPACK and BLAS) was converted from Fortran to C++ so LAMMPS can be more easily compiled on platforms that do not have a Fortran compiler or a ready-to-use BLAS/LAPACK installation
  • Update bundled Kokkos library to version 3.7.2
  • Update bundled fmtlib files to version 9.1.0
  • New fix pair command to access per-atom data computed by pair styles
  • New pair styles xlz and born/gauss
  • New fix pimd/langevin for path-integral simulations using a Langevin thermostat
  • New fix alchemy and compute pressure/alchemy commands for multi-partition alchemical transformations
  • New bond style harmonic/restrain to restrain bonds to their current length
  • New pair styles lj/cut/sphere, lj/expand/sphere, and lepton/sphere which use the individual particle diameter from atom style sphere as a potential property instead of a per-type pair_coeff setting
  • New pair style aip/water/2dm for interfaces between water and 2d materials
  • Support more pair, bond, and angle styles with compute born/matrix
  • Updates, enhancements, and bugfixes for the BPM package
  • Multiple bugfixes and enhancements for the INTEL package
  • Add unified Python interface for ML-IAP package including Kokkos support
  • Support using fix shake and fix rattle during minimization. The constraints are replaced by strong restraint forces
  • Update of pair style mesocnt to include all functionality and some additions over the corresponding fortran versions. The latter are thus obsolete and were removed.
  • Updates to the LAMMPS Fortran module. This is now complete and thus the obsolete older modules/wrappers were removed since they were in need of updating.
  • Various GPU package improvements and bug fixes
  • Refactoring of distributed grids making some of that data also accessible for computes and dumps

Backward compatibility notices:

  • The CG-SDK package is now called CG-SPICA
  • The LATTE package and fix latter are removed. Its functionality is provided by the MDI package
  • the default setting for neighbor list rebuilds has been changed from delay 10 to delay 0
  • Unlike other variables, atomfile style variables are now deleted with the clear command
  • The internal fix STORE command has been split into fix STORE/GLOBAL and fix STORE/PERATOM
  • Obsolete Fortran interfaces to the LAMMPS C-library interface were removed
  • fix pimd was renamed to fix pimd/nvt
  • pair style mesont/tpm, compute style mesont, and atom style mesont were removed
  • make install in a CMake based installation will no longer install the LAMMPS python module. make install-python can be used for that.

Stable release 23 June 2022 (Update 4)

12 Mar 02:16
stable_23Jun2022_update4
59e8b93
Compare
Choose a tag to compare

Below is a list of major changes since the last stable release 29 September 2021

This stable release adds about 3000 commits since the previous stable release. This includes many contributions from beyond the core LAMMPS developers, but also continues the internal refactoring of the code base to make it more consistent and reliable yet also take more advantage of C++ features where they help to simplify the code and easier to modify, maintain, and contribute to.

With this release we will remove the previously used branches master and unstable and use the current equivalents develop and release. The stable keeps its name, but since we published bugfix updates to the last stable release it will now run parallel to develop and be explicitly synchronized with it (technically speaking, the patch_23Jun2022 and the stable_23Jun2022 tags will point to different commit hashes due to the difference in their histories, but the content will be identical).

General Changes

  • Continued refactoring of the core LAMMPS code and many packages to increase code reuse, simplify new additions, improve consistency, and benefit from C++11 features. Several convenience functions and classes were added in the process.
  • New platform namespace with abstractions for platform specific operations or getting information about platforms and tools. This includes dynamic loading of shared objects and file and directory operations.
  • start ongoing project to change how errors and warnings are reported and documented
  • Improved portability, especially to Windows. It is now possible to build most of LAMMPS (including unit testing) natively on Windows with Visual Studio 2022 and MSVC++ compilers or Clang or Intel OneAPI compilers. Settings for Visual Studio are included.
  • Improved plugin mechanism and option to automatically load custom plugins that are either not distributed with LAMMPS or depend on libraries that have licensing terms or technical requirements preventing linking them into LAMMPS directly. Examples for how to build such plugins for the KIM and the ML-PACE package are included. For the latter also a NSIS script to build an installer for Windows.
  • Semi-automatic refactoring with clang-tidy: this has updated the coding style to take advantage of C++11 features and make things more explicit, so the compiler can warn more easily about problems. Also, clang-format is now applied to more files.
  • update force style unit tests to work with Kokkos + OpenMP
  • Refactor handling of thermodynamic output for better readability and add new thermo_style "yaml"
  • Automatically load plugins in folders listed in the LAMMPS_PLUGIN_PATH environment variable
  • More content and improvements for the Programmer Guide section of the Manual

Updates and new commands or styles or packages:

  • New fix acks2/reaxff for ACKS2 charge equilibration and updates to fix qeq/reaxff that add support for fix efield to both charge equilibration methods.
  • New fix mol/swap for swapping of atom types within a single, randomly selected molecule
  • Add support for multi-species potentials to ML-PACE package
  • Allow GPU package pair styles to be used with newton_pair on
  • New pair style sw/mod providing an empirically modified Stillinger-Weber potential suitable for compounds like MoS2
  • New pair style nm/cut/split and bond style fene/nm for coarse grain polymer models
  • Support for binary native dump files for read_dump and rerun
  • Updated singularity/apptainer definition files
  • New compute ave/sphere/atom to compute averaged properties in a sphere around atoms
  • Support writing to dump files at regular time interface for variable timestep simulations
  • Add centroid atomic stress support for shake, rattle and rigid/small fixes
  • Add new pair style harmonic/cut providing a repulsive-only harmonic potential
  • Add new fix numdiff/virial for deriving virial stress from potential energy via numerical differences
  • Add two new interlayer pair styles ilp/tmd and saip/metal
  • new option for multi-file dumps to have files that are more evenly sized to address post-processing and visualization issues for simulations of very large systems
  • accelerator support (including KOKKOS) and improvements for dynamical_matrix and third_order commands
  • re-implementation of the tools/eam_database Fortran code in Python
  • update setup.py and install.py for python module to use setuptools instead of deprecated distutils and build a binary wheel file
  • Add computes for local components of the pressure tensor in cartesian and spherical coordinates
  • Major update of the LATBOLTZ package
  • Code optimization for several KOKKOS styles
  • Add fixes for damping of rotational and translational energy for extended particles
  • Add support for an inner cutoff switching function to SNAP related commands that smoothly turns of SNAP descriptors at short range
  • Memory usage optimization and bugfix for mesocnt pair style
  • new BPM package for bonded particle models
  • new ELECTRODE package
  • updates and additions to the DIELECTRIC package
  • new compute fep/ta for the FEP package implementing test-area perturbation
  • new pair styles ilp/graphene/hbn/opt, ilp/tmd/opt, and saip/metal/opt for the OPT package with 2x speedup
  • new pair styles smatb and smatb/single for the SMTBQ package
  • new dump_style yaml command in the EXTRA-DUMP package
  • add Kspace support to the PLUGIN package
  • enhancements and additions for the MDI package. This obsoletes the MESSAGE package.
  • additions to the BROWNIAN package to support different rotational and translational temperatures and option to constrain rotation in a plane in 3d
  • additions to PyTorch support in ML-IAP packge
  • new compute born/matrix command to compute elastic stress
  • add KOKKOS package versions of the pair styles from the DPD-BASIC package
  • add KOKKOS package version of pair style adp
  • new colname option for dump_modify and thermo_modify to replace the column header strings for thermo output or in dump files
  • add support for writing yaml format files to fix ave/time and also support fix_modify colname similar to thermo and dump
  • add support for angle styles to fix adapt and add or update "extract()" methods to some angle/bond styles and make the extract arguments more consistent
  • add region style ellipsoid
  • add "aveabs" and "sumabs" options to compute reduce
  • add "variable" option to delete_atoms command
  • bugfix for DOF handling in compute temp/profile
  • more consistent behavior of dynamic groups through moving the invocation of the internal fix to a later time in the timestep
  • make time thermo property restartable and implement a reset_timestep time option to set it manually
  • remove support for legacy GPU hardware and CUDA toolkits in the GPU package
  • Update of the bundled Kokkos library to version 3.6.0
  • Update of the bundled Colvars library to version 2022-05-24
  • Add KOKKOS package version of the pace pair style from the ML-PACE package
  • New pair styles "sw/angle/table" and "threebody/table" for the MANYBODY package
  • Add support for GPU accelerated FFTs with HIP and KOKKOS
  • Add support for SO3 descriptors to the ML-IAP package
  • New "overlap" option for create_atoms random that will avoid close contacts
  • New "mesh" option for create_atoms to approximate meshes from STL files with atoms
  • Add timer style variables for measuring wall time in seconds from the input script

Backward compatibility notices:

  • delete_atoms porosity has been renamed to delete_atoms random and uses/supports different options
  • The CC.Lebedeva interlayer potential file has been updated. It now uses by default parameters for "normal" conditions. The previous default parameters are tuned for high-pressure conditions and are still available when using "C1" instead of "C" as element.
  • Using the PyLammps python module now requires the presence of numpy
  • The new version of make install-python will not install a package over an existing package as the old version did. Instead, it will attempt to uninstall the old package and then install the new version. Packages installed with distutils, like the old version of make install-python, must be manually uninstalled (they don't store a suitable manifest). This should only be needed once, since from then on uninstall should be possible.
  • The update to the LATBOLTZ package is a significant update that changes the syntax of the fix lb/fluid command in a way that is not backward compatible. Inputs must be updated accordingly. Also fixes lb/pc and lb/pc/rigid/sphere have been removed and fixes nve and rigid should be used in their stead.
  • The thermodynamic output format is slightly changed. This may break parser implementations for analysis of LAMMPS log files that are not indifferent to whitespace changes and width of fields.
  • the MESSAGE package has been removed. its functionality is provided in a more general way by the MDI package
  • the GPU package using CUDA now requires CUDA toolkit version 8 or later and GPU architector 3.0 (aka Kepler or later). When compiling for OpenCL, driver support for OpenCL 1.2 is required. OpenCL can provide support for GPUs not supported by the CUDA toolkit anymore.
  • the bug fix to the DOF calculation in compute temp/profile changes the results (usually by a small margin)

Stable release 29 September 2021 (update 3)

26 Mar 14:32
stable_29Sep2021_update3
6fd8b2b
Compare
Choose a tag to compare

Below is a list of major changes since the last stable release 29 October 2020

Same as the last time, this stable release contains over 4000 commits since the previous stable release. This includes many contributions from beyond the core LAMMPS developers, but also continues the internal refactoring of the code base to make it more consistent and reliable yet also take more advantage of C++ features where they help to simplify the code and easier to modify, maintain, and contribute to.

Note that this version includes an additional 100 commits with bugfixes from the three published updates to this stable version.

New homepage URL

The LAMMPS homepage has been moved from https://lammps.sandia.gov to https://www.lammps.org which is now hosted at Temple University. This lifts bandwidth and access limitations and addresses some reliability issues.

General changes:

  • Continued refactoring of the core LAMMPS code and many packages to increase code reuse, simplify new additions, improve consistentcy, and benefit from C++11 features. Several convenience functions and classes were added in the process.
  • Reorganization of packages: the "USER" prefix has been dropped, some packages have prefixes to group them (CG-, DPD-, EXTRA-, ML-) and the contents of the USER-MISC package have been moved to appropriate existing or new packages. There are now EXTRA-PAIR, EXTRA-COMPUTE, EXTRA-FIX, EXTRA-DUMP, EXTRA-MOLECULE packages for the less commonly used styles. We recommend that external packages (i.e. those not included in the LAMMPS distribution) adopt a USER- prefix to make them recognizable as external package.
  • Refactored multi-cutoff neighbor list support resulting in significant performance improvements for polydisperse granular systems.
  • Continued improvements to the build systems, especially the CMake based version.
  • Refactored the handling of embedded citation strings to make them more visible.
  • Updates and additions to the programmer guide section of the manual including updated guidelines and information for contributing code to LAMMPS.
  • Add support for using clang-format in the src tree with a configuration file and suitable comments in the source files. This is recommended for new contributions and will be gradually applied to existing .cpp files as the reformatting can interfere with the readability in some cases.
  • Scripts to support building LAMMPS and its documentation via CMake on systems without direct internet access.

Updates and new commands or styles or packages:

  • Expanded support for machine learning potentials in the ML-IAP package and the added ML-HDNNP, ML-PACE, ML-RANN packages
  • New MDI package to allow client/server mode coupling of LAMMPS to other code using the MolSSI Driver Interface API
  • New BROWNIAN package for Brownian dynamics time integration of point and extended particles plus updates for fix propel/self
  • New DIELECTRIC package with boundary element solvers for computing induced charges at interfaces
  • Major refactoring of the REAXFF package to eliminate dead code and inconsistencies, modernize force field file parsing, and correctly handle computing of the virial stress under different settings and with OpenMP
  • Updates to the library interface and corresponding changes to the LAMMPS python module: bug fixes, additional introspection support and support for setting callbacks for fix external and other associated properties with C and Python callbacks/functions possible.
  • Updated GPU package with improved support for OpenCL which enables using the GPU package with GPUs embedded in Intel processors (Iris, UHD, and HD graphics using the "NEO" OpenCL runtime).
  • Diverse updates, performance improvements, and bugfixes for the following packages: DRUDE, PLUMED, COLVARS, KOKKOS, KIM, ML-IAP, SNAP, REACTION
  • Many bugfixes, updates, and individual contributed commands and styles.

Backward compatibility notes:

  • The LAMMPS python module is now a folder with multiple Python script files instead of a single lammps.py file. This should not affect how the module can be used "in-place" by setting environment variables. The python module contains a version check that should help detecting when a LAMMPS shared library that does not match the python module.
  • Multi-cutoff neighbor list and communication is using a new and more flexible code path with a few additional constraints over the old code path, which is still available as a backup that must be explicitly requested.
  • KIM package commands have been reorganized into a single wrapper and multiple sub-commands: kim_<something> has become kim <something>
  • The CMake preset "minimal" has been renamed to "basic". There are no more "make yes/no-standard" and "make yes/no-user" due to the package reorganization; instead "make yes/no-basic" and a "make yes/no-most" targets have been added to reflect the corresponding CMake presets

Stable release 29 October 2020

29 Oct 20:20
stable_29Oct2020
584943f
Compare
Choose a tag to compare

Major changes since the last stable release 3 March 2020

General changes:

  • Significant refactoring of the core LAMMPS code to increase code reuse, simplify new additions, improve thread safety, and benefit from C++11 features. In particular the following changes were incorporated:
    • Refactoring of the AtomVec classes to simplify adding new atom styles to the code. Also adding support for writing complete data files for atom styles ellipsoid, line, tri, and body, which had been previously missing.
    • Implementation of string tokenizer and potential file reader classes to improve parsing of text files and avoid the strtok() function. This has lead to substantial reduction in the lines of code used for those cases.
    • Transferring of utility function from class members to standalone functions in the utils namespace. Several new additions of such convenience functions
    • Using const std::string & instead char * or const char * as function argument in many places to simplify string processing and replacing C style string functions with their equivalent or expanded functionality of std::string member functions
    • Incorporation of fmtlib to replace and simplify many cases of output formatting. This avoids many complications with printf() style functions since no special treatment is required for processing bigint or tagint arguments. Since fmtlib has been accepted as a C++20 feature, this is also future proofing the code base.
    • Avoiding use of temporary local buffers for output formatting and thus lowering the risk of buffer overflows. This was enabled by the previous two changed.
    • Replacing NULL with nullptr where applicable for better detection of incorrect use.
  • Major reorganization and significant expansion of the manual:
    • The manual is now split into two parts: a User Guide and a Programmer Guide
    • Most of the content related to using the library interfaces, the Python module (and Python in general) have been moved to the Programmer Guide
    • The content of the external Developer Guide PDF has been incorporated into the Programmer Guide section and expanded
    • The documentation of the C-library interface and Python module has been expanded and the documentation of the individual APIs are now imported from the source code by means of using doxygen (for C/C++) and docstrings (for Python).
    • Redundancies have been reduced, cross-links added, and links to external websites checked, updated or removed.
  • Addition of a unit test facility which is integrated into building LAMMPS with CMake and using the ctest tool that comes with CMake. Tests for a variety of features and styles are included with a code coverage close to 40%. The added tests have exposed a significant number of previously unknown bugs and inconsistencies (e.g. between plain pair styles and suffixed versions or between Pair::compute() and Pair::single()) in the code base, which have been fixed.
  • Significant refactoring of the LAMMPS C-library interface and Python module: several new functions were added, especially for introspection, ad-hoc numerical constants were replaced by symbolic constants defined in enumerators and synchronized betwee C and Python, where possible and needed. Most modifications were done in a backward compatible way.
  • Add support for a "UNITS:" metadata tag to potential and tabulation files and code to error out if the value does not match with the current setting. For some potentials, mainly manybody potentials, support for on-the-fly conversion between "metal" and "real" units was added, so that a file with parameters for "metal" units can be used in a simulation with "real" units, if the pair style supports it.
  • Ordering of #include "" statements has been revised and the lists updated where possible after analyzing with the IWYU tool.
  • Significant refactoring of CMake scripts enabled by moving the minimum required CMake version from 2.8.x to 3.10.x. CMake build support is more reliable, portable to different host operating systems and efficient.
  • Conventional build system now always builds the LAMMPS library and the executable, so the available modes are reduced from 4 to 2: mode=static and mode=shared. The CMake build behaves equivalently.
  • Use pre-processor macros (requiring C++11) to provide compatibility with OpenMP 4.x and later semantics
  • Many small fixes and improvements.
  • Removal of outdated or obsolete makefiles. Removal of obsolete files and folder in the bench folder.

Updates and new commands or styles or packages:

  • New MLIAP package providing a generalized framework for machine-learning potentials. This currently includes an implementation of the SNAP potential
  • New USER-MESONT package for mesoscale modeling of nanotubes.
  • New command reset_mol_ids
  • New fix widom for modeling Widom insertions
  • New fix pafi to perform langevin or brownian dynamics time integration constrained to a potential hyperplane. Intended to be coupled to the PAFI C++ code.
  • Bugfixes, improved documentation, and new functionality for fix bond/react in particular RMSD based constraints.
  • New fix accelerate/cos and compute viscosity/cos in USER-MISC as yet another method to compute viscosity.
  • New fix momentum/chunk to remove per chunk momentum
  • New bond style special to provide a mechanism to implement special bond exclusions beyond 1-4.
  • Ports of more functionality to the KOKKOS package and several performance optimizations. Support for AMD GPUs via HIP. Update of the bundled Kokkos library to version 3.2.
  • Support for triclinic cells when using "tiled" communication style.
  • New pair style for charge-dipole damping with Tang-Toennies function in the USER-DRUDE package
  • Updates, bugfixes and adjustments to LAMMPS requiring C++11 in the USER-COLVARS package (now at version 2020-09-17).
  • Support for building triclinic neighbor lists on the GPU in the GPU package. Bugfixes and performance improvements for GPU styles.
  • Updates to writing binary dump files and binary2atom tool to become consistent with current text mode custom dumps
  • Updates to the user supported examples/COUPLE/fortran and examples/COUPLE/fortran2 wrappers to become compatible with updates to the C-library interface. Also work on a new, "object oriented" Fortran interface has started.
  • New LAMMPS shell command as alternative to the regular LAMMPS executable for improved interactive use.
  • Interface file for use with SWIG to create bindings to the LAMMPS library interface for a wide variety of (mostly scripted) programming languages (like Java, JavaScript, Lua, Perl, Ruby, Tcl and more).
  • Improved support for cross-compiling binaries for Windows on Linux. This enables building a liblammps.dll file and loading the LAMMPS Python module also on Windows.
  • Improved CMake support for building with "ninja" instead of "make".

Backward compatibility notes:

  • A C++11 compatible compiler is now required
  • CMake 3.10 or later is required for configuring and building with CMake
  • The USER-MESO package was renamed to USER-MESODPD to avoid confusion
  • Fix bond/react has been moved from USER-MISC to its own USER-REACTION package
  • The command reset_ids was renamed to reset_atom_ids.
  • Binary restarts using pair styles ufm, buck/mdf, lennard/mdf, coul/shield, coul/diel, and morse/soft are not compatible with older versions of LAMMPS due to bugfixes in the restart handling of those pair styles.
  • The format of binary dump files has changed. binary2text can detect and convert the old and the new format
  • Fixes temp/berendsen, temp/csvr, temp/csld, temp/rescale, fix spring/chunk and fix spring/rg now store their state in binary restart files

Stable release 3 March 2020

25 Mar 02:54
stable_3Mar2020
6354777
Compare
Choose a tag to compare

IMPORTANT NOTE:
This is the last LAMMPS release that does NOT require a C++11 compiler for the core code and CMake version 3.10 or newer. The next patches and stable releases will require a C++11 compatible C++ compiler to compile all of LAMMPS, not just for some of the optional packages. For some older compilers (e.g. GCC 4.8.x on CentOS 7.x) a flag to enable C++11 support may be required (e.g. -std=c++11 or -std=gnu++11 in the case of GCC 4.8.x).

Below is a list of major changes since the last stable release 7 August 2019.

General changes

  • The documentation file format has been changed from the custom txt2html markup to using reStructuredText (rst). This provides several advantages to have a better looking and more functional documentation. As a first step, all externally rendered equations have been converted to embedded math and all raw HTML markup converted. Most boxes with examples, will use syntax highlighting. Further improvements of typesetting and layout are forthcoming. Additional consistency checks are now applied when processing the documentation.
  • Many file read operations are now monitored for read errors and thus allowing to detect damaged or incomplete files like potential parameter files and restart files
  • Updates and improvements to the CMake build system to more closely match all the functionality provided by the conventional make based build system
  • Support for threaded FFTs from FFTW and MKL, support for cuFFT and KISSFFT on the GPU with KOKKOS
  • Expose neighbor lists to the library interface and the Python wrapper
  • Documentation of installing LAMMPS via conda
  • Many small improvements or bugfixes

Updates and new commands or styles

  • new dump_modify options to embed ITEM: UNITS and ITEM: TIME with information about units and accumulated simulation time
  • new pair styles cosine/squared, local/density, mesocnt
  • new fix styles wall/reflect/stochastic, propel/self, 'npt/cauchy`
  • new compute gyration/shape/chunk
  • new compute hma for fast, high-precision computation of certain thermodynamic properties of solids
  • new compute style centroid/stress/atom for computing per atom stress in a way allowing for more accurate heat flux computations with interactions involving more than two atoms
  • new third_order command, a companion command to dynamical_matrix, for computing the third order force tensor from finite differences
  • new options ratio and subset for create_atoms and similarly new options type/ratio and type/subset to the set command
  • new tool for post-processing parallel tempering trajectories
  • multiple updates, bugfixes, and improvements to fix bond/react
  • improved implementation of minimization style fire
  • support to run NWChem along with LAMMPS in client/server mode

Updates for packages

  • KOKKOS now supports minimization (limited to minimization styles cg and quadratic), updates to the KOKKOS library, general improvements and bugfixes, more styles ported to KOKKOS
  • several new SNAP potentials
  • tweaks to USER-INTEL to compile correctly with too aggressively optimizing compilers, corrections and improvements
  • bugfixes and improvements for the GRANULAR package
  • several new SNAP potentials and a new compute snap for training SNAP potentials
  • bugfixes and improvements to the KIM package, new command kim_param for accessing KIM model parameters
  • updates to the USER-COLVARS package with updates to the included Lepton library
  • updates to the USER-PLUMED package with bugfixes and support for recent releases
  • updates to the USER-CGDNA package including a new coarse grained RNA model (oxRNA2)
  • improvements and updates to the SPIN package, L-BFGS minimizer added
  • updates, extensions, and improvements to the USER-MEAMC package
  • memory leaks fixed when using styles from the GPU with multiple run commands, new pair style lj/cut/tip4p/long/gpu
  • updates to fix rigid variants to add gravity to rigid objects with overlapping (granular) particles
  • support for rerun and read_dump with USER-ADIOS

Backward compatibility notices

  • building the USER-COLVARS package with all features enabled now requires a C++-11 compatible compiler
  • due to changes in the random number generator initialization, results when using fix pour, fix deposit, fix evaporate or create_atoms random will not match with previous versions of LAMMPS. see PR lammps#1569
  • the gjf keyword for fix langevin no longer supports the option yes. Instead you have to use either vhalf or vfull
  • the FIRE minimizer has been replaced with an improved implementation. The previous implementation is available as fire/old.
  • new documentation has to be written in reStructuredText format