Stable release 22 July 2025
Below is a list of major changes since the last stable release 29 August 2024
This stable release adds about 4500 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.
This will be the last LAMMPS release that is compatible with C++11. Future releases will require C++17. Also, this will be the last release containing the ATC, AWPMD, and POEMS packages. These packages have been unmaintained for a long time and would require considerable effort to update to modern C++.
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 messages. For several common cases there is an indicator for which word caused the error. Also, if the command line had substitutions (e.g. from variables), the message will show both, the line as it appears in the input file and how it looks like after substitutions.
- Enhancements and extensions of the Programmer' Guide section of the manual.
- Significant enhancements to LAMMPS-GUI, performance improvements, and integration with https://lammpstutorials.github.io/
- Expanded CTest based internal testing.
Updates and new commands or styles or packages (for more details see the release note of the individual feature releases):
- Add support for running FFTs with NVPL from Nvidia for Grace CPUs for plain FFTs and KOKKOS
- Update support for using MKL FFTs for CPUs and add support for Intel GPUs when compiling LAMMPS with KOKKOS for SYCL
- Bugfixes, updates and ports for GRANULAR and related styles in KOKKOS
- Ports of several fixes to KOKKOS
- New coulomb pair style and QEq fix implementing CTIP as an alternative to could/streits
- New fix qtpie/reaxff that implements the QTPIE charge equilibration algorithm for ReaxFF
- Updates to the BPM and REHO packages
- Update embedded LAPACK compatible linear algebra functions to state of LAPACK 3.12.1
- New pair style
dispersion/d3to add D3 dispersion correction to DFT based ML potentials - New angle style
mwlcfor (meltable wormlike chains) - New fix style
efield/leptonfor more complex electric field calculations with custom expressions - Discourage use of PyLammps and move its useful features to the regular LAMMPS python module (e.g. for use with Jupyter)
- Updates to
fix imdto support the IMDv3 protocol and with it connect with MDAnalysis for on-the-fly processing - Add MDR contact model to granular pair style
- Add capability to use atom style variables to pair style hybrid/scaled
- Add Kokkos versions of bispectrum (SNAP) and Gaussian descriptors on a grid
- new fix styles for bosonic path integral molecular dynamics
- new region2vmd command for visualizing LAMMPS regions with VMD
- new compute vacf/chunk command
- new extxyz dump style for writing extended xyz xyz files
- alternate velocity verlet timestepping option to avoid unphysical sticking in DEM simulations
- Improved molmap option for fix bond/react
- Improved error handling for bad/invalid arguments in the library interface, add function to stop Error class from printing errors directly, so they won't be printed twice when re-throwing them in the calling code
- Add support to move dipole moments along in rotate and transrot modes of fix move
- Add support for using fix adapt with dihedral and improper styles
- Updates for Moltemplate Howto
- Add fix gjf which was unbundled from fix langevin and provides significantly improved GJF Langevin dynamics
- Add pair style lj/pirani which is a generalized version of the LJ potential
- Add fix style ave/moments which can compute distribution moments in addition to averages
- Add fix set command
- Add support for writing more flexible equal-style and atom-style variables with Python functions
- Add support for reading JSON format molecule files
- Add support for writing plugins for run_style and minimize_style; fix multiple known bugs and refactor the whole framework to be a global and not a per-LAMMPS instance property
- Add atomic energy option for energy change calculation in fix sgcmc
- Updated bundled colvars library to version 2025-04-30
- Add fix neighbor/swap for hybrid MD/kMC-like simulations
- Add APIP package for "Adaptive Precision Interatomic Potentials"
- Add
fix hmcfor hybrid/Hamiltonian Monte Carlo - Add
molecule off/inter/intraoption tofix bond/createto enable selecting only inter- or inter-molecular reactions
Backward compatibility notes:
- The bugfix change to the MS-MEAM in the meam pair style in PR #4331 changes energies and forces for systems using L12 lattice settings (like the example included in LAMMPS, or the force style unit test). The reference data for these has been updated.
- The new function utils::print() should be used instead of fmt::print()
- Backward compatibility with
compute_modify extraandcompute_modify dynamicwas removed. Now usingcompute_modify extra/dofandcompute_modify dynamic/dofis required. - Using Python 2.x with LAMMPS should now cause an error, also when using Python 3.5 or older
- Compiling LAMMPS -DLAMMPS_SMALLSMALL will stop with an error, same for configuring with CMake
- When building the LAMMPS manual with "make fasthtml" we no longer use "Sphinx", but "pandoc". This produces an approximate output without many special Sphinx features, but can render most text very quickly and will only update files that were changed, while "make html" using Sphinx will always read and process all files.
- setting CMAKE_TUNE_FLAGS will have no effect anymore. Use CMAKE_CXX_FLAGS or CMAKE_C_FLAGS instead.
- using the gjf flag with fix langevin is discouraged. The new fix gjf should be used instead.