Releases: lammps/lammps
Update 4 for Stable release 23 June 2022
This is an update to the 23 June 2022 stable release that fixes bugs that have been reported since then and updates some libraries, dependencies, and build system support.
The following individual changes are included:
- compilation fix for bundled Kokkos lib on Fedora 38
- expose GPU debugging for GPU package to CMake build
- update external MSCG library to snapshot with included important bugfix
- allow building PLUMED package with MinGW64 Linux-to-Windows cross-compilers
- small corrections for the manual
- remove obsolete (and previously optional) constructor argument required for compatibility with recent ADIOS2 versions
- bugfix for ndx2group command to avoid crash when no atom map is available
- allow fix oneway to be used with dynamic groups
- update fix property/atom/kk to be compatible with non-kokkos version
- installing/removing the MDI package requires recompilation of main.cpp
- fix bug to correct force computation in fix wall/morse, update its unit test
- synchronize fmt::format code with develop branch to increase portability with Nvidia compilers
- correct Error API for functions supporting variable arguments as needed by fmt::format upgrade
- no need to store topology information with ghost atoms
- fix bug with "ids once" option for compute chunk/atom
- fix a few bugs in the INTEL package (32-bit integer overflow with neighbor lists, missing initializer for dihedral style charmm, calling double precision math functions in floating point precision templated classes, plug memory leak in Nose-Hoover styles)
- avoid segmentation fault with atom style edpd
Update 1 for Feature release 28 March 2023
This is a tiny update for the 28 March 2023 release that changes the Sphinx setting to address a problem updating the online documentation. There are no functional changes.
Feature release 28 March 2023
Changes since the 8 February 2023 release:
- Support more pair, bond, and angle styles with compute born/matrix (Evangelos Voyiatzis) PR #3650, PR #3655, PR #3668
- Refactor of the GRANULAR package to make it more modular and features more easily reusable (Joel Clemmer and Dan Bolintineanu, SNL) PR #3512
- New fix
wall/lepton
andwall/table
for custom wall potentials (Axel Kohlmeyer, Temple U) PR #3657 - New bond style
harmonic/restrain
to restrain bonds to their current length (Axel Kohlmeyer, Temple U) PR #3671 - New
fix alchemy
andcompute pressure/alchemy
commands for multi-partition alchemical transformations (Axel Kohlmeyer, Temple U) PR #3662 - New
fix mdi/qmmm
style and examples for coupling LAMMPS to quantum codes (PySCF, NWChem, LATTE) via MDI for QM/MM simulations (Steve Plimpton) PR #3628 - GPU package performance improvements (Mike Brown, Intel) PR #3675
- New option "sort yes/no" for
balance
andfix balance
(Steve Plimpton) PR #3677 - Small updates and fixes for the BPM package and related items (Joel Clemmer) PR #3696
- New pair style
born/gauss
which is used as example in new programmer's guide section on developing pair styles (Axel Kohlmeyer, Temple U), PR #3667 - Refactor per-chunk compute styles to use a common base class and thus reduce replicated code, (Axel Kohlmeyer, Temple U), PR #3691
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3643, PR #3644, PR #3648, PR #3649, PR #3651, PR #3653, PR #3656, PR #3658, PR #3659, PR #3661, PR #3663, PR #3664, PR #3666, PR #3669, PR #3672, PR #3674, PR #3676, PR #3679, PR #3680, PR #3681, PR #3684, PR #3687, PR #3689, PR #3693, PR #3694, PR #3695, PR #3698, PR #3699, PR #3701, PR #3702, PR #3703, PR #3705, PR #3709, PR #3712
Backward compatibility notes:
- Pair style
gauss
now honors the special_bonds lj settings make install
in a CMake based installation will no longer install the LAMMPS python module.make install-python
can be used for that.
Update 3 for Stable release 23 June 2022
This is an update to the 23 June 2022 stable release that fixes a bugs that have been reported since then and updates some libraries, dependencies, and build system support.
The following individual fixes and changes are included (also see PR #3593 and PR #3595):
- updates and corrections for package settings handling with traditional make build system
- synchronize GitHub related settings and file with upstream
- update LAMMPS developer contact info in source code (see #3595)
- update sphinx settings and theme files to what is used with upstream (see #3595)
- synchronize the documentation with upstream where applicable
- provide fallback URLs for external libraries to cached copies on download.lammps.org when automatic download from primary source fails or checksum does not match
- support compilation of ADIOS package without MPI
- update n2p2 library for ML-HDNNP package
- fix typo in meam/spline/sw potential file
- bugfix for checking on valid numbers with utils::*numeric() functions
- bugfix for DPD styles when used with special bond factors that are not 0 or 1
- bugfix for stress tally with dihedral style table
- pair style wf does not support pair modify shift by construction
- bugfix for minimization with fix box/relax and KOKKOS
- bugfix for neighbor list build with KOKKOS
- bugfixes for memory leaks in KOKKOS
- bugfixes for using hybrid pair styles with KOKKOS
- bugfixes for multiple GPU tag issues in KOKKOS styles
- bugfix for bond/angle style gaussian that had prematurely truncated the potential
- bugfix for argument parsing with pair styles nm/cut/coul/cut and nm/cut/coul/long
- bugfix for traditional make build where some package settings were not removed when uninstalling
- bugfix for TIP4P styles where sometimes an H atom is not found if its O atom is a ghost
- bugfix for checking region extent in triclinic boxes with fix gcmc and fix widom
- bugfixes for fix pimd
- bugfixes for pair style gauss with GPU package, make
special_bonds
handling consistent across all variants (see PR #3644) - remove memory leaks for examples/COUPLE codes
- fix portability issues for compiling LAMMPS on Solaris/OpenIndiana
- fix portability issues for compiling LAMMPS using musl-libc instead of GNU libc
- add compatibility for compiling the GPU package with CUDA 12.0 (the included Kokkos library is not ported and optimized for CUDA 12.0 a newer LAMMPS feature release that included Kokkos 3.7.1 or later is required for that)
- updates and bugfixes for library interface wrapper that allows loading LAMMPS as a plugin library at runtime
Backward compatibility notice:
- pair style
gauss
now honors thespecial_bonds
settings
Feature release 8 February 2023
Changes since the 22 December 2022 release:
- Port of the AMOEBA package code to the GPU package (Trung Nguyen, U Chicago) PR #3599
- Update the bundled Kokkos library to version 3.7.1 and some related code improvements also for upcoming changes in Kokkos 4.0 (Stan Moore and Christian Trott, SNL) PR #3532 and PR #3568
- Port of pace/extrapolation pair style to KOKKOS (Yury Lysogorskiy (ICAMS, RUB) PR #3585, PR #3629
- Port of pair styles lj/expand/coul/long and lj/cut/dipole/cut and atom style dipole to KOKKOS (Trung Nguyen, U Chicago) PR #3623
- Port of the ML-IAP Python interface for PyTorch to KOKKOS (Matt Bettencourt, NVIDIA) PR #3577, PR #3606
- New pair style meam/ms implementing the multi-state MEAM extension including port to KOKKOS (Drew Rohskopf and
Aidan Thompson, SNL, and Mike Baskes, LANL, UNT) PR #3608 - Converted "linalg" library from Fortran to C++ so that no longer a Fortran compiler is required if a package requires BLAS/LAPACK and no suitable library is present (Axel Kohlmeyer, Temple U) PR #3579
- Remove
mesont/tpm
pair style and related styles as well as the corresponding Fortran library from MESONT package as they are superseded by themesocnt
pair and bond/angle styles. (Axel Kohlmeyer, Temple U) PR #3605 - New LEPTON package that allows custom potential functions through evaluating expressions provided as string through the Lepton library written originally for OpenMM (Axel Kohlmeyer, Temple U) PR #3571, PR #3590
- New
angle_write
anddihedral_write
commands (Axel Kohlmeyer, Temple U) PR #3573 - New
compute efield/wolf/atom
command that can approximate the electrostatic field at atom positions using Wolf summation (Axel Kohlmeyer, Temple U) PR #3551 - Bugfix for DPD-BASIC pair styles and their accelerated versions when used with bonds and
special_bonds
factors that are not 0 or 1. (Axel Kohlmeyer, Temple U) PR #3575 - Updates to the DIELECTRIC package that reverses the logic of how to store original and scaled charges and thus results in more consistent behavior of computes and fixes outside the DIELECTRIC package (Trung Nguyen, UChicago) PR #3576
- Support for ABC-FIRE variant of FIRE minimizer (Sebastian Echeverri Restrepo, King's College London) PR #3591, PR #3594
- Support for "equal" mode of NEB (Tom D Swinburne, CNRS), PR #3596
- Additional functions to access topology data in the C-library interface with support in all derived wrappers and interfaces (Evangelos Voyiatzis) PR #3614
- Fall back to download external libraries from download.lammps.org instead of their original location in case that server is unavailable, the URL changed or the checksum changed (Axel Kohlmeyer, Temple U) PR #3630
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3561, PR #3569, PR #3570, PR #3572, PR #3574, PR #3581, PR #3582, PR #3587, PR #3588, PR #3589, PR #3592, PR #3597, PR #3598, PR #3601, PR #3602, PR #3603, PR #3604, PR #3607, PR #3610, PR #3613, PR #3615, PR #3617, PR #3620, PR #3621, PR #3624, PR #3631, PR #3635, PR #3636, PR #3637, PR #3638
Backward compatibility notes:
- the obsolete legacy Fortran 77 wrapper for the LAMMPS library interface has been removed from examples/COUPLE
- the obsolete fire/old variant of the FIRE minimizer was removed
- pair style mesont/tpm, compute style mesont, and atom style mesont were removed
Patch release 22 December 2022
Changes since the 3 November 2022 release:
- new package ML-POD with a pair style for machine learning potentials using "proper orthogonal descriptors" (POD) and a command for training (Ngoc Cuong Nguyen, MIT and Andrew Rohskopf, SNL) PR #3449
- new command
reset_atoms
that is a front end forreset_atom_ids
andreset_mol_ids
and the new sub-commandreset_atoms image
to reset image flags consistently for molecule fragments (Axel Kohlmeyer, Temple U) PR #3530 - new features and updates to the ELECTRODE package (Ludwig Ahrens-Iwers and Robert Meißner, Hamburg U of T and Shern Tee, U of Queensland) PR #3544
- new fix sgcmc command in the MC package imported from the external USER-VCSGC package (Aidan Thompson, SNL and Axel Kohlmeyer, Temple U) PR #3556
- add KOKKOS versions of fix viscous and fix dt/reset (Michal Kanksi, Jagiellonian University) PR #3522
- refactored distributed grids code to be more general and add new commands that can access those grids or compute/process/output grid properties (Steve Plimpton) PR #3405
- new Python classes and functions to build tables for pair style, bond style, angle style, and dihedral style table (Axel Kohlmeyer, Temple U) PR #3559
- updates, bugfixes, and a few new features for fix bond/react (Jake Gissinger, NASA Langley) PR #3514
- some more updates to the LAMMPS Fortran interface module (Karl Hammond, U of Missouri) PR #3547
- remove style suffixes when writing binary restart files allowing to restart non-accelerated runs from accelerated runs (Axel Kohlmeyer, Temple U and Stan Moore, SNL) PR #3538
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3516, PR #3517, PR #3521, PR #3524, PR #3525, PR #3527, PR #3529, PR #3533, PR #3534, PR #3539, PR #3541, PR #3548, PR #3550, PR #3552, PR #3553, PR #3555, PR #3558, PR #3560, PR #3562, PR #3566
Backward compatibility notices:
- The checks for valid floating-point and integer numbers have been improved and are more strict now. This can lead to old inputs failing because of invalid numbers
- The
Si.b.meam.sw.spline
had to be corrected for an invalid floating-point number (see previous note. here the "e" in the exponent was missing and thus the exponent was incorrectly ignored). Most calculations, but not all, will be unaffected since this only concerned the spline coefficients at the very beginning of the table. - The syntax for the
python source
command has changed slightly to be more consistent with the other features of the command. - The commands
reset_atom_ids
andreset_mol_ids
have been renamed toreset_atoms id
andreset_atoms mol
, respectively. When the original commands are used, a warning is printed and the commands changed to the new versions. - The
box
command has been removed. The error check that it was used for to disable has been changed to a warning. If the box command is used, it is ignored and a warning is printed. - Binary restarts written with KOKKOS enabled for older versions of LAMMPS may not read back correctly with this version due an inconsistency in the restart output. Those restarts must be converted into data files using the old executable to be readable.
Update 2 for Stable release 23 June 2022
This is an update to the 23 June 2022 stable release that fixes a few bugs that have been reported since then and updates some libraries, dependencies, and build system support. There is no new functionality added.
The following individual fixes and changes are included:
- restore consistent handling of dump output frequency
- backport corrections to the DIELECTRIC package
- update/correct documentation for building the ELECTRODE package with the traditional make procedure
- avoid race condition when downloading potential files in CMake
- adapt VTK support in CMake to be compatible with VTK 9.0 and later
- correct/improve OpenMP detection for CMake 3.10+
- relax minimum required OpenMP version for KOKKOS package (based on improved OpenMP detection)
- prefer versioned cythonize command over unversioned if it matches the selected python version
- update default downloaded plumed library version to 2.8.1
- adjustments for correct HTML output of the manual with sphinx 5.1+
- add workaround for activate inactive hyperlinks for Fortran functions in manual
- correctly report mixing for CLASS2 pair styles
- increase buffer for internal regex function to accommodate larger strings
- correctly apply offsets to shake types in molecule files
- correct outdated neighborlist issues when calling delete_atoms or create_bonds multiple times
- fix buffer allocation issue for atom style dumps
- avoid segmentation faults when using the
clear
command with atomfile variables andpair/only
package flags - update broken URLs in the manual
- add support to detect Windows 10 22H2 in OS version info
Patch release 3 November 2022
Changes since the 15 September 2022 patch release:
- New ML-IAP package unified python interface (Steven Anaya and Nicholas Lubbers, LANL) PR #3458
- Partial Kokkos support for the ML-IAP package, (Matt Bettencourt and Markus Hrywniak, NVIDIA) PR #3487
- New pair style ylz (Mehdi Baghaee,SUSTech Shenzhen) PR #3491
- Updates and fixes to the BPM package (Joel Clemmer, SNL) PR #3448
- Updates to the ML-PACE package introducing extrapolation grade / active learning (Yury Lysogorskiy, Ruhr-Uni Bochum) PR #3315, PR #3479, PR #3490, PR #3501
- Updates and corrections to the SPIN package (Julien Tranchida, CEA) RP #3461
- Updates to the Fortran module (Karl Hammond, U Missouri) PR #3396, PR #3470, PR #3508
- Update bundled Kokkos library to version 3.7.0 (Stan Moore, SNL and the Kokkos developers) PR #3474
- Performance improvements/consistency for the KOKKOS versions of SNAP and Tersoff (Evan Weinberg, NVIDIA) PR #3465, PR #3488
- GPU package initialization improvements (Mike Brown, Intel) PR #3478
- Support for quartic interaction in pair style list (Tiedong Sun) PR #3473
- Support requesting a full neighbor list with pair style zero (Drew Rohskopf, SNL) PR #3471
- Integrate Peridynamics user guide PDF as Howto into the LAMMPS manual (Axel Kohlmeyer, Temple U) PR #3462
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3450, PR #3454, PR #3455, PR #3456, PR #3459, PR #3463, PR #3468, PR #3475, PR #3477, PR #3480, PR #3482, PR #3485, PR #3489, PR #3495, PR #3497, PR #3498, PR #3500, PR #3502, PR #3503, PR #3504, PR #3507, PR #3510
Backward compatibility notes:
- the default setting for neighbor list rebuilds has been changed from
delay 10
todelay 0
to guarantee correctness at some modest performance loss. This can lead to more frequent neighbor list rebuilds or neighbor list rebuilds on different timesteps and thus diverging trajectories. - Unlike other variables, atomfile style variables are now deleted with the
clear
command. This avoids segmentation faults due to trying to access a deleted fix store/peratom instance.
Patch release 15 September 2022
Changes since the 3 August 2022 patch release:
- Add basic support for symbolic types aka type labels (Jake Gissinger, NASA, Yaser Afshar, UMN, Steve Plimpton, SNL, Axel Kohlmeyer, Temple U) PR #2531
- New
fix pair
command to access per-atom quantities computed by pair styles, alsodump_modify skip
option to skip writing dump frames depending on a condition (Steve Plimpton, SNL) PR #3369 - Major update of the
mesocnt
pair style with addition ofmesocnt
bond and angle styles and more to complete the functionality (Philipp Kloza, U Cambridge) PR #3421 - Updates and corrections for plugin handling in LAMMPS and the MDI package (Christian Negre, LANL, and Taylor Barnes, MOLSSI, and Steve Plimpton, SNL) PR #3366
- Add support for using
fix shake
andfix rattle
during minimization by replacing the constraints with strong restraints (Axel Kohlmeyer, Temple U) PR #3244 - Remove some bias from the operation of fix bond/swap caused by how LAMMPS stores neighbors and bonds (Steve Plimpton, SNL) PR #3444
- Add support to
fix latte
so it can be used in combination withfix gcmc
and similar (Steve Plimpton, SNL) PR #3436 - Split internal fix STORE command into fix STORE/GLOBAL and fix STORE/PERATOM (Axel Kohlmeyer, Temple U) PR #3379
- Update embedded fmtlib code to version 9.1.0 (Axel Kohlmeyer, Temple U) PR #3381, PR #3418
- Tune INTEL package code for better performance with the new LLVM based Intel compiler (Michael Brown, Intel) PR #3410
- Various contributions from participants at the LAMMPS Code Clinic event (multiple authors).
- Project 1: Improved error messages: PR #3394, PR #3403, PR #3408, PR #3428
- Project 2: Refactor for new APIs: PR #3391, PR #3398, PR #3399, PR #3401
- Project 4: Modernize documentation: PR #3411, PR #3427
- Project 5: Add expand and new tests: PR #3400, PR #3407, PR #3438
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3378, PR #3380, PR #3382, PR #3383, PR #3384, PR #3387, PR #3388, PR #3389, PR #3390, PR #3392, PR #3393, PR #3395, PR #3406, PR #3409, PR #3414, PR #3419, PR #3420, PR #3422, PR #3425, PR #3432, PR #3433, PR #3440, PR #3442 , PR #3443
Compatibility with external tools:
- TopoTools in VMD must be at least version 1.9 to be compatible with type labels. To update your VMD TopoTools plugin, you can download it from the TopoTools release page on GitHub
- OVITO is going to be compatible with data files containing type labels soon
Backward compatibility notes:
- external LAMMPS code that uses fix STORE will need to be updated
- the update of the mesocnt styles is not backward compatible
- comments in data and data files must have a blank between the last valid input and the comment character '#'
- the mandatory fourth argument (
NULL
) forfix latte
is no longer required. Its function is moved to thecoulomb
keyword
Update 1 for Stable release 23 June 2022
This is an update to the 23 June 2022 stable release that fixes a few bugs that have been reported since then and updates some libraries, dependencies and the CMake support for plugins on Windows.
The following individual changes are included:
The following individual fixes and changes are included:
- Fix corner case with if-then-else Boolean logic where there is just a single string argument.
- Also remove references to comparing strings with Boolean operaters like "<" or ">=" in the documentation.
- Add missing atom->grow() to Kokkos unpack_exchange to avoid segmentation fault
- Fix small memory leak in ML-SNAP
- Avoid possible out-of-bounds data access in ML-RANN
- Bugfixes to fix bond/react
- Bugfixes to pair style mgpt
- Avoid segfault in dump vtk when used without a region
- Allow ramp(x,y) variable function to be used in between runs (returning x) and avoid division by zero when used with run 0.
- Allow vdisplace(), swiggle(), and cwiggle() functions to be used in between runs and disallow using them with fix dt/reset.
- Prevent view bounds error when building the Kokkos neigh list and a proc has no atoms
- Add missing GPU <--> CPU data transfer in Kokkos minimize, gave wrong results when using
comm no
orcomm/reverse no
running on the GPU - fixes for CMake scripts used for building plugins to cross-compile with MPI on Windows
- CMake scripting updates to fix multiple issues building the n2p2 library on Ubuntu 18.04LTS and 20.04LTS
- add CMake script code to provide a "make package" target when cross-compiling plugins to Windows
- mention dump style cfg/uef in the main dump manual page
- add missing support for
dump_modify colname
to local dumps - add more unit tests to improve test coverage of boolean evaluations
- must not search for MPI package when MPI is disabled to avoid issues with testing the LAMMPS Fortran module
- update embedded Kokkos library to bugfix release version 3.6.1
- update googletest library from a snapshot to release version 1.12.1
- update the Viscosity howto input script example to simulate liquid argon as advertised
- avoid deprecation warnings when building the manual
- update python package version requirements for building the manual