Stable release 2 August 2023
·
7241 commits
to develop
since this release
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 forreset_atom_ids
,reset_mol_ids
and the newreset_atoms image
for reducing the value of image flags - New
angle_write
anddihedral_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
andborn/gauss
- New
fix pimd/langevin
for path-integral simulations using a Langevin thermostat - New
fix alchemy
andcompute 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
, andlepton/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
andfix 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 tofix pimd/nvt
- pair style
mesont/tpm
, compute stylemesont
, and atom stylemesont
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.