Skip to content

Releases: lammps/lammps

Update 1 for Stable release 2 August 2023

23 Sep 13:41
stable_2Aug2023_update1
ce75654
Compare
Choose a tag to compare

This is an update to the 2 August 2023 stable release that fixes bugs that have been reported since then and updates some libraries, dependencies, tools, and build system support.

The following individual changes are included:

  • avoid compilation failures for PYTHON package with legacy build system on Linux systems that have only python3-config and no python-config like Debian or Ubuntu
  • bugfix for pair style dpd/gpu
  • make pair style awpmd compatible with C++17 compilers
  • disable testing for (broken) MPIIO package features
  • bugfix for compute global/atom
  • bugfixes for fix srd
  • bugfix for mdi
  • fix bug in create_atoms mesh to recognize files starting with solid binary as binary, do not require a lattice, and plug memory leak
  • fix bug in Kokkos ReaxFF on GPUs when border communication is done by host
  • fix multiple initialization bug in custom/adios dump style
  • avoid uninitialized data access in colvars library
  • do not restore Atom::map_user from restart files and allow to override the map style with binary restart
  • fix element mapping bug in pair style hdnnp when used as a hybrid sub-style
  • the MESONT package depends on the MOLECULE package
  • correct link to Kokkos compatibility info
  • make hipfft support compatible with ROCm 6.0 and later
  • replace leftover references to lib/smd and smd to use lib/machdyn and machdyn
  • updates to sync lammps-shell's internal tables with the current state of LAMMPS
  • corrections for compiling tools with GNU make and improve documentation when using CMake to build them
  • remove some leftover temporary files created by unit tests
  • cmake updates and corrections
  • documentation corrections
  • corrected clang-format detection for Debian Linux
  • update lammps-gui to version 1.2 with bugfixes and enhancements

Stable release 2 August 2023

03 Aug 15:58
stable_2Aug2023
27d065a
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 candidate 2 August 2023

03 Aug 12:24
patch_2Aug2023
554db7d
Compare
Choose a tag to compare
Pre-release

This release primarily contains bug fixes for the 15 June 2023 feature release to make this a stable release.

Changes since the 15 June 2023 release:

Feature release June 15 2023

15 Jun 18:38
patch_15Jun2023
9673c22
Compare
Choose a tag to compare
Pre-release

Changes since the 28 March 2023 release:

  • The LATTE package was removed as it is superseded by the MDI package which provides a more generic interface to couple to quantum codes (Steve Plimpton) PR #3716
  • Updates to fix mdi/qm and fix mdi/qmmm to be compatible with quantum codes that do not support periodic boundaries (Taylor Banes, MolSSI) PR #3727
  • Update COLVARS package to version 2023-05-01 (Giacomo Fiorin, NIH and Colvars developers) PR #3783
  • Update bundled Kokkos library to version 3.7.2 (Stan Moore, SNL, and the Kokkos developers) PR #3806
  • Add support for exchange communication for fixes to KOKKOS, this can provide significant speedups for certain simulations using GPUs (Stan Moore, SNL, based on work by Denis Taniguchi, Newcastle University) PR #1394
  • Multiple performance optimization for KOKKOS package with GPUs (Stan Moore, SNL):
    • Add support for performing the spatial sorting of atoms on GPU devices, PR #3740
    • Fuse some Kokkos kernels to reduce launch latency for small systems, PR #3758
    • Compute atom map (including hash style) on GPU devices, PR #3769
  • 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 (Axel Kohlmeyer, Temple U) PR #3714
  • New pair style aip/water/2dm for interfaces between water and 2d materials (Wengen Ouyang, Wuhan University), optimized versions by (Xiaohui Duan, Shandong University, and Ping Gao ,National Supercomputing Center in Wuxi) PR #3787
  • New compute count/type command to efficiently count number of atoms or bonds of given types (Steve Plimpton) PR #3761
  • New fix pimd/langevin for path-integral simulations using a Langevin thermostat (instead of a massive Nose-Hoover) (Yifan Li, Princeton) PR #3660
  • Add support for setting and outputting vector style variables with a python-list-like format (Steve Plimpton) PR #3767
  • Add support for fix adapt to pair style kim (global scale factor only) (Ilia Nikiforov, U of Minnesota) PR #3777
  • Add support for bond and angle style contributions to compute stress/mop and compute stress/mop/profile (Evangelos Voyiatzis, NovaMechanics Ltd) PR #3792
  • Add support for bond style forces to compute stress/cartesian (Lars Veldscholte, University of Twente) PR #3797
  • Multiple bugfixes and enhancements for the INTEL package (Mike Brown, Intel) PR #3812
  • Enhancements for PyLammps (Richard Berger, LANL) PR #3811
  • Replace overzealous checks that lead to "Compute not current" errors with more forgiving checks. (Steve Plimpton) PR #3771
  • Update of phonon tool (phana) with upstream version, add CMake support and include libraries (Axel Kohlmeyer, Temple U) PR #3762
  • Update of the LAMMPS theme for the documentation to be compatible with Sphinx 6.x and 7.x (Richard Berger, LANL) PR #3747
  • Reorganization and updates of the "Modifying and extending LAMMPS" section of the programmer's guide (Joel Clemmer, SNL), PR #3755
  • Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3632, PR #3717, PR #3718, PR #3719, PR #3720, PR #3722, PR #3723, PR #3725, PR #3726, PR #3728, PR #3729, PR #3731, PR #3733, PR #3734, PR #3735, PR #3737, PR #3738, PR #3739, PR #3744, PR #3745, PR #3746, PR #3753, PR #3754, PR #3756, PR #3763, PR #3766, PR #3768, PR #3770, PR #3776, PR #3779, PR #3780, PR #3781, PR #3790, PR #3793, PR #3795, PR #3800, PR #3802, PR #3803, PR #3804, PR #3807, PR #3809, PR #3815, PR #3816, PR #3817

Backward compatibility notes:

  • The LATTE package and fix latte command are no longer available

Update 4 for Stable release 23 June 2022

25 Apr 04:05
stable_23Jun2022_update4
59e8b93
Compare
Choose a tag to compare

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

30 Mar 17:22
patch_28Mar2023_update1
07982d9
Compare
Choose a tag to compare

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

29 Mar 01:06
patch_28Mar2023
ff96eb2
Compare
Choose a tag to compare
Pre-release

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 and wall/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 and compute 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 and fix 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

17 Feb 23:29
stable_23Jun2022_update3
83ba1c9
Compare
Choose a tag to compare

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 the special_bonds settings

Feature release 8 February 2023

09 Feb 05:26
patch_8Feb2023
b635465
Compare
Choose a tag to compare
Pre-release

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 the mesocnt 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 and dihedral_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

22 Dec 15:14
patch_22Dec2022
8b8c0ee
Compare
Choose a tag to compare
Pre-release

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 for reset_atom_ids and reset_mol_ids and the new sub-command reset_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 and reset_mol_ids have been renamed to reset_atoms id and reset_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.