Recent Releases of lammps
lammps - Update 1 for Stable release 22 July 2025
This is the first update to the 22 July 2025 stable release that fixes bugs that have been reported since its release and backported from the development version.
The following individual changes are included:
- Lift restriction from fix neighbor/swap that limited the r0 parameter to integers
- Bug fixes for fix bond/react
- Bug fixes for BPM/RHEO/GRANULAR from PR #4685
- Fix bug in compute rdf which was ignoring user provided cutoff
- Fix bug when deleting computes that have created other computes
- Update external URLs and remove expired ones in the LAMMPS manual. Correct internal references.
- stop with an error in fix shake, if the topology data is inconsistent due to deleting only part of a molecule with shake constraints
- correct fix python/move example to be consistent with the current python module
- Allow access to select static properties in lammps_extract_global() without a LAMMPS instance
- change behavior of lammps.available_ids() for groups to always return the list of possible groups, since the list may have holes. This way the index in the list corresponds to the group index and can be used for tests against the per-atom "mask". This prevents segfaults and unexpected behavior
- refactor how fix shake operates during minimization. We cannot rely on the "closest" lists, as they seem to get out-of-sync. Instead determine bonds and apply forces directly. Let bond force return computed distance and thus collect restraint statistic directly
- bugfixes for the Colvars library from the Colvars developers (PR# 4705)
- bugfixes for LAMMPS-GUI for bugs found during the LAMMPS workshop tutorial
- backport changes from LAMMPS-GUI 1.8.x to the 1.7.1 version included here
- update downloaded Plumed version to 2.9.4, support version 2.10.x if compiled externally.
Full Changelog: https://github.com/lammps/lammps/compare/stable22Jul2025...stable22Jul2025_update1
- C++
Published by akohlmey 10 months ago
lammps - 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 (Aidan Thompson, SNL) PR #4435
- 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 runstyle and minimizestyle; 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 CMAKETUNEFLAGS will have no effect anymore. Use CMAKECXXFLAGS or CMAKECFLAGS instead.
- using the gjf flag with fix langevin is discouraged. The new fix gjf should be used instead.
- C++
Published by akohlmey 11 months ago
lammps - Stable release candidate 22 July 2025
This is the release candidate for the 2025 stable release of LAMMPS. It contains mostly bugfixes and cleanups plus a few features that didn't make it for the 12 June 2025 release.
Changes since the 12 June 2025 release:
- Update bundled Kokkos library to version 4.6.2 (Stan Moore, SNL and the Kokkos developers) PR #4580 and PR #4659
- Add KOKKOS version of fix electron/stopping (Ville-Markus Yli-Suutala, University of Helsinki) PR #4591
- Add fix neighbor/swap for hybrid MD/kMC-like simulations (Jacob Tavenner, NASA Ames Research Center) PR #4424 and PR #4615
- Add APIP package for "Adaptive Precision Interatomic Potentials" (D. Immel, R. Drautz, G. Sutmann, Jülich Supercomputing Centre and Ruhr-Uni Bochum), PR #4543
- Add fix hmc for hybrid/Hamiltonian Monte Carlo (Jack S. Draney and collaborators at Princeton U) PR #4019
- Add molecule off/inter/intra option to fix bond/create to enable selecting only inter- or inter-molecular reactions (William A. Pisani, US Army ERDC Environmental Laboratory) PR #4636
- Performance optimizations and bugfixes for KOKKOS (Trung Nguyen UChicago, Evan Weinberg Nvidia, Stan Moore SNL) PR #4573, PR #4601, #4638
- Bug fixes and performance improvements for LAMMPS-GUI which is now at version 1.7.0 (Axel Kohlmeyer, Temple U) PR #4646 and PR #4651
- Expanded unit tests (Axel Kohlmeyer, Temple U) PR #4645
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors): PR #4627, PR #4628, PR #4630, PR #4633, PR #4634, PR #4637, PR #4642, PR #4649, PR #4650, PR #4653, PR #4654, PR #4655, PR #4656, PR #4657, PR #4658, PR #4660, PR #4661
- C++
Published by akohlmey 11 months ago
lammps - Update 4 for Stable release 29 August 2024
This is the fourth update to the 29 August 2024 stable release that fixes more bugs that have been reported since then and updates some libraries, dependencies, tools, and build system support.
The following individual changes are included:
- fix issue in fix bond/react to require per-atom masses in molecule file when the system uses per-atom masses
- error out in compute msd if the number of atoms in the compute group changes by other means than a dynamic group
- avoid crash in utils::split_words() when processing partially quoted text
- fix bug in fix halt that would reset the timer timeout, even if it didn't trigger it
- fix bug in Fortran module where reallocation of global fix callback list did not happen as expected
- make pair styles (like EAM, MEAM, BOP, etc.) that call atom->set_mass() compatible with per-atom masses
- fix issue of yaml-cpp library included in ML-PACE failing to compile with GCC 15+
- bugfixes and LAMMPS-GUI optimizations and refactoring imported from upstream. It is now at version 1.7.0
- fix out-of-bounds access in initializing the cvatom array in pair.cpp, angle.cpp, dihedral.cpp, and improper.cpp
- updates of molecule command backported from upstream:
- honor atom-id when parsing sections consistently
- make parsing of header keywords more specific and thus don't misread incorrect ones
- error out when the required "atoms" header keyword is missing
- Masses section is required for body particles
- update the count of bodies when using create_atoms, fix deposit, or fix pour with a molecule template for body particles
- make python unit tests compatible with mpi4py version 4
- various fixes to classes where virtual and override were missing or used incorrectly as flagged by static code analysis
- various incorrect types or use of utils::numeric() instead of utils::inumeric() as flagged by static code analysis
- recognize a couple more Windows build numbers
- add caching for tpcpu and spcpu thermo keywords, so they can be used multiple times
- C++
Published by akohlmey 11 months ago
lammps - Feature release 12 June 2025
Changes since the 2 April 2025 release: - Add fix gjf which was unbundled from fix langevin and significantly improved (Tim Linke and Niels Grønbech-Jensen, UC Davis) PR #4574 - Add support for dihedrals to fix adapt (Evangelos Voyiatzis, NovaMechanics Ltd.) PR #4540 - Add pair style lj/pirani which is a generalized version of the LJ potential (Mateo Rodríguez, CSIC, Spain) PR #4562 - Add fix style ave/moments which can compute distribution moments in addition to averages (Sebastian Hütter, OvGU with help from Steve Plimpton and Germain Clavier) PR #4527 - Add fix set command (Steve Plimpton) PR #4567 - Add support for writing more flexible equal-style and atom-style variables with Python functions (Steve Plimpton) PR #4581 - MDR contact model updates for granular pair style PR #4522 - Multiple improvements for LAMMPS-GUI (Axel Kohlmeyer, Temple U) PR #4546 - Remove CMAKETUNEFLAGS setting from CMake and documentation (Axel Kohlmeyer, Temple U) PR #4536 - Include header-only JSON C++ library from https://github.com/nlohmann/json (Jake Gissinger, Stevens IoT and Axel Kohlmeyer, Temple U) PR #4542 - Add support for reading JSON format molecule files (Axel Kohlmeyer, Temple U and Aya Salama and Jacob Gissinger Stevens IoT) PR #4600 (which includes code taken from PR #4547) - Add support for writing plugins for runstyle and minimizestyle; fix multiple known bugs and refactor the whole framework to be a global and not per-LAMMPS instance property (Axel Kohlmeyer, Temple U) PR #4621 - Add atomic energy option for energy change calculation in fix sgcmc (Aidan Thompson, SNL) PR #4559 - Updated bundled colvars library to version 2025-04-30 (Giacomo Fiorin, NIH and Colvars developers) PR #4546 - Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors): PR #4530, PR #4532, PR #4535, PR #4538, PR #4545, PR #4548, PR #4550, PR #4557, PR #4570, PR #4571, PR #4573, PR #4579, PR #4582, PR #4584, PR #4587, PR #4597, PR #4599, PR #4610, PR #4614, PR #4616, PR #4619, PR #4624
Backward compatibility notes: - setting CMAKETUNEFLAGS will have no effect anymore. Use CMAKECXXFLAGS or CMAKECFLAGS instead. - using the gjf flag with fix langevin is discouraged. The new fix gjf should be used instead.
- C++
Published by akohlmey about 1 year ago
lammps - Update 3 for Stable release 29 August 2024
This is the third update to the 29 August 2024 stable release that fixes more bugs that have been reported since then and updates some libraries, dependencies, tools, and build system support.
The following individual changes are included:
- Update LAMMPS-GUI to version 1.6.14
- fix issues scheduling computes on first step of dumps or when scheduled by time or variables
- make finding libcurl work with older Linux versions and support fully static builds on Linux using MUSL cross-compiler
- fix OpenMP bug in pppm/dielectric and pppm/disp/dielectric
- don't mix malloc()/free() and new/delete in pair styles mliap and mliap/kk
- plug several memory leaks when using pair style mliap/kk
- fix issues with pair style mliap unified and mliap/kk unified
- plug memory leaks when calling evinit() directly or indirectly from KOKKOS styles
- fix multiple issues in pair styles dpd/coul/slater/long and dpd/coul/slater/long/gpu
- fix indexing bug for optional arguments of compute reduce and compute reduce/region
- error out or ignore displacement in z-direction for 2d systems
- fix issue in reference data for KIM package extended tests
- bugfix for intensive/extensive settings for fix electron/stoppin/fit
- bugfix for velocity remap with fix deform
- bugfix for EAM pair styles in the GPU package when compiling with OpenCL
- bugfix for segfaults when loading a kspace style from a plugin
- work around consteval issue in bundled {fmt} library with compilers requesting C++20 or later
- accept denormal floating-point numbers when converting with `ValueTokenizer::nextdouble()orutils::numeric()`
- C++
Published by akohlmey about 1 year ago
lammps - Feature release 2 April 2025
This release has a significant update to error reporting and error messages. Many error messages have now a “pointer” that indicates the offending word causing the error. Also, there is a new page in the documentation: 11.2. Errors and warnings details — LAMMPS documentation with some general advice and specific explanations of certain errors that people often ask about. The corresponding error messages have been augmented to include a URL that will point to the matching paragraphs.
We need your help! Since this is new and a massive amount of changes, there are likely typos or mistakes. For example the “pointer” points to the wrong word or causes a segmentation fault while printing the error or the URL points to the wrong paragraph. If you see anything with error messages that is not proper, please report them on MatSci.org or as an issue here on GitHub.
Changes since the 4 February 2025 release:
- Significant improvements to error reporting: add URL pointing to further explanations in documentation to error messages and add and apply facility to point to failing word in input line (Megan McCarthy, SNL and many core LAMMPS developers) PR #4456, PR #4501
- new fix styles for bosonic path integral molecular dynamics (Ofir Blumer, Jacob Higer, Yotam Feldman, and Barak Hirshberg, Tel Aviv University), PR #4479
- new elastic-plastic bond style for BPM package (Joel Clemmer, SNL) PR #4462
- new region2vmd command for visualizing LAMMPS regions with VMD (Axel Kohlmeyer, Temple U) PR #4468
- new compute vacf/chunk command (Axel Kohlmeyer, Temple U) PR #4473
- new extxyz dump style for writing extended xyz xyz file (François-Xavier Coudert, CNRS) PR #4519
- new fix qeq/rel/reaxff (Navraj S Lalli, Imperial College London) PR #4507
- alternate velocity verlet timestepping option to avoid unphysical sticking in DEM simulations (Dhairya R. Vyas, Northwestern U) PR #4351
- Improved molmap option for fix bond/react (Jake Gissinger, Stevens Institute of Technology) PR #4335
- 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 (Axel Kohlmeyer, Temple U) PR #4514
- update embedded Kokkos library to version 4.6.0 (Stan Moore, SNL and the Kokkos developers) PR #4521
- new KOKKOS version of dihedral style multi/harmonic (Richard Berger, LANL) PR #4482
- add support to move dipole moments along in rotate and transrot modes of fix move (Gabriel Alkuino, Syracuse U) PR #4490
- add type first option to fix ave/correlate to reduce output and speed up calculation for suitable use cases (Stephen Sanderson, U of Queensland) PR #4493
- add support for using fix adapt with improper styles (Evangelos Voyiatzis, NovaMechanics Ltd.) PR #4467
- updates for Moltemplate Howto (Andrew Jewett) PR #4508
- remove support for Python 2.x (Axel Kohlmeyer, Temple U) PR #4470
- remove support for compiling LAMMPS with -DLAMMPS_SMALLSMALL (Axel Kohlmeyer, Temple U) PR #4500
- change "make fasthtml" to use pandoc instead of sphinx and speed up repeated builds at the expense of them being more approximate (Axel Kohlmeyer, Temple U) PR #4495
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors): PR #4463, PR #4466, PR #4473, PR #4475, PR #4477, PR #4481, PR #4483, PR #4485, PR #4492, PR #4494, PR #4496, PR #4498, PR #4502, PR #4506, PR #4513, PR #4514, PR #4515, PR #4516, PR #4518, PR #4523
Backward compatibility notes: - 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.
- C++
Published by akohlmey about 1 year ago
lammps - Update 2 for Stable release 29 August 2024
This is the second update to the 29 August 2024 stable release that fixes more bugs that have been reported since then and updates some libraries, dependencies, tools, and build system support.
The following individual changes are included: - bugfixes for neb and neb/spin - additional functions in linalg to support current versions of the QUIP library - avoid hangs on errors in compute stress/mop - avoid hangs in KIM package when errors are only present on one MPI rank - bugfix in Domain::remapall() to avoid lost atoms in shearing with fix deform - fix indexing bug in dump vtk that would lead to ignoring the first 5 custom properties - do not support contributions from bonded interactions with compute stress/mop in parallel - various KOKKOS bugfixes - fix a few minor issues in LAMMPS-GUI - avoid segfault in msm/dielectric - avoid uninitialized data access in dump styles with enabled sorting - enable deprecated API for H5MD package - bugfix for setting extvector for fixes in fix vector - fixes for the Colvars library from PR #4414 and PR #4416 - bugfix for dump netcdf when simulating systems with more than 2 billion atoms - avoid hangs in KIM package when errors are only present on one MPI rank - use byref() instead of pointer() in python interface - small updates for force-style unit tests to avoid cryptic crashes - fix bugs in compute stress/cartesian - fix bugs in fix reaxff/species - fix normalization issue in compute rdf when the first type of a type pair is larger than the second - fix issue when trimming neighbor lists where the trimmed list request does not have a custom cutoff - fix issue when requesting neighbor lists with custom cutoff where neighbor lists would be re-used even when their minimal cutoff is smaller than the custom cutoff - remove confusing warning from LAMMPS command processing - fix segfault when using molecule files with multiple molecule IDs - do not define _INTELCOMPILER to _INTELLLVMCOMPILER to avoid problems with codepaths that are different for both compilers. Instead check for either in tests. - backport bugfixes to the OPENMP version of pair styles hbond/dreiding/lj and hybond/dreiding/morse
- C++
Published by akohlmey over 1 year ago
lammps - Feature release 4 February 2025
Changes since the 19 November 2024 release:
- update of embedded Kokkos library to version 4.5.1 (Stan Moore, SNL and the Kokkos developers) PR #4413
- revert embedded fmtlib copy to version 10.2.1 and include changes that will simplify the transition from fmt::format to std::format
(Axel Kohlmeyer and the fmtlib developers) PR #4426 and PR #4440
- update embedded LAPACK compatible linear algebra functions to state of LAPACK 3.12.1 (Axel Kohlmeyer, Temple U and the LAPACK developers) PR #4430
- new pair style dispersion/d3 to add D3 dispersion correction to DFT based ML potentials (Sonia Salomoni, Sorbonne and Arthur France-Lanord, CNRS) PR #4410
- new angle style mwlc for (meltable wormlike chains) (James D. Farrell, Chinese Academy of Sciences) PR #4433
- new fix style efield/lepton for more complex electric field calculations with custom expressions (Gabriel Alkuino, Syracuse University) PR #4241
- discourage use of PyLammps and move its useful features to the regular LAMMPS python module (e.g. for use with Jupyter) (Richard Berger LANL) PR #4369
- updates to RHEO and BPM packages (Joel Clemmer, SNL) PR #4366
- updates to fix imd to support the IMDv3 protocol and with it connect with MDAnalysis for on-the-fly processing (Lawson Woods, ASU and coworkers) PR #4431
- code path unification and optimizations for SNAP/KOKKOS (Evan Weinberg, NVIDIA) PR #4391
- add MDR contact model to granular pair style (William Zunker and Sachith Dunatunga, MIT; Dan Bolintineanu and Joel Clemmer, SNL) PR #4409
- add capability to use atom style variables to pair style hybrid/scaled (Aidan Thompson, SNL) PR #4435
- add Kokkos versions of bispectrum (SNAP) and Gaussian descriptors on a grid (Drew Rohskopf and Aidan Thompson, SNL, Lenz Fiedler, Helmholtz-Zentrum Dresden) PR #4401
- Improved error messages and using indicators for failed arguments, add URLs to additional explanations (Axel Kohlmeyer, Temple U and Joel Clemmer, SNL) PR #4453
- add example script for removing center of mass velocities from per-chunk stress compute. (Tyler Collins, San Diego Stat) PR #4405
- Warn about future C++17 standard and CMake 3.20 requirements and about packages or features that will become CMake-only or be removed entirely after the next stable release in Summer 2025 (Axel Kohlmeyer, Temple U) PR #4344
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors): PR #4388, PR #4389, PR #4394, PR 4399, PR #4403, PR #4404, PR #4405, PR #4407, PR #4415, PR #4428, PR #4429, PR #4434, PR #4438, PR #4440, PR #4443, PR #4445, PR #4446, PR #4447, PR #4448, PR #4450, PR #4459, PR #4461
Backward compatibility notes:
- Those using older compilers that are not by default C++17 compatible will have to set
-DLAMMPS_CXX11in the machine makefile or when running CMake to bypass the check inlmptype.h - When translating the manual after updating via git, it is necessary to re-initialize everything with "make clean-all"
- 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.
- C++
Published by akohlmey over 1 year ago
lammps - Feature release 19 November 2024
Changes since the 29 August 2024 release:
- Add support for running FFTs with NVPL from Nvidia for Grace CPUs for plain FFTs and KOKKOS (Richard Berger, LANL) PR #4294
- Update support for using MKL FFTs for CPUs and add support for Intel GPUs when compiling LAMMPS with KOKKOS for SYCL (Chris Knight, ANL) PR #4313
- Implement kspace_modify collective yes for KOKKOS (Nick Hagerty, ORNL with help from Stan Moore, SNL) PR #4143
- Refactor support for ReaxFF and QEq in KOKKOS to integer avoid overflows for very large systems (Evan Weinberg, Nvidia and Stan Moore, SNL) PR #4207, PR #4318
- Bugfixes, updates and ports for GRANULAR and related styles in KOKKOS (Chris Knight, ANL and Suman Chakraborty, Purdue) PR #4346
- Ports of several fixes to KOKKOS (Mitch Murphy, alphataubio) PR #4296
- Update of the bundled Kokkos library to version 4.4.1 (Stan Moore, SNL and the Kokkos developers) PR #4322
- Update of the bundled libfmt library to version 11.0.2 (Axel Kohlmeyer and the libfmt developers) PR #4345
- Add lammpsextractatom_size() to the library interface and all modules depending on it. This allows to accurately size arrays in returned in NumPy format and in the Fortran module. (Axel Kohlmeyer, Temple U) PR #4304
- Add support to region plane for having the reference point read from variables (Evangelos Voyiatsis, NovaMechanics Ltd.) PR #4299
- New coulomb pair style and QEq fix implementing CTIP as an alternative to could/streits (Gabriel Plummer ,NASA Ames Research Center) PR #4181
- New fix qtpie/reaxff that implements the QTPIE charge equilibration algorithm for ReaxFF (Navraj S Lalli, Imperial College London and Efstratios M Kritikos, CalTech) PR #4312
- Add extract() support to many force styles (Evangelos Voyiatsis, NovaMechanics Ltd.) PR #4333, PR #4356
- Small updates to the BPM package (Joel Clemmer, SNL) PR # 4359
- New GitHub workflows testing for variable-length arrays, C++23 compatibility, and Linux unit tests with BIGBIG. Major speedup for Windows runner by enabling Ccache support. (Axel Kohlmeyer, Temple U) PR #4304
- Add GitHub workflows for "quick", "kokkos", and "full" regression tests using the scripts in the tools folder (Trung Nguyen, U Chicago and Axel Kohlmeyer, Temple U) PR #4308, PR #4352, and PR #4362
- Expanded KOKKOS support for force-style unit tests (Mitch Murphy, alphataubio) PR #4190
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors) PR #4299, PR #4314, PR #4319, PR #4321, PR #4324, PR #4326, PR #4330, PR #4331, PR #4339, PR #4343, PR #4348, PR #4352, PR #4353, PR #4354, PR #4357, PR #4358, PR #4370, PR #4371, PR #4374, PR #4375
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.
- C++
Published by akohlmey over 1 year ago
lammps - Update 1 for Stable release 29 August 2024
This is an update to the 29 August 2024 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: - fix syntax error when updating compiler flags for the CrayClang compiler - make atom style oxdna compatible with comm_modify vel yes - add missing extvector setting to fix saed/vtk - correct handling of error checks with wild card arguments in several fix commands - better handling of systems with a large number of atoms in KOKKOS - deallocate views of views in serial in KOKKOS - avoid MPI stalling due to collective operations when handling errors in several MC fixes - fix bugs with allocating and initializing restricted neighbor list in ML-IAP - fix cut-n-paste bug in fix adapt for angles - fix memory allocation issue in pair style quip - avoid uninitialized data access in pair style reaxff when using tabulation - avoid uninitialized data access for per-type masses - correct logic for custom per-atom arrays and return correct constant when looking for data type - must set up a label map for atom types to read xyz files with strings as atom types - fix a few bugs in fix pour - fix a bug in fix wall/gran causing segfaults - fix a bug in MS-MEAM for L12 lattices
Backward compatibility notes: - The change to the MS-MEAM in the meam pair style 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.
- C++
Published by akohlmey over 1 year ago
lammps - Stable release 29 August 2024
Below is a list of major changes since the last stable release 2 August 2023
This stable release adds about 3800 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. Since the last stable release the LAMMPS core team has grown, so there are now more eyes and hands taking care of LAMMPS.
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.
- Significant enhancements to LAMMPS-GUI and support for packaging of LAMMPS-GUI and LAMMPS on a variety of platforms.
- Expanded CTest based internal testing.
- CMake build requires at least CMake version 3.16.
- The -DLAMMPS_EXCEPTIONS setting is now always active.
- Compiling the KOKKOS package requires a C++17 compatible compiler.
Updates and new commands or styles or packages (for more details see the individual release announcements):
- New RHEO package reproducing hydrodynamics and elastic objects (i.e. an improved version of SPH that can work in combination with BPM)
- New ML-UF3 package with pair style uf3 implementing the ultra-fast forcefield (uf3) machine learned interatomic potential. A KOKKOS version is included as well.
- New fix wall/flow command which provides flow boundary conditions
- New fix deform/pressure command for expanded deformation controls
- New angle and dihedral styles cosine/squared/restricted for use with the MARTINI force field
- New pair style pedone for the non-Coulomb part of the Pedone (PMMCS) potential
- New pair style hybrid/molecular which allows different pair styles (or pair_coeffs) for inter- and intra-molecular interactions
- New compute pace command for evaluating ACE descriptors which functions similar to compute snap
- New compute to identify under-coordinated particles (rattlers)
- New fix to measure the nonaffine displacement of particles
- New compute slcsa/atom for supervised learning structural analysis
- New per-atom compute to calculate local atom type compositions
- New fix press/langevin command for a langevin based barostat
- New pair style nb3b/screened which computes a screened angle interactions compared to nb3b/harmonic
- Ports of several pair, bond, angle, dihedral, improper, and fix styles to KOKKOS
- Bundled Kokkos library is updated for version 4.3.1
- Enhancements and bug fixes for the SPH package
- Updates to the COLVARS package
- Updates to the ML-POD package
- Updates for the ELECTRODE package
- Enhancements for running LAMMPS with very large atomic or molecular systems across a very large number of processors
- Significantly expanded support for using typelabels
- Add functionality to build the PLUMED as a plugin so it can be provided in binary distributions, e.g. on Windows
- Add support for using the heFFTe library to do FFTs
- Updates for multiple INTERLAYER potential files and bugfixes for a couple of pair styles in the package
- Add Born matrix support to more potentials
- Inclusion of angle and dihedral contribution to compuite stress/mop and stress/mop/profile
- Enhancements to fix pimd/langevin
- Add option to do anti-aliasing for better image quality with dump image and dump movie
- Update bundled libfmt code to version 10.1.1
Removed features
- The lammps-shell is no longer included. Use LAMMPS-GUI in its place.
- The (outdated) i-PI distribution was removed from tools folder. It can be downloaded using pip instead.
- The "reax/c" alias to provide backward compatibility for "reaxff" commands and keywords has been (finally) removed. Now using "reaxff" is required.
- The obsolete MSCG package was removed
- The unmaintained and unreliable MPIIO package was removed
- C++
Published by akohlmey almost 2 years ago
lammps - Stable release candidate August 29 2024
This release primarily contains bug fixes for the 27 June 2023 feature release to make this a stable release. But there are a few new features as listed below. Changes since the 27 June 2024 release:
- New RHEO package reproducing hydrodynamics and elastic objects (i.e. an improved version of SPH that can work in combination with BPM) (Joel Clemmer, SNL, Thomas C. O’Connor and Eric Palermo, CMU) PR #4214
- Port angle, dihedral, and improper hybrid styles to KOKKOS (Meg McCarthy and Stan Moore, SNL) PR #4211
- Port angle style spica and pair style lj/spica/coul/long to KOKKOS (Mitch Murphy) PR #4183
- New regression test tool to eventually supersede the scripts in the lammps-testing repository (Trung Nguyen, U Chicaco) PR #4228
- Enhancements and bug fixes for the SPH package (Joel Clemmer, SNL) PR #4243
- Updates to the COLVARS package (Giacomo Fiorin and the Colvars Developers) PR #4261
- Add support to build the PLUMED package as a plugin (Axel Kohlmeyer, Temple U) PR #4209
- Remove LAMMPS shell tool which has been superseded by LAMMPS-GUI (Axel Kohlmeyer, Temple U) PR #4238
- Various enhancements and bugfixes to LAMMPS-GUI, new lammps_extract_pair() library interface function (Axel Kohlmeyer, Temple U) PR #4235
- More support for using typelabels in popular LAMMPS features (Jake Gissinger, Stevens Institute of Technology and Axel Kohlmeyer, Temple U) PR #4240, PR #4259, PR #4262
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors) PR #4212, PR #4215, PR #4218, PR #4224, PR #4227, PR #4230, PR #4232, PR #4236, PR #4237, PR #4239, PR #4242, PR #4247, PR #4248, PR #4250, PR #4252, PR #4255, PR #4256, PR #4263, PR #4270, PR #4273, PR #4275, PR #4276, PR #4278, PR #4279, PR #4283, PR #4285, PR #4287, PR #4289, PR #4290, PR #4291, PR #4292, PR #4293, PR #4295, PR #4298, PR #4301
Backward compatibility notes: - the LAMMPS shell is no longer available. Use LAMMPS-GUI instead - old fix colvars state files may not be readable by the current version of COLVARS due to changes internal to COLVARS
- C++
Published by akohlmey almost 2 years ago
lammps - Update 4 for Stable release 2 August 2023
This is the fourth and final 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: - fix a thread initialization issue in LAMMPS-GUI - add workaround for fix not computed at compatible time with writedump for timestep counts > 2 billion - fix off-by-one bug in f2c string conversion in Fortran interface module - fix bug in electron radius update for fix eff Nose-Hoover thermostat variants - fix memory leaks in gather*concat() functions of the library interface - avoid segfaults when changing timestep before run but after fix definition for Nose-Hoover fixes and fix shake/rattle - update XDR support in dump xtc with code version that is GPL compatible - Simplify detection and output of Windows versions - fix bug in GPU/CPU overlap in KOKKOS - Must always return nfaces == 0 when there are fewer than 3 vertices for rounded polyhedrons in 3d - fix atom map bug in fix pour and fix deposit - fix bugs in argument parsing for fix ave/correlate and fix ave/correlate/long - fix multiple bugs in fix ipi - fix bug in converting strings to 64-bit integers on Windows - fix logic bug in verbose output for NEB - fix bug when requesting occasional neighbor lists where the list would not always be rebuilt properly - Do not reference cuFFT when compiling the GPU package with CUDA - fix Kokkos shrinkwrap bug when having groups without atoms - fix logic bug in compute spin - fix hbondchk bug in ReaxFF/OpenMP - fix bug in the SPH package where velocities are only partially remapped by a deformation fix (see PR #4243 for details) - fix bug when reading incomplete label maps from restart files (see PR #4252 for details) - allow using compute spin for groups other than "all" - make vector style variables compatible with chunks - symmetrize cutoff for pair style ylz - make "mass" property in PyLammps class behave similar to "rmass" - force using sphinx 7.2 and older so we remain compatible with breathe - add vectorstyle variable check to fix ave/histo - do not output data from fix reaxff/bonds during setup() except for the very first time - avoid infinite loop with cg minimizer and small forces - support that cmdargs argument is not modified when creating LAMMPS object and thus can be reused - fix logic bug with newton bond off for compute stress/cartesian - may install runtime dll dependencies for LAMMPS library only when building with -DBUILDSHAREDLIBS=on - remove spurious dependency of GPU package on cuFFT (which is currently not used) - fix compilation issue with recent versions of libAtoms/QUIP - lock GitHub actions on macOS to macOS 13 as macOS 14 images are incompatible and fail. - set up and install python packages into a virtual environment for GitHub macOS runner to avoid issues with modifying system files - add compatibility with plumed 2.9.x - make LAMMPS python module compatible with mpi4py version 4.x.x - avoid issues with writedump re-using and existing dump ID when a previous command crashed - improve error handling when parsing the MEAM user parameter file: catch value tokenizer exceptions record line numbers and report filename and line number with the error - increase MAXELT in pair style meam to 8 (same as upstream)
- C++
Published by akohlmey almost 2 years ago
lammps - Feature release 27 June 2024
Changes since the 17 April 2024 release:
- Add generalized algorithm for
replicatecommand to correctly replicate molecules across periodic boundaries box (Jacob Gissinger, Stevens Institute of Technology) PR #3118 - Add
overlapkeyword tocreate_atomscommand which searches for overlaps on an atom-by-atom basis when inserting molecules (Jacob Gissinger, Stevens Institute of Technology) PR #3810 - Add coefficient of restitution based damping in granular models (Dhairya Vyas, Northwestern University) PR #4068
- Make
compute stress/mopandstress/mop/profilecompatible with 2D systems (Evangelos Voyiatzis, Novamechanics Ltd) #4159 - Update Kokkos library version in LAMMPS to v4.3.1 (Stan Moore, SNL, and Kokkos developers) PR #4162
- Add special variable functions
sort()andrsort()for sorting vectors by value (Axel Kohlmeyer, Temple U) PR #4171 - Add support for extracting a few more properties and the
Atom::map()function to the library interface (Axel Kohlmeyer, Temple U) PR #4174 - Add KOKKOS package support for hybrid bonds (Stan Moore, SNL) PR #4167
- Updates to ML-POD package and port of pair style pod to KOKKOS (Ngoc Cuong Nguyen, MIT) PR #4168
- New option for the CG-DNA package to read potential parameters from a potential file and support for "real" units in addition to "lj" (Kierran Falloon and Oliver Henrich, University of Strathclyde) PR #4169
- New pair style
dpd/coul/slater/longincluding GPU package version (Eddy Barraud, IFPEN/Sorbonne) PR #4188 - New ML-UF3 package with pair style
uf3implementing the ultra-fast forcefield (uf3) machine learned interatomic potential. A KOKKOS version is included as well. Ajinkya C Hire (University of Florida), Hendrik Kraß (University of Constance), Matthias Rupp (Luxembourg Institute of Science and Technology) PR #4110 Richard Hennig (University of Florida) - New pair style
hybrid/molecularwhich allows different pair styles (or pair_coeffs) for inter- and intra-molecular interactions (Axel Kohlmeyer, Temple U) PR #4191 - Add KOKKOS package version of
pair_style soft(Stan Moore, SNL) PR #4184 - Add support for type labels to a whole lot of commands and styles (Jake Gissinger, Stevens Institute of Technology) PR #4145
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors) PR #3824, PR #4050, PR #4142, PR #4144, PR #4146, PR #4148, PR #4150, PR #4152, PR #4157, PR #4161, PR #4164, PR #4166, PR #4172, PR #4176, PR #4179, PR #4185, PR #4189, PR #4192, PR #4193, PR #4195, PR #4197, PR #4200, PR #4201, PR #4202, PR #4203, PR #4204
Backward compatibility notes:
- When using
fix qeq/reaxffandfix qeq/shielded, more thorough checks are applied that QEq is not used on atoms in the fix group without parameters being provided. This will primarily apply to simulations using ReaxFF as sub-style of pair style hybrid. - The
i-PIdistribution was removed fromtoolsfolder. It can be downloaded usingpipinstead
- C++
Published by akohlmey about 2 years ago
lammps - Feature release 17 April 2024
Changes since the 7 February 2024 release:
- New rebomos pair style for MoS2 which was provided as external source for over a decade (multiple authors see PR) PR #4087
- New fix wall/flow command which provides flow boundary conditions (Vladislav Galigerov, Higher School of Economics and Daniil Pavlov, The Moscow Institute of Physics and Technology) PR #4069
- New fix deform/pressure command for expanded deformation controls specifically aimed at mesoscopic and discrete element models (Joel Clemmer, SNL and Kevin Hanley, U. Edinburgh and Jose Salomon, Imperial College) PR #4017
- New angle and dihedral styles cosine/squared/restricted for use with the MARTINI force field (Evangelos Voyiatzis) PR #4113
- New pair style pedone for the non-Coulomb part of the Pedone (PMMCS) potential (Axel Kohlmeyer, Temple U) PR #4129
- Small updates for the ELECTRODE package (new qtotal, eta keywords, check for mobile atoms) (Ludwig Ahrense-Iwers, Robert Meissner, TU Hamburg, Shern Tee, Griffith U.) PR #4095
- Small updates to fix pimd/langevin to improve the support for the pimd method (Yifan Li, Princeton) PR #4107
- Improve sorting performance for Kokkos with GPUs and address (Stan Moore, SNL), PR #4127
- Update bundled Kokkos library to version 4.3.00 (Stan Moore, SNL and the Kokkos developers) PR #4096, PR #4124
- Add option to package command that selects building the atom map on the CPU instead of the GPU device. This can lead to significant speedups for runs of large molecular systems (billions of molecules) with a very large number of MPI ranks (> 1000) during initialization (up to 100x at 4096 ranks) and during the run (up to 2x with 4096 ranks) (Stan Moore, SNL) PR #4079
- Add support for general triclinic simulation boxes and systems (Steve Plimpton) PR #3984
- Add support for ACE descriptors to the ML-IAP package (James Goff, SNL) PR #4078
- Add support for a conical shape to fix indent (Evangelos Voyiatzis, NovaMechanics Ltd) PR #3989
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors) PR #4074, PR #4080, PR #4082, PR #4084, PR #4085, PR #4086, PR #4088, PR #4089, PR #4090, PR #4091, PR #4094, PR #4097, PR #4098, PR #4099, PR #4108, PR #4101, PR #4102, PR #4103, PR #4105, PR #4111, PR #4116, PR #4120, PR #4121, PR #4122, PR #4123, PR #4125, PR #4126, PR #4130, PR #4134, PR #4135, PR #4139
Backward compatibility notes:
- The zlo, zhi value of a box for a 2d system may no longer be exactly zero. zlo must be less than zero, zhi must be greater.
- The dump style custom/cfg/yaml etc. keywords "temperature" and "heatflow" are no longer available directly, they must be accessed via compute property/atom now (like other atom style properties)
- C++
Published by akohlmey about 2 years ago
lammps - Update 3 for Stable release 2 August 2023
This is the third 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:
- correct factor of 2 force error in angle style cosine/periodic for multiplicity 1
- avoid 32-bit integer overflow when running simulations of large systems requiring -DLAMMPSBIGBIG with PPPM and SHAKE
- fix bug when using "unpackexchange()" with KOKKOS on device
- fix bug in fix style neb which was not always creating the rootworld communicator when needed
- fix bug in neb command where the print verbosity was not initialized
- fix bugs in fix style bond/react backported from PR #3905
- fix bugs in pairstyle meam/ms for non-zero t1m parameter settings and incorrect use of the ialloy parameter.
- fix scaling bug in compute xrd when using radians as input
- error out if fixes gcmc, sgcmc, widom, charge regulation and pair style dscmc are used without per-type masses
- flag that INTEL package is incompatible with run style verlet/split
- make fix cmap compatible with output from charmm-gui which does not create complete cmap parameter files
- gracefully handle reaxff parameter files without hydrogen bond parameters
- update references to (no longer available) fix ave/spatial with correct alternatives
- avoid initializing mliappy multiple times
- allow use of QEQ fixes with GPU package (must explicitly set newton on, though)
- use better detection and application of cuFFT library for KOKKOS with CMake builds
- correct compilation settings for compiling ML-QUIP package correctly with CMake
- export symbols from executable when building with a static LAMMPS library so they can be accessed by plugins
- C++
Published by akohlmey over 2 years ago
lammps - Update 1 for Feature release 7 February 2024
This update addresses some compilation issues using CMake with the 7 February 2024 version that only happen with custom compilations for some unusual combination of LAMMPS packages (hence the issue was not detected by our automated integration testing). The only pull request included is #4077. There are no functional changes, so the binary packages attached to the 7 February 2024 feature release do not need to be rebuilt for this update.
- C++
Published by akohlmey over 2 years ago
lammps - Feature release 7 February 2024
Changes since the 21 November 2023 release:
- New compute pace command for evaluating ACE descriptors which functions similar to compute snap (James Goff, Drew Rohskopf, Aidan Thompson SNL) PR #3869
- New "ternary()" function for variables (Steve Plimpton) PR #3987
- Add support for direct references to variable functions for custom properties introduced with fix properties/atom (Steve Plimpton) PR #3990
- New compute to identify under-coordinated particles (rattlers) and a new fix to measure the nonaffine displacement of particles (Joel Clemmer, SNL) PR #3858
- New compute reaxff/atom to get access to local bond information for ReaxFF (Richard Berger, LANL) PR #3938
- Add feature to compute sna/atom to use a fixed number of neighbors, and a new compute slcsa/atom for supervised learning structural analysis, (Paul Lafourcade, CEA) PR #3996
- add ZBL core-repulsion to ML-PACE, automatic conversion of supported potential file formats (Yury Lysogorskiy, RUB) PR #3985
- Several new pair styles for the GPU package including coul/long/slater/gpu (Trung Nguyen, U Chicago) PR #4009
- Add KOKKOS package versions of fix temp/rescale and fix temp/berendsen (Stan Moore, SNL) PR #4012
- Add KOKKOS package versions of pair style lj/charmmfsw/coul/long and dihedral style charmmfsw, (Mitch Murphy) PR #4030
- Add support for heFFTe library to do FFTs (Miroslav Stoyanov, ORNL) PR #3963
- Decouple defines for the FFT libraries for regular and KOKKOS 3d-FFT support, add displaying FFT information with info and lmp -h (Nick Hagerty, ORNL and Axel Kohlmeyer, Temple U) PR #4007
- Updates for multiple INTERLAYER potential files and bugfixes for a couple of pair styles (Wengen Ouyang, Wuhan University) PR #4025 and PR #4029
- Update of the bundled linear algebra library to the state of LAPACK 3.12.0 (Axel Kohlmeyer, Temple U) PR #3992
- Update of the bundled fmtlib sources to version 10.2.1 (Axel Kohlmeyer, Temple U) PR #4042
- Update the bundled Kokkos library to version 4.2.0 (Stan Moore, SNL, and the Kokkos developers) PR #3983
- ML-PACE pair style optimizations for KOKKOS with GPUs (Stan Moore, SNL) PR #4031
- Use C++ templating to reduce the number of NPair and NStencil classes and improve code re-use (Joel Clemmer, SNL) PR #3430
- Add Born matrix support to more potentials & inclusion of angle and dihedral contribution to compuite stress/mop and stress/mop/profile (Evangelos Voyiatzis, NovaMechanics Ltd.) PR #3833
- HowTo tutorial for using Moltemplate (Otello Roscioni, MaterialX Ltd), PR #4002
- Add support for a "Dipoles" section to molecule files (Axel Kohlmeyer, Temple U) PR #4046
- Add fix numdiff based tests to the force style testers in the unittest tree (Axel Kohlmeyer, Temple U) PR #4041
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors) PR #3905, PR #3962, PR #3988, PR #3993, PR #3997, PR #3998, PR #4000, PR #4001, PR #4003, PR #4004, PR #4005, PR #4006, PR #4011, PR #4015, PR #4018, PR #4021, PR #4022, PR #4023, PR #4034, PR #4036, PR #4037, PR #4039, PR #4040, PR #4047, PR #4048, PR #4051, PR #4054, PR #4058, PR #4062, PR #4063, PR #4067, PR #4070, PR #4072
Backward compatibility notes: - The "reax/c" alias to provide backward compatibility for "reaxff" commands and keywords has been (finally) removed. Now using "reaxff" is required. - The format of binary restart files has changed in an incompatible way for cases where bond style lepton or angle style lepton are used.
- C++
Published by akohlmey over 2 years ago
lammps - Update 2 for Stable release 2 August 2023
This is the second 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:
- enforce consistent OpenMP threads settings for /omp styles (avoids crashes and memory corruption)
- accept very old style ReaxFF force field that are missing the ovc property for bonds and set it to 0.0 (it is 0.0 most of the time anyway)
- avoid segfaults when querying LAMMPS for thermo data before the Thermo class has been instantiated
- identify Windows 11 23H2
- bugfix to ellipsoid region for correct forces with fix wall/region
- bugfix and updates to computes cluster/atom, aggregate/atom, and fragment/atom to add missing communication of ghost atoms and to avoid deadlocks
- fix cut-n-paste type in minimize style error message
- update CWD in LAMMPS GUI also when saving a buffer
- fix bug in LAMMPS GUI where the number of threads could not be increased
- fix delete/delete[] mismatch in LAMMPS GUI
- check LAMMPS library loaded as plugin to be compatible with LAMMPS GUI
- bugfix for neighbor list trimming on requests that request neighbors of ghosts
- properly quote keywords containing special characters in dump yaml output
- detect more cases of inconsistent KOKKOS style usage and error out gracefully
- add sanity check to python/install.py file and improve readability of error messages
- if tools/phonon/phana uses linalg, make sure it is built before linking
- nullify deleted pointers when creating styles in Force or Update since the creation may fail and trigger an exception and the we may run into a double free error crashing the application
- avoid "invalid escape" warning with python 3.12
- fix bug in fix pimd/langevin
- make certain that generated argv lists are NULL terminated to avoid segfaults with OpenMPI 5.x and later
- fix bug in pace/extrapolate
- fix bug in the rigid fixes that was causing a drift in the z-coordinate with 2d systems
- fix bugs in fix mvv/* compatibility checks
- restore using nvccwrapper with kokkoscuda.cmake preset
- fix memory leak in dump style image and remove redundant code
- the scale yes option is not supported with fix adapt/fep for atom charges and diameters, update list of supported pair styles, fix bug with global scale factor
- Avoid segfault in fix atom/swap for systems without per-type masses. Warn if both per-type and per-atom masses are set that per-type masses will be used
- correct DPI settings in mesh images for compute saed and compute xrd so the images display correctly in PDF files
- avoid copying over terminating null byte in balance and fix balance shift keyword
- may only check for region inside box in fix gcmc and fix widom if the region keyword was used
- avoid deprecated python initialization for python 3.12 and later
- avoid warnings from including multiple cython generated include files
- add valgrind suppresions for MPICH
- C++
Published by akohlmey over 2 years ago
lammps - Feature release 21 November 2023
Changes since the 2 August 2023 release:
- New per-atom compute to calculate local atom type compositions (Megan McCarthy, SNL) PR #3871
- New fix press/langevin command for a langevin based barostat (Germain Claview, TU Eindhoven) PR #3791
- New pair style nb3b/screened which computes a screened angle interactions compared to nb3b/harmonic (Federica Lodesani, University of Modena) PR #3960
- New snap/intel pair style implementing AVX512 vectorization for use with Intel compiler and x86 CPUs (Mike Brown, Intel) PR #3921 3921
- Add support for numerical integrators without normal mode transformation to fix pimd/langevin (mode pimd). (Yifan Li, Princeton University) PR #3970
- New KOKKOS versions of fix efield, fix spring/self, and pair style yukawa/colloid (Trung Nguyen, U Chicago) PR #3909
- Update the bundled Kokkos library to version 4.1.0 (Stan Moore, SNL, and the Kokkos developers) PR #3670
- Honor neighbor list "trim" options for skip lists (Stan Moore, SNL) PR #3974
- Check for CUDA/ROCm aware OpenMPI installation dynamically for use with Kokkos (Vladislav Galigerov, Higher School of Economics, Russia) PR #3828
- Update the bundled libfmt code to version 10.1.1 (Axel Kohlmeyer, TempleU, and the libfmt developers) PR #3832, PR #3884, and PR #3906
- add option to do anti-aliasing for better image quality with dump image and dump movie (Axel Kohlmeyer, Temple U), PR #3889
- Raise the CMake version requirement to 3.16 and removed workarounds for older versions (Axel Kohlmeyer, Temple U) PR #3836
- The -DLAMMPS_EXCEPTIONS setting is now always active (Axel Kohlmeyer, Temple U) PR #3736
- Remove obsolete MSCG package (Axel Kohlmeyer, Temple U) PR #3856
- Remove unmaintained MPIIO package which causes crashes (Axel Kohlmeyer, Temple U) PR #3894
- Refactoring of handing of references to computes and fixes to consistently index global and per-atom properties. (Steve Plimpton) PR #3896
- Multiple bug fixes, improvements, and added features for the LAMMPS GUI updating it to version 1.5 (Axel Kohlmeyer, Temple U) PR #3883, PR #3890, PR #3893, PR #3904, PR #3910, PR #3912, PR #3923
- Many small bug fixes, minor code improvements and refactoring, and updates for coding style, build system, documentation, and formatting (multiple authors) PR #3724, PR #3846, PR #3867, PR #3881, PR #3885, PR #3887, PR #3888, PR #3892, PR #3898, PR #3900, PR #3903, PR #3905, PR #3908, PR #3911, PR #3914, PR #3915, PR #3922, PR #3924, PR #3930, PR #3931, PR #3937, PR #3941, PR #3943, PR #3944, PR #3947, PR #3948, PR #3949, PR #3950, PR #3953, PR #3954, PR #3957, PR #3958, PR #3964, PR #3966, PR #3968, PR #3971, PR #3973, PR #3975, PR #3976, PR #3979, PR #3981
Backward compatibility notes: - The MSCG package and thus fix mscg has been removed - The MPIIO package has been removed. The corresponding dump styles are no longer available and .mpiio restarts cannot be read anymore - CMake version 3.16 or later is now required to build LAMMPS with CMake - A C++17 capable compiler is now required to compile the KOKKOS package - using a triclinic simulation cell now requires atom IDs due to changes in the neighbor list build algorithms - the refactoring of variable access to compute and fix data has the following consequences: - the compute voronoi/atom peratom option was dropped; it now always produces peratom data. The local option is now used to also generate local data - an inputs option was added to compute reduce to operation on peratom (default) or local data. You must use it to operate on local data - the rules for equal, vector, atom-style variables changed a bit for how they access output from computes and fixes. An equal-style variable can access any kind of data, using CID, instead of cID (similar for fixes) to access per-atom data instead of global data. - vector and atom-style varaiables can only access global vector and per-atom data directly. They can use an equal-style variable to access other kinds of data indirectly.
- C++
Published by akohlmey over 2 years ago
lammps - Update 1 for Stable release 2 August 2023
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
- C++
Published by akohlmey almost 3 years ago
lammps - Stable release 2 August 2023
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_atomsthat serves as a front end forreset_atom_ids,reset_mol_idsand the newreset_atoms imagefor reducing the value of image flags - New
angle_writeanddihedral_writecommands 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/atomcommand to approximate local electrical field for individual atoms - New
fix scgmccommand 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 paircommand to access per-atom data computed by pair styles - New pair styles
xlzandborn/gauss - New
fix pimd/langevinfor path-integral simulations using a Langevin thermostat - New
fix alchemyandcompute pressure/alchemycommands for multi-partition alchemical transformations - New bond style
harmonic/restrainto restrain bonds to their current length - New pair styles
lj/cut/sphere,lj/expand/sphere, andlepton/spherewhich 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/2dmfor 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 shakeandfix rattleduring 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 pimdwas renamed tofix pimd/nvt- pair style
mesont/tpm, compute stylemesont, and atom stylemesontwere removed - make install in a CMake based installation will no longer install the LAMMPS python module. make install-python can be used for that.
- C++
Published by akohlmey almost 3 years ago
lammps - Stable release candidate 2 August 2023
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: - Remove obsolete Fortran interfaces (Axel Kohlmeyer, Temple U) PR #3825 - LAMMPS GUI, a simple graphical text editor with LAMMPS built in (Axel Kohlmeyer, Temple U) PR #3870 - Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3814, PR #3819, PR #3821, PR #3822, PR #3823, PR #3826, PR #3827, PR #3829, PR #3830, PR #3834, PR #3839, PR #3842, PR #3843, PR #3844, PR #3845, PR #3848, PR #3849, PR #3850, PR #3851, PR #3855, PR #3859, PR #3860, PR #3861, PR #3864, PR #3865, PR #3874
- C++
Published by akohlmey almost 3 years ago
lammps - Feature release June 15 2023
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
- C++
Published by akohlmey about 3 years ago
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
- C++
Published by akohlmey about 3 years ago
lammps - 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.
- C++
Published by akohlmey over 3 years ago
lammps - 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 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.
- C++
Published by akohlmey over 3 years ago
lammps - 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 the special_bonds settings
- C++
Published by akohlmey over 3 years ago
lammps - 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 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
- C++
Published by akohlmey over 3 years ago
lammps - 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 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.
- C++
Published by akohlmey over 3 years ago
lammps - 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 deleteatoms or createbonds multiple times
- fix buffer allocation issue for atom style dumps
- avoid segmentation faults when using the clear command with atomfile variables and pair/only package flags
- update broken URLs in the manual
- add support to detect Windows 10 22H2 in OS version info
- C++
Published by akohlmey over 3 years ago
lammps - 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 to delay 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.
- C++
Published by akohlmey over 3 years ago
lammps - 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, also dump_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 of mesocnt 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 and fix 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 with fix 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) for fix latte is no longer required. Its function is moved to the coulomb keyword
- C++
Published by akohlmey almost 4 years ago
lammps - 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 unpackexchange 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 or comm/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 `dumpmodify 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
- C++
Published by akohlmey almost 4 years ago
lammps - Patch release 3 August 2022
Changes since the 23 June 2022 patch release:
- New AMOEBA package with an implementation of the AMOEBA and HIPPO polarizable force fields from the Tinker MD code (Josh Rackers and Steve Plimpton, SNL and Trung Nguyen U Chicago) PR #2898
- New compute styles sna/grid and sna/grid/local for the ML-SNAP package (Aidan Thompson, SNL and Lenz Fiedler, HZDR) PR #3305
- New pair style srp/react in the MISC package (Vaibhav Palkar, Clemson) PR #3337
- Enhancements to the MDI Package with expanded functionality (Steve Plimpton, SNL and Taylor Barnes, MolSSI) PR #3307, PR #3336
- Rename CG-SDK package to CG-SPICA and rename all related commands, new functional form LJ12-5 (in addition to LJ12-6 and LJ12-4, and LJ9-6) (Yusuke Miyazaki, Okayama U) PR #3343
- Add KOKKOS package version of the MEAM package (Naga Vydyanathan, NVIDIA and Stan Moore, SNL) PR #3328
- Update bundled Kokkos library to version 3.6.1 (Stan Moore, SNL and the Kokkos developers) PR #3329
- New "threebody on/off" keyword for pair style sw that allows turning off the three-body term calculation and enabling performance optimizations for that case (Jackson Elowitt, U Utah) PR #3316
- Optimizations for reading large blocks of input (Steve Plimpton, SNL) PR #3323
- Corrections and enhancements to how groups are processed in compute contact/atom (Joel Clemmer, SNL) PR #3339
- Add "pairmodify neigh/trim yes/no" option to allow to build optimized, trimmed neighbor lists for hybrid/overlay (Stan Moore, SNL) PR #3341
- Add "timestep yes/no" option to the `readdumpcommand to simplify simulation loops where atoms are added from a dump file (Axel Kohlmeyer, Temple U) PR #3344
- Improved detection of Python interpreter and libraries in CMake to be more consistent across platforms, CMake versions and better honor the documented ways to override the automatic choice (Axel Kohlmeyer, Temple U) PR #3355
- Update of bundled linalg library to LAPACK version 3.10.1 plus adding ZHEEVD and dependencies and a new CMake setting-DUSEINTERNALLINALG` to allow preferring the bundled library over external ones (Axel Kohlmeyer, Temple U) PR #3360
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3317, PR #3319, PR #3322, PR #3327, PR #3298, PR #3330, PR #3331, PR #3340 , PR #3342, PR #3346, PR #3349, PR #3350, PR #3358, PR #3359, PR #3361, PR #3364, PR #3365, PR #3370, PR #3372, PR #3374, PR #3377
Backward compatibility notes:
- the command fix mdi/aimd has been renamed to fix mdi/qm
- the new pair_modify neigh/trim option defaults to yes. Use it with no in case simulations with hybrid/overlay fail and report the details in a new issue here
- the CG-SDK package has been renamed CG-SPICA, all style have been renamed accordingly, but backward compatibility to the old names is included
- C++
Published by akohlmey almost 4 years ago
lammps - Stable release 23 June 2022
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 patch23Jun2022 and the stable23Jun2022 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
platformnamespace 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 LAMMPSPLUGINPATH 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 dynamicalmatrix and thirdorder 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 dumpmodify and thermomodify 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 randomthat 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 porosityhas been renamed todelete_atoms randomand 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)
- C++
Published by akohlmey about 4 years ago
lammps - Patch release 23 June 2022
This patch contains the final changes to update the 2 June 2022 release to the 23 June 2022 stable release.
There are no substantial new features in this patch, only a variety of small updates and bug fixes for reported issues and based on extended testing. Notable changes are: - Refactoring of the plugin examples and a new example building the ML-PACE package as plugin including creating a windows installer. (Axel Kohlmeyer, Temple U) PR #3290 - Bugfix for atom style dielectric - Bugfix for dump style xtc on Windows (Issue #3292) - Bugfix for dump style yaml when running in parallel PR #3309 - Change "remap semantics" for the readrestart command to always use the remap option by default and offer an "noremap" option to be able to change to the old behavior. (Issue #3078) - Bugfix for accessing local computes in Python via NumPy, support LMPSIZEVECTOR as alias for LMPSIZEROWS with local computes PR #3309 - Updates and bugfixes for the "Fortran2" and "Fortrandftb" Fortran interfaces, PR #3312 - Improvements to compute ave/sphere/atom (Stan Moore, SNL) PR #3293 - Fix integer overflow bug in Kokkos version of ReaxFF (Stan Moore, SNL) PR #3295 - Updates to singularity/apptainer container definition files PR #3290 - GitHub actions updates PR #3299, PR #3301, PR #3303, PR #3304 - Recover building binary python wheel file after upgrade to use venv instead of virtualenv. When running with an active virtual environment, the wheel will be installed into the virtual environment as to be expected instead of the system or user site-packages folder PR #3306 - Various small improvements and small corrections to build system, compiler settings, and documentation. PR #3296, PR #3300
- C++
Published by akohlmey about 4 years ago
lammps - Patch release 2 June 2022
This is the first release candidate for the next stable release of LAMMPS. Please test thoroughly and report bugs immediately.
Changes since the 4 May 2022 patch release:
- Update of the bundled Kokkos library to version 3.6.0 (Stan Moore, SNL and the Kokkos developers) PR #3251
- Update of the bundled Colvars library to version 2022-05-24 (Giacomo Fiorin, NIH and the Colvars deverlopers) PR #3260, PR #3286
- Add KOKKOS package version of the pace pair style from the ML-PACE package (Stan Moore, SNL) PR #3264, PR #3278
- New pair styles "sw/angle/table" and "threebody/table" for the MANYBODY package (Christoph Scherer, Max Planck Institute for Polymer Research Mainz) PR #3279
- Add support for GPU accelerated FFTs with HIP and KOKKOS (Emily Kahl, The University of Queensland) PR #3237
- Add support for SO3 descriptors to the ML-IAP package (Aloïs Castellano, University of Liège) PR #3263
- New "overlap" option for create_atoms random that will avoid close contacts (Eugen Rožić, Institute Ruđer Bošković, and Steve Plimpton, SNL) PR #3119
- New "mesh" option for create_atoms to approximate meshes from STL files with atoms (Axel Kohlmeyer, Temple U and Joel Clemmer, SNL) PR #3258
- Add timer style variables for measuring wall time in seconds from the input script (Steve Plimpton, SNL) PR #3255
- Optimizations for compute orientorder/atom (Tomas Oppelstrup, LLNL and Stan Moore, SNL) PR #2988
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3250, PR #3259, PR #3262, PR #3267, PR #3268, PR #3269, PR #3271, PR #3272, PR #3275, PR #3276, PR #3277, PR #3280, PR #3281, PR #3284, PR #3285, PR #3288, PR #3289
Backward compatibility notices:
- The delete_atoms porosity option has been renamed to random and generalized to support multiple sub-styles that have adjustable behavior with respect to exactness and performance of the deletion.
- C++
Published by akohlmey about 4 years ago
lammps - Patch release 4 May 2022
Changes since the 24 March 2022 patch release:
- new BPM package for bonded particle models (Joel Clemmer, SNL) PR #2906
- new ELECTRODE package (Ludwig Ahrens-Iwers and Robert Meißner, Hamburg University of Technology and Shern Tee, University of Queensland) PR #3194
- updates and additions to the DIELECTRIC package (Trung Nguyen, U Chicago) PR #3212
- new compute fep/ta for the FEP package implementing test-area perturbation (Shifeng Ke, Zhejiang University) PR #3192
- new pair styles ilp/graphene/hbn/opt, ilp/tmd/opt, and saip/metal/opt for the OPT package with 2x speedup (Ping Gao and Xiaohui Duan, National Supercomputing Center in Wuxi) PR #3228, PR #3242
- new pair styles smatb and smatb/single for the SMTBQ package (Daniele Rapetti - Politecnico di Torino) PR #3031
- new dump_style yaml command in the EXTRA-DUMP package (Axel Kohlmeyer, Temple U) PR #3205
- add Kspace support to the PLUGIN package (Jinzhe Zeng, Rutgers University) PR #3188
- enhancements and additions for the MDI package. This obsoletes the MESSAGE package. (Steve Plimpton, SNL and Taylor Barnes, MolSSI) PR #2921, PR #3207, PR #3218
- additions to the BROWNIAN package to support different rotational and translational temperatures and option to constrain rotation in a plane in 3d (Sam Cameron, University of Bristol) PR #3193
- additions to PyTorch support in ML-IAP packge (Charlie Sievers) PR #3182
- new compute born/matrix command to compute elastic stress (Germain Clavier - TU Eindhoven) PR #3093
- add KOKKOS package versions of the pair styles from the DPD-BASIC package (Matt Bettencourt, Nvidia) PR #3198
- add KOKKOS package version of pair style adp (Vladislav Galigerov and Vsevolod Nikolskiy, Higher School of Economics, Russia) PR #3247
- KOKKOS optimizations and bugfixes: GPU optimizations for neighbor lists and ReaxFF (Stan Moore, SNL and Evan Weinberg, NVIDIA) PR #3187, PR #3195, PR #3203
- new colname option for dump_modify and thermo_modify to replace the column header strings for thermo output or in dump files (Axel Kohlmeyer, Temple U) PR #3197
- add support for writing yaml format files to fix ave/time and also support fix_modify colname similar to thermo and dump (Axel Kohlmeyer, Temple U) PR #3240
- 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 (Steve Plimpton, SNL) PR #3229, PR #3236
- add region style ellipsoid (Evangelos Voyiatzis, NovaMechanics Ltd) PR #2871
- add "aveabs" and "sumabs" options to compute reduce (Tim Bernhard, ETH Zürich) PR #3246
- add "variable" option to delete_atoms command (Axel Kohlmeyer, Temple U) PR #3243
- bugfix for DOF handling in compute temp/profile (Stephen Sanderson, University of Queensland) PR #2667
- more consistent behavior of dynamic groups through moving the invocation of the internal fix to a later time in the timestep (Steve Plimpton, SNL with an assist from Davie Quigley, U Warwick) #3224
- make time thermo property restartable and implement a reset_timestep time option to set it manually (Axel Kohlmeyer, Temple U) PR #3248
- remove support for legacy GPU hardware and CUDA toolkits in the GPU package (Axel Kohlmeyer, Temple U) PR #3213
- start project to change how errors and warnings are reported and documented (Axel Kohlmeyer, Temple U and Steve Plimpton, SNL) PR #3226, PR #3227, PR #3231
* Error and warning message docs from header files are removed
* A new document is started collecting and discussing/explaining errors that are frequently discussed or looked up. Each paragraph is assigned an error code, corresponding error messages have a string added with an URL to the online documentation pointing to those newly added paragraphs
* Individual "short" error messages like "Illegal xxxx command" are expanded to provide more details to make them (mostly) self-explanatory and thus reduce the need to look them up in the source code
- Many small bug fixes, minor code improvements and refactoring, and coding style, build system, documentation, formatting updates (multiple authors) PR #3186, PR #3189, PR #3191, PR #3196, PR #3199, PR #3201, PR #3202, PR #3206, PR #3208, PR #3210, PR #3211, PR #3214, PR #3215, PR #3216, PR #3217, PR #3219, PR #3220, PR #3221, PR #3222, PR #3223, PR #3225, PR #3230, PR #3232, PR #3233, PR #3234, PR #3238, PR #3241
Backward compatibility notes: - 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, which usually supports 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)
- C++
Published by akohlmey about 4 years ago
lammps - Patch release 24 March 2022
Changes since the 17 February 2022 patch release:
- Add computes for local components of the pressure tensor in cartesian and spherical coordinates (Olav Galteland, Norwegian U of Science and Technology) PR #3165
- Major update of the LATBOLTZ package (Colin Denniston and collaborators, UWO) PR #3167
- Code optimization for several KOKKOS styles (Nicholas Curtis and Leopold Grinberd and Gina Sitaraman, AMD, Stan Moore, SNL) PR #3147, PR #3158, PR #3169
- Add fixes for damping of rotational and translational energy for extended particles (Jibril B. Coulibaly. Northwestern U) PR #3181
- Add support for an inner cutoff switching function to SNAP related commands that smoothly turns of SNAP descriptors at short range (Aidan Thompson, SNL) PR #3173
- Refactor code for neighbor list requests so that no direct access to the list of requests is needed and settings are as automatic and consistent as possible (Axel Kohlmeyer, Temple U) PR #3159
- Refactor handling of thermodynamic output for better readability and add new thermostyle "yaml" (Axel Kohlmeyer, Temple U) PR #3179
- Replace usage of non-reentrant strtok() and improve file reading and parsing using file reader and tokenizer classes (Axel Kohlmeyer, Temple U) PR #3180
- Memory usage optimization and bugfix for mesocnt pair style (Philipp Kloza, Cambridge U) PR #3162
- Refactor python/install.py script and change installation of the LAMMPS python module via make install-python from using distutils to setuptools. This is now a 2-step process of first creating a binary wheel (.whl) package and then installing it via pip.
- Automatically load plugins in folders listed in the LAMMPSPLUGIN_PATH environment variable (Axel Kohlmeyer, Temple U) PR #3170
- Add tests for various compute (Axel Kohlmeyer, Temple U) PR #3163
- More content and improvements for the Programmer Guide section of the Manual (multiple authors) PR #3146
- update sphinx theme for the HTML version of the manual (Axel Kohlmeyer, Temple U) PR #3178
- Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #3138, PR #3139, PR #3141, PR #3142, PR #3145, PR #3148, PR #3153, PR #3155, PR #3156, PR #3161, PR #3164, PR #3166, PR #3168, PR #3171, PR #3174, PR #3177, PR #3185
Backward compatibility notices:
- 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 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. Please note the addition of thermo style "yaml" that should provide a mechanism that should make the process of extracting thermodynamic output data more reliable and easier to realize.
- C++
Published by akohlmey over 4 years ago
lammps - Update 3 for Stable release 29 September 2021
This is the third and final update to the 29 September stable release that fixes bugs that have been reported since the second update and backported from the develop branch.
The following individual changes are included:
- remove obsolete check so that larger systems can be run with ReaxFF
- update the Fortran source code in tools/eamdatabase to produce files with fewer oscillations and better precision. add python version.
- fix problems causing crashes with the MSM kspace style when continuing a run without and with changing box settings
- avoid using an outdated list of special neighbors when applying the angle constraint in fix bond/create/angle
- fix bug in fix rigid/npt/small and fix rigid/nvt/small leading to NaNs for 2d systems
- fix memory leaks and avoid accessing uninitialized data
- fix a tag caching and skip list generation issue causing crashes when using pair style sw/intel with hybrid pair styles
- fix off-by-one bug in dihedral style fourier/intel
- fix neighborlist and buffer creation bug in pair style lj/long/coul/long/intel
- fix uninitialized data bug in pair style lj/cubic when mixed coefficients where specified explicitly
- fix bug in writecoeff that could not correctly operate on full pathnames
- fix a problem loading the shared library under MacOS after installing the LAMMPS python module with "make install-python"
- adjust package list to avoid compilation failures when using the "most" preset
- improve cythonize detection on machines using bourne shells different from bash (e.g. debian/ubuntu)
- correct handling of make package-update for ML-IAP package
- python 3 compatibility updates scripts in tools/python
- try harder to find the stub version of libcuda.so as provided by the CUDA toolkit in case there is no CUDA driver installation
- fixes to CMake build for ML-QUIP package when using CMake 3.16 and newer or recent Cray Programming Environment versions
- C++
Published by akohlmey over 4 years ago
lammps - Patch release 17 February 2022
Changes since the 7 January 2022 patch release:
- Add new pair style harmonic/cut providing a repulsive-only harmonic potential (Axel Kohlmeyer, Temple U) PR #3087
- Add new fix numdiff/virial for deriving virial stress from potential energy via numerical differences (Aidan Thompson, SNL and Charlie Sievers, UC Davies) PR #3105
- Add two new interlayer pair styles ilp/tmd and saip/metal (Wengen Ouyang, Wuhan University) PR #3125
- Refactor source code to replace use of the virtual keyword in derived classes with the equivalent override which allows to detect some common problems at compile time (Richard Berger, Temple U) PR #3090
- 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 (Stan More, SNL) PR #3097, PR #3110
- accelerator support (including KOKKOS) and improvements for dynamical_matrix and third_order commands (Charlie Sievers, UC Davis) PR #2233
- performance improvements and added unit tests for oxdna atom style (Oliver Henrich, Strathclyde U) PR #3104
- Portability updates for PyLammps (Richard Berger, Temple U) PR #3115
- re-implementation of the tools/eam_database Fortran code in Python (Germain Clavier, TU Eindhoven) PR #3126
- port bundled unit tests and external OpenCL ICD loader to be compiled and run on Windows using the MSVC toolchain (Axel Kohlmeyer, Temple U) PR #3102, PR #3116, PR #3127
- update force style unit tests to work with Kokkos + OpenMP (Richard Berger, Temple U) PR #3035
- update setup.py in python module to use setuptools instead of deprecated distutils (Richard Berger, Temple U) PR #3101
- various optimizations, corrections, refactoring, and compatibility updates for the KOKKOS package (Stan Moore, SNL and multiple collaborators) PR #3082, PR #3088, PR #3092, PR #3100, PR #3111
- Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #3089, PR #3091, PR #3095, PR #3103, PR #3117, PR #3120, PR #3123, PR #3124, PR #3129, PR #3130, PR #3133, PR #3134, PR #3136
Backward compatibility notices: - Using the PyLammps python module now requires the presence of numpy
- C++
Published by akohlmey over 4 years ago
lammps - Patch release 7 January 2022
Changes since the 14 December 2021 patch release: - New compute ave/sphere/atom to compute averaged properties in a sphere around atoms (Stan Moore with Mitch Wood, SNL) PR #2996 - Support writing to dump files at regular time interface for variable timestep simulations (Michal Kanski, Jagiellonian U, and Steve Plimpton, SNL) PR #3052 - Add centroid atomic stress support for shake, rattle and rigid/small fixes (Donatas Surblys, Tohoku U) PR #3046 - Update fmtlib to version 8.1.1 (Axel Kohlmeyer and Richard Berger, Temple U) PR #3073 - Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #3021, PR #3060, PR #3062, PR #3064, PR #3065, PR #3068, PR #3069, PR #3071, PR #3072
Backward compatibility notices:
- Forces and energies from class2 angle styles may differ due to a bugfix. Previously distances from the BondBond terms were used for BondAngle terms. Commonly those distance settings would be the same and in those cases the results will match.
- C++
Published by akohlmey over 4 years ago
lammps - Update 2 for Stable release 29 September 2021
This is the second update to the 29 September stable release that fixes bugs that have been reported since the first update and backported from the develop branch.
The following individual changes are included:
- fix bug in compute temp/rotate due to uninitialized data cause by a class member shadowing a base class member
- plug minor memory leaks in MACHDYN package
- plug memory and file descriptor leak when reading ReaxFF potential files
- fix internal fix and compute ID clash when using fix reaxff/species multiple times
- fix segmentation fault when using atom style smd as part of a hybrid pair style
- fix communication bug in pair style local/density
- fix segmentation fault due to an uninitialized array in fix nve/gpu when the group is not "all" but there is only one atom type
- fix bugs in eam/cd pair style reported in issue #3074
- correct documentation and potential parameters for Lebedeva interlayer potential
- update names and description of git branches in the manual to reflect the current status and policies
- avoid issues when testing dump commands in parallel
- avoid issues from oversubscribing processors with parallel tests using MPI
- correct error in the documentation for pair style granular
- fix bug in cmake parsing of the version.h file for stable branch. Fixes #3038
- fix bug in bond/angle style table reported in PR #3076 (but fixed differently)
- C++
Published by akohlmey over 4 years ago
lammps - Patch release 14 December 2021
Changes since the 27 October 2021 patch release:
- Update bundled copy of the Kokkos library to version 3.5.0 (Stan Moore, SNL and the Kokkos developers) PR #3019, PR #3053
- Allow GPU package pair styles to be used with
newton_pair on(Trung Nguyen, Northwestern) PR #2867 - New update to
delete_atoms porosityso that atoms can now be selected by region and group (Steve Plimpton, SNL) PR #2984 - New pair style
sw/modproviding an empirically modified Stillinger-Weber potential suitable for compounds like MoS2 (Jin-Wu Jiang, Shanghai University, Wengen Ouyang, Wuhan University) PR #3041 - New pair style
nm/cut/splitand bond stylefene/nmfor coarse grain polymer models (Joseph Dietz, Robert Hoy, USF) PR #2958 - Support for binary native dump files for
read_dumpandrerun(Lixin Sun, Harvard) PR #3054, PR #3059 - Update included fmtlib sources to version 8.0.1 (Richard Berger and Axel Kohlmeyer, Temple U) PR #2809
- Refactoring of access to lists of computes, fixes and regions that do not require access to internal data structures (Axel Kohlmeyer, Temple U) PR #3001
- Refactoring of data file section reading and writing for fixes for more consistency and simpler, more intuitive input (Axel Kohlmeyer, Temple U) PR #3012
- Updated singularity container definition files for building LAMMPS (Richard Berger, Temple U) PR #3043
- Added labels "slow" and "unstable" to some unit tests run with ctest so they can be easily excluded (Richard Berger, Temple U) PR #3033
- Improved support for multi-configuration builds (required on Windows) and passing settings to external projects (Axel Kohlmeyer, Temple U) PR #2940
- Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #3011, PR #3013, PR #3014, PR #3015 , PR #3017, PR #3020, PR #3027, PR #3032, PR #3034, PR #3040, PR #3044, PR #3049, PR #3055, PR #3056, PR #3058 ## Backward compatibility notices:
delete_atoms porosityrequires a group as an additional argument- 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 available when using "C1" instead of "C" as element.
- C++
Published by akohlmey over 4 years ago
lammps - Update 1 for Stable release 29 September 2021
This is an update to the 29 September stable release that fixes some bugs that have been reported since then and addresses some issues related to compatibility with GitHub, Python and Python package versions used to build the manual, and running the automated unit tests.
The following individual changes are included:
- Corrections to double precision support detection for the GPU package. Only report compatible GPUs. Also consider single-precision FFT requirement for pppm when running unit tests.
- Fix bugs leading to deadlocks when loading INTERLAYER package potential files in parallel
- Correct thermo output when expanding per-atom properties
- Fix compilation issue for QM/MM front end code
- Fix bugs in dump style custom when using custom per-atom data for thresholds
- Update VTK package to compile and work with custom per-atom arrays
- plug some minor memory leaks
- fix some bugs in the KOKKOS package
- update required python package versions for building the documentation to be compatible with python 3.10
- fix memory allocation bug in angle and bond style gaussian leading to memory corruption on 32-bit machines
- fix false positives in python unit tests when LAMMPS is compiled with an external KOKKOS library
- update the citation info for the new LAMMPS paper
- change references to git:// protocol to use https:// protocol instead due to heightened security requirements at GitHub
- document size limitations when sorting dumps
- avoid false positives in unit testing due to numerics and oversubscribing of MPI processes
- C++
Published by akohlmey over 4 years ago
lammps - Patch release 27 October 2021
Important note about branch names
The LAMMPS project has changed the names of its main branches in the git repository to better represent the state of the code. The master branch was renamed to develop and the unstable branch became release. If you are following the git repository to obtain the LAMMPS source code, please update your checkouts and forks accordingly. For a limited time the master and unstable branches will be kept in sync with develop and release (through fast forwarding), but those branches will be removed eventually and then you will be required to use the new branch names or not have access to updates anymore.
Changes since the 29 September 2021 patch release:
- New
fix acks2/reaxfffor ACKS2 charge equilibration and updates tofix qeq/reaxffthat add support for fix efield to both charge equilibration methods. (Metin Aktulga, MSU and Stan Moore, SNL) PR #2931 - New
fix mol/swapfor swapping of atom types within a single, randomly selected molecule (Steve Plimpton, SNL) PR #2992 - Add support for multi-species potentials to ML-PACE package (Yury Lysogorskiy and the PACE library developers) PR #2968
- Preliminary support for OpenMPTarget in KOKKOS package (Rahul Gayatri, NERSC, Chris Knight, ANL, Stan Moore, SNL) PR #2997
- Implemented and applied a new namespace
platformwith abstractions of functionality that has either different behavior or uses different APIs on different platforms and operating systems. This reduces code redundancy and enhances platform neutrality of the core LAMMPS code. (Axel Kohlmeyer, Temple U) PR #2979 - Implemented and applied a utility function to parse boolean arguments to keywords (yes/no, on/off, true/false) (Axel Kohlmeyer, Temple U), PR #2951
- Semi-automatic code refactoring using clang-tidy. See issue #2946 for a discussion of individual changes. (Axel Kohlmeyer, Temple U) PR #2990, PR #2994, PR #3002
- Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #2973, PR #2975, PR #2976, PR #2977, PR #2983, PR #2985, PR #2989, PR #2991, PR #2993, PR #2998, PR #3003, PR #3004, PR #3007 , PR #3009
Backward compatibility notices:
- Most keywords that accept "yes/no" or "on/off" parameters will now accept "yes/no", "on/off", or "true/false" as valid arguments. This is not (yet) reflected in the manual. Some cases where there are more than just two choices have been adapted accordingly, but not all. Backward compatibility is retained. All tests pass.
- C++
Published by akohlmey over 4 years ago
lammps - Stable release 29 September 2021
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.
The LAMMPS homepage has been moved from https://lammps.sandia.gov to https://www.lammps.org which is now hosted at Temple U. 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
srctree 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 externaland 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 becomekim <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
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 29 September 2021
This patch includes some final changes and bugfixes to create the stable release.
There are no substantial new features in this patch, only a variety of small updates and bug fixes for reported issues and based on extended testing with instrumented code and on platforms or with settings we do not run automatic tests for. Notable changes:
- bugfix for EAM/alloy pair style with KOKKOS on GPUs (Stan Moore, SNL) PR #2956
- bugfix for hybrid pair styles not enforcing a single pair_coeff statements for potentials that require it (Axel Kohlmeyer, Temple U) PR #2963
- logging of queried KIM collections locations with kim init (Ryan Elliott, UMN) PR #2949
- added section on parallel algorithms to manual adapted from new LAMMPS paper, PR #2917
- small bugfix for COLVARS package (Jerome Henin and Giacomo Fiorin) PR #2959
- small bugfix for handling of nevery keyword in fix bond/react (Jake Gissinger, NASA) PR #2969
- bugfix to neighbor list: prevent it from copying "unique" stencil/bin data (Stan Moore and Steve Plimpton, SNL) PR #2965
- updates to traditional make build system to enable C++11 compliance by default, list packages in alphabetical order and make package maintenance commands less verbose (Axel Kohlmeyer, Temple U) PR #2961
- collected small changes (Axel Kohlmeyer, Temple U) PR #2952, PR #2962, PR #2966
- improved detection of double precision hardware with OpenCL and a workaround for neighbor list issues on sparse systems in the GPU package
- improved C++ standard compliance for improved compatibility with compilers in C++20 mode
- improved C library standard compliance by avoiding calling memset() and fwrite() with a null pointer
- fix bug in traditional make build system support for ML-PACE package
- add missing documentation for building with threaded FFTW3 support using non-standard library locations
- plug memory leaks and compilation issue with 64-bit atom ids in MSCG package
- avoid division by zero in fix dt/reset
- fix portability issues and detect incompatibilities when compiling external libraries using CMake
- prohibit KOKKOS from lowering the requested C++ standard
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 20 September 2021
This is the release candidate for the next stable release. We will only accept urgent bugfixes and updates to documentation until then. For people packaging stable LAMMPS releases into binary packages, please note that you have about one week left to submit any changes to LAMMPS where you have discovered issues related to building and packaging that we have overlooked. Once the stable release is out, you will have to maintain such changes as external patches until the next stable release or package a following patch release with those changes included.
Changes since the 31 August 2021 patch release:
- Updates and additions to the programmer guide section of the manual. Specifically, updated guidelines and information for contributing code to LAMMPS (Axel Kohlmeyer, Temple U) PR #2927
- Add new command line flag -skiprun testing input files for syntax error as this will skip main loops in run, minimize and similar commands PR #2919
- Avoid crashes when loading modules like NumPy multiple times into deleted/cleared LAMMPS instances. For that PyFinalize() needs to be treated like MPIFinalize() and thus called from main.cpp or a wrapper function in the library interface (Axel Kohlmeyer and Richard Berger, Temple U) PR #2923
- Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #2919, PR #2924, PR #2925, PR #2929, PR #2935, PR #2939, PR #2941
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 31 August 2021
Changes since the 30 July 2021 patch release:
- Add KOKKOS accelerated styles for shear flow simulations with the nvt/sllod integrator (Emily Kahl, The University of Queensland) PR #2882
- New fix ttm/grid with improved file handling and distributed grid. The existing ttm fixes are refactored and modernized. This also generalizes and unbundles the grid communication class from the KSPACE package and thus updates all PPPM and MSM kspace style variants accordingly (Steve Plimpton, SNL) #2902
- New pair style coul/exclude to remove excluded Coulomb interactions to be used with kspace style scafacos for molecular systems (Axel Kohlmeyer, Temple U) PR #2886
- Add functionality to fix property/atom to support per-atom arrays in addition to per-atom vectors (Steve Plimpton SNL) PR #2342, PR #2889 PR #2903
- Update the COLVARS package to version 2021-08-06 (Giacomo Fiorin, NIH, and the colvars developers) PR #2863 and PR #2866
- Update to fix bond/swap to support a second kind of bond swapping model (Steve Plimpton, SNL) PR #2888
- File reader refactor, bug fixes, and unit tests for INTERLAYER package pair styles (Axel Kohlmeyer, Temple U) PR #2879, PR #2897
- Optimizations for SNAP with KOKKOS for large systems (enabled via config option) (Evan Weinberg, Nvidia) PR #2905
- Various updates and bugfixes for the KOKKOS package (Stan Moore, SNL) PR #2890, #2900
- Update factory functions to create or replace fixes and computes to return a pointer to the created class instance (Axel Kohlmeyer, Temple U) PR #2869
- Updates to the introductory pages of the LAMMPS documentation (Axel Kohlmeyer, Temple U) PR #2893
- Many small bug fixes, minor code improvements, and coding style, build system, documentation, formatting updates (multiple authors) PR #2804, PR #2862, PR #2861, PR #2865, PR #2868, PR #2876, PR #2880, PR #2881, PR #2885, PR #2887, PR #2889, PR #2891 , PR #2895, PR #2896, PR #2904, PR #2908, PR #2909, PR #2910, PR #2911, PR #2912, PR #2913, PR #2914
Backward compatibility notices:
- MC package fixes atom/swap, gcmc, widom, and charge/regulation were under some circumstances calling fixes that normally would be called at the "endofstep()" stage during a time step instead in the "pre_exchange()" stage. This could lead to unexpected output or use of data from the previous time step (e.g. with fix print, fix ave/time etc.). These calls have been removed and the expected behavior has been restored.
- the output file format for the fix ttm electron temperature grid files has changed
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 30 July 2021
Changes since the 28 July 2021 patch release:
This patch release contains a fix for a serious bug reported in issue #2858 that was present in LAMMPS since the 10 February 2021 patch release. We urge everybody that are using this version or any other versions released since then to upgrade to this patch release.
In addition, this patch release contains mostly minor code refactoring changes and a few fixes for issues were either a result of the recent package reorganization or were exposed by it. PR #2856, PR #2857, and PR #2860
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 28 July 2021
Changes since the 2 July 2021 patch release:
- Completion of the package reorganization started in the 2 July 2021 release (Axel Kohlmeyer, Temple U) PR #2829
- Significant refactor of the REAXFF package and some updates to the QEQ package and corresponding code in the OPENMP and KOKKOS packages to have it better aligned with LAMMPS coding conventions, remove obsolete and dead code and implement missing features like support for compute stress/atom in the OpenMP version of the reaxff pair style. (Axel Kohlmeyer, Temple U, Aidan Thompson, SNL) PR #2708
- New fix pair/tracker and pair style tracker to track properties of pair interactions (Joel Clemmer, SNL) PR #2788
- New lammpsgatherbonds() function in the C library interface and corresponding Python module wrappers (Axel Kohlmeyer, Temple U, and Robert Meißner, TU Hamburg) PR #2850
- Updates to the CG-DNA package including a new atom style to address issues with tracking contact pairs (Oliver Henrich, Strathclyde U) PR #2827 and PR #2835
- Updates to the INTEL package to better support the new LLVM based Intel compilers and transition to use OpenMP pragmas for SIMD (Mike Brown, Intel) PR #2842 and PR #2849
- Add support for atom_modify map hash in the KOKKOS package (Stan Moore, SNL) PR #2815
- Updates to the C library interface and Python module to support all fix external functionality and make those behave more consistently, also document the calls (Axel Kohlmeyer, Temple U) PR #2837
- A new compute for the TALLY package to measure virial heat flow from one group of atoms to another (Donatas Surblys, Tohoku U) PR #2841
- Address issues and inconsistent behavior when using pair_modify nofdotr and compute stress/atom for pair styles in the MANYBODY and OPENMP packages. Add functionality to the unit tests to check for consistency in energy and global pressure (Axel Kohlmeyer, Temple U) PR #2736
- Various small bug fixes, coding style, build system, documentation and formatting updates (multiple authors) PR #2823, PR #2826, PR #2824, PR #2828, PR #2830, PR #2831, PR #2832, PR #2833, PR #2836, PR #2838, PR #2839, PR #2844, PR #2848, PR #2853, PR #2854, #2855
Backward compatibility notices: - This patch release completes the package reorganization from the 2 July 2021 release. The USER-MISC package has been removed and its contents distributed to existing packages or one of the new packages INTERLAYER, ORIENT, EXTRA-COMPUTE, EXTRA-DUMP, EXTRA-FIX, EXTRA-MOLECULE, EXTRA-PAIR. Also some styles from MISC, MOLECULE and the src folder have been moved to more suitable packages. In case you are missing a style in your executable, LAMMPS should report which package contains the missing style and needs to be added. - Some semantics of the fix external support functions to set global energy and virial have been changed to be more consistent.
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 2 July 2021
Changes since the 27 May 2021 patch release: - New package DIELECTRIC with boundary element solvers for computing induced charges at interfaces (Trung Nguyen and Monica Olvera del la Cruz, Northwestern) PR #2793 - New SO3 descriptor for the MLIAP package (Byungkyun Kang and Qiang Zhu, UNLV) PR #2796 - New fabric tensor compute (Joel Clemmer, SNL and Ishan Srivastava, LBL) PR #2795 - Variable pH support and bugfixes for Ewald self-energy in fix charge/regulation (Tine Curk, Northwestern) PR #2802 - Correctly handle KOKKOS package initialization with the library interface and the fact that the Kokkos library may only be initialized once (Stan Moore, SNL) PR #2470 - GPU package fixes for compilation with the ROCm/HIP backend (Richard Berger, Temple U) PR #2789 - Updates to Python package and examples (Richard Berger, Temple U) PR #2787 - Various small bug fixes, coding style, build system, documentation and formatting updates (multiple authors) PR #2786, PR #2790, PR #2798, #2803, #2810, #2813, #2817
Backward compatibility notes: - The LAMMPS home page has been moved to https://www.lammps.org - To reflect changes in the development process and the overall code quality we no longer differentiate between "standard" and "user packages. Thus many packages have been renamed. There are no more "user" packages included in LAMMPS except for USER-MISC. Also some packages have been renamed to better represent their content and also to group similar ones (e.g. machine learning or coarse grain or DPD packages). Some more reorganization of individual style files will follow in the next patch release. - There is a new package (DPD-BASIC) and several dpd pair styles have been moved there from USER-MISC or the src folder. - The "minimal.cmake" preset has been renamed to "basic.cmake" to match the corresponding "yes/no-basic" target in the conventional build and to avoid conflicts.
- C++
Published by akohlmey almost 5 years ago
lammps - Patch release 27 May 2021
Changes since the 14 May 2021 patch release:
- New package USER-HDNNP which provides a new pair style hdnnp, which is an interface to the N2P2 library for Behler-Parinello neural network potentials (Andreas Singraber, U Vienna) PR #2626
- New package USER-RANN which provides a new pair style rann and matching potential files for using "rapid atomistic neural network (RANN) potentials (Christopher Barrett and Doyl Dickel, Mississippi State) PR #2570
- Update of the bundled Kokkos library to version 3.4.1 (Stan Moore, SNL and the Kokkos developers) PR #2783
- Update references to the LAMMPS homepage to reference www.lammps.org and docs.lammps.org instead of lammps.sandia.gov and add tool to check for it and convert such links, also corresponding updates to the LAMMPS manual itself. (Axel Kohlmeyer and Richard Berger, Temple U) PR #2778, PR #2768
- Various small bug fixes, coding style and formatting updates (multiple authors) PR #2640, PR #2770, PR #2771, PR #2772, PR #2773, PR #2775, PR #2776, PR #2777, PR #2781, PR #2782, PR #2784
Backward compatibility notes:
- the LAMMPS home page has been moved from https://lammps.sandia.gov to https://www.lammps.org (please report cases where links need to be updated).
- C++
Published by akohlmey about 5 years ago
lammps - Patch release 14 May 2021
Changes since the patch release 8 April 2021:
- New package USER-PACE which provides a new pair style pace computing interactions using the Atomic Cluster
Expansion (ACE) (Yury Lysogorskiy and collaborators at ICAMS, Ruhr-Uni Bochum) PR #2699
- New Package USER-BROWNIAN for Brownian dynamics time integration of point and extended particles plus updates for fix propel/self (Sam Cameron, U Bristol) PR #2511
- New Package USER-MDI to enable client/server mode coupling of LAMMPS with other codes using the MolSSI Driver Interface (MDI) (Taylor Barnes, MolSSI) PR #2611
- New fix style "charge/regulation" which implements Monte Carlo sampling of charge regulation (Tine Curk, Northwestern U and Jiaxing Yuan, Shanghai Jiao Tong U) PR #2585
- New generalized DPD pair styles: dpd/ext and dpd/ext/tstat (Martin Svoboda, Karel Sindelka, and Martin Lisal, ICPF) PR #2710
- Faster and more flexible support for multi style neighbor lists (Joel Clemmer, SNL) PR #2536
- New pair style hybrid/scaled that allows combining contributions from different pair styles with constant or variable scaling factors (Axel Kohlmeyer, Temple U) PR #2702
- Updated version of pair style bop with bugfixes and performance improvements (Xiaowang Zhou, SNL) PR #2750, PR #2753
- New base class Command that all command styles are now derived from instead of the Pointers class (Axel Kohlmeyer, Temple U) PR #2707
- GPU package version of pair style lj/smooth (Gurgen Melikyan, HSE University) PR #2706
- Update of the bundled Kokkos library to version 3.4.0 (Stan Moore, SNL and the Kokkos developers) PR #2733
- Support for atom style spin in the KOKKOS package (Julien Tranchida, Stan Moore, and Svetoslav Nikolov, SNL) PR #2693
- New clang-format configuration file in src tree. All files in that tree are prepared so that clang-format can be applied without destroying functionality. (Axel Kohlmeyer, Temple U) PR #2762
- Refactoring of core LAMMPS code and packages to increase code reuse and readability, simplify text parsing, improve thread safety (Richard Berger and Axel Kohlmeyer, Temple U) PR #2704, PR #2719, PR #2727, PR #2738, PR #2749
- Bugfixes and updates for the GPU package addressing issues caused by the changes/improvements in PR #2603 (Mike Brown, Intel Corp., Trung Nguyen, Northwestern U, and Richard Berger, Temple U) PR #2711, PR #2720, PR #2723, PR #2744, PR #2745, PR #2756
- More unit tests for MPI load balancing and file operations (Richard Berger and Axel Kohlmeyer, Temple U) PR #2642, PR #2725
- Scripts to support building LAMMPS and its documentation on systems without direct internet access (Richard Berger, Temple U) PR #2742
- Various small bug fixes, coding style and formatting updates (multiple authors) PR #2703, PR #2705, PR #2712, PR #2713, PR #2714, PR #2715, PR #2717, PR #2721, PR #2722, PR #2724, PR #2726, PR #2737, PR #2739, PR #2741, PR #2743, PR #2748, PR #2756, PR #2758, PR #2760, PR #2761, PR #2765, PR #2769
Backward compatibility notes:
- using comm_modify multi now requires to also use neighbor multi. In case the new neighbor multi functionality causes problems, it is possible to revert to the previous implementation with neighbor multi/old. In that case comm_modify multi/old and comm_modify cutoff/multi/old need to be used for enabling and customizing multi-cutoff ghost atom communication.
- binary restart files containing data for pair style coul/cut will be incompatible due to bugfixes (but they were broken anyway)
- external packages that add command styles will have to be adapted to the changes to the class topology in PR #2707
- C++
Published by akohlmey about 5 years ago
lammps - Patch release 8 April 2021
Changes since the patch release 10 March 2021: - New PLUGIN package providing a "plugin" command that allows loading and unloading of LAMMPS styles from separately compiled shared object files at runtime (Axel Kohlmeyer, Temple U) PR #2650 - Refactoring of core LAMMPS code and packages to increase code reuse and readability, simplify text parsing, simplify internal fix/compute generation, improve thread safety (Richard Berger and Axel Kohlmeyer, Temple U) PR #2655, PR #2657, PR #2674, PR #2678, PR #2683, PR #2685, PR #2694, PR #2700 - Additional unit test tools and test inputs to increase coverage of automated testing (Richard Berger and Axel Kohlmeyer, Temple U) PR #2308, PR #2653, PR #2658, PR #2679, PR #2681, PR #2682, PR #2695 - Updates and additions to PyLammps examples (Richard Berger, Temple U and Evangelos Voyiatzis, Royal DSM) PR #2662, PR #2664 - Updates and bugfixes to the USER-REACTION package (Jake Gissinger, NASA) PR #2675 - Updates and bugfixes to the KOKKOS package (Stan Moore, SNL) PR #2677 - Updates and bugfixes to the GPU package (Mike Brown, Intel Corp. and Nicholas Curtis, AMD, and Richard Berger, Temple U) PR #2691, PR #2692 - Improved error/exception detection and handling in the LAMMPS python module (Richard Berger, Temple U) PR #2668 - Various small bug fixes, coding style and formatting updates (multiple authors) PR #2654, PR #2659, PR #2661, PR #2663, PR #2666, PR #2670, PR #2671, PR #2685, PR #2686, PR #2689, PR #2690, PR #2696, PR #2697, PR #2698
Backward compatibility notes: - there are more strict checks about the order of rigid fixes and fixes that change box dimensions. LAMMPS will now correctly error out where it previously would silently ignore some fixes. - checks for using runstyle verlet versus runstyle respa have been made consistent across the code and fully aware of suffixes - the meaning of the request ID argument for accessing neighbor lists through the library and python interface has changed. it will function the same for the typical case of having just a single neighbor lists, but see the manual for other cases.
- C++
Published by akohlmey about 5 years ago
lammps - Patch release 10 March 2021
Changes since the patch release 10 February 2021:
- Major update of the GPU package with significant performance and compatibility improvements (Mike Brown and Nitin Dhamankar, Intel Corp.) PR #2603, PR #2610, use statically linked OpenCL driver loader with CMake (Axel Kohlmeyer, Temple U) PR #2617, HIP compilation fixes (Richard Berger, Temple U) PR #2622
- New pair style lj/relres which allows fine-grained/coarse-grained simulations for lj/cut type interactions (Mark Chaimovich, Russian School of Mathematics, and Aviel Chaimovich, Drexel University) PR #2590
- Refactoring of the KIM package commands. Instead of multiple kim_<something> commands there is now only the kim command which accepts <something> as subcommand. Additional cleanups and improvements to the kim commands (Yaser Afshar, Ryan S. Elliott, Ellad Tadmor UMN) PR #2620, PR #2625, PR #2649
- Direct support for neural network (nn) models added to MLIAP package (Pedro Antonio Santos Florez, University of Nevada - Las Vegas) PR #2641
- Multiple small improvements and bugfixes to the USER-REACTION package (Jake Gissinger, NASA) PR #2600, PR #2616, PR #2627
- Reader classes for LAMMPS log files and fix ave/chunk output added to the LAMMPS Python module (Richard Berger, Temple U) PR #2631
- Unit tester tools for dihedrals and impropers with inputs for most styles (Abhishek Shandilya, RPI and Axel Kohlmeyer, Temple U) PR #2290
- Cleanup and small performance updates for SNAP support in KOKKOS on GPU (Evan Weinberg, Nvidia) PR #2599
- Various small bug fixes, coding style and formatting updates (multiple authors) PR #2601, PR #2602, PR #2604, PR #2609, PR #2612, PR #2613, PR #2614, PR #2615, PR #2618, PR #2624, PR #2629, PR #2632, PR #2633, PR #2634, PR #2635, PR #2637, PR #2638, PR #2644, PR #2651, PR #2652
Backward compatibility notes:
- The STUBS library is compiled with C++ so there are no symbol name collisions when a serial LAMMPS library and mpi4py are loaded into a Python interpreter at the same time
- All KIM package commands of the kind kim_<command> are renamed to kim <command>
- There are several changes to the package gpu command:
- The Ngpu parameter to the package now accepts 0 (for automatic determination of number of GPUs)
- The gpuID keyword now only takes 1 argument.
- The device keyword is replaced with 'platform' and 'device_type'
- The automatic OpenCL platform detection will choose the platform with the best GPU (in terms of compute cores)
- OpenCL, device configuration parameters for NVIDIA, AMD, INTEL are automatically determined at runtime
More details about this are in the manual
- Since the changes to the GPU package were substantial, some remaining bugs and compatibility issues are to be expected
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 10 February 2021
Changes since the patch release 24 December 2020:
- Add support for machine learning potentials using python frameworks to the MLIAP package (Nicholas Lubbers, LANL, and Aidan Thompson, SNL) PR #2508
- Add 'shift' keyword for multiple Tersoff pair style variants to allow adjusting lattice constants in the case of hetero materials (Wengen Ouyang, Tel Aviv University, Davide Mandelli, Istituto Italiano di Tecnologia, Aidan Thompson, SNL) PR #2514
- New 'eam/he' pair style for modeling He bubbles in metals (Xiaowang Zhou, SNL) PR #2556
- New Wang-Frenkel pair style ('wf/cut'), a smooth, short range Lennard-Jones like potential (Xipeng Wang and Simón Ramírez-Hinestrosa, Chinese Academy of Sciences, U Cambridge) PR #2435
- New potential files in version 2 format for the AGNI pair style and support for reading/processing those potential files (James Chapman, Lawrence Livermore National Lab) PR #2479
- Update of bundled Kokkos library to version 3.3.1 (Stan Moore, SNL, and the Kokkos developers) PR #2540
- Optimizations for running SNAP potentials with KOKKOS on GPUs (Evan Weinberg, Nvidia) PR #2549
- Add capability to fix bond/react to have reactions create atoms (Jake Gissinger, NASA) PR #2584
- Standardize the way how contributions from fix styles to energy and virial are handled. Remove THERMOENERGY fix mask. (Steve Plimpton, SNL) PR #2560
- Replace redundant 3-vector inline functions from pair styles and `mathvector.hwith calls toMathExtranamespace functions. Obsoletemathvector.handmathcomplex.hheader files that were using common c++ class names without a protecting namespace (Axel Kohlmeyer, Temple U) PR #2558
- More granular control over communication for pair style and fixes with KOKKOS (Stan Moore, SNL) PR #2532
- Refactor processing of embedded citation strings to make them more visible (Axel Kohlmeyer, Temple U and Steve Plimpton, SNL) PR #2545
- Add introspection support for compile time settings of accelerator packages (Axel Kohlmeyer, Temple U), PR #2554
- Add ArgInfo class for simpler processing of references to computes, fixes, variables and more. Refactor the code using those (Axel Kohlmeyer, Temple U) PR #2571
- Addutils::strdup()`` convenience function and apply it to many files to collapse repetitive multi-line code to a single line (Axel Kohlmeyer, Temple U) PR #2583
- Detect non-ASCII characters in input and try to correct known cases where equivalent UTF-8 characters are used (Axel Kohlmeyer, Temple U) PR #2564
- Add version check to the LAMMPS python module so that the version of the python module must match the version in the shared library. (Axel Kohlmeyer, Temple U) PR #2589
- Change sign conventions for forward/reverse Fourier transforms in LAMMPS to be aligned with common conventions (Steve Plimpton and Stan Moore, SNL) PR #2506
- Move definition of "INVOKED_*" bitmap constants to an enumerator in the compute.h header file for consistency (Axel Kohlmeyer, Temple U) PR #2572
- Add to CI checks runs via GitHub Actions (instead of Jenkins on ci.lammps.org): Static code analysis for C++ and Python via CodeQL, and compilation and unit tests on MacOS. (Axel Kohlmeyer and Richard Berger, Temple U) PR #2401
- Various small bug fixes, coding style and formatting updates (multiple authors) PR #2547, PR #2553, PR #2555, PR #2557, PR #2559, PR #2561, PR #2562, PR #2565, PR #2566, PR #2567, PR #2569, PR #2576, PR #2579, PR #2580, PR #2582, PR #2586, PR #2591, PR #2592, #2594, #2596
Backward compatibility notice:
- the processing and meaning of fix_modify energy and fix_modify virial has been changed. It is now only available for fixes that contribute to the potential energy and the virial. The energy contributions from thermostats and similar fixes can be accessed with the thermo keyword ecouple and the conserved quantity (i.e. etotal + ecouple) is available as econserve. There are corresponding changes to the implementation, so external fixes will have to be adapted or they will no longer compile. All affected fixes in the LAMMPS distribution have been updated.
- the LAMMPS python module now contains a version check: When installing the python module, the current LAMMPS version is stored in a __version__ module variable and upon initialization of a LAMMPS instance it is checked against the output from the lammps.version() method which returns the version of the loaded shared library. If they don't match an exception is raised. This helps to detect inconsistent installations of the shared library or module or incorrectly setting LD_LIBRARY_PATH or PYTHONPATH.
- Arguments to LAMMPS commands that contain references to compute, fixes, or variables (c_ID, f_ID, v_ID with and without indices) are now more strictly checked for correctness. Inputs that are incorrect but have previously worked by chance will now cause failures.
- the KOKKOS package option "cuda/aware" has been renamed to "gpu/aware" since Kokkos now also supports AMD GPUs via HIP.
- this release has several "invasive" changes to core parts of LAMMPS, so there is an increased risk that something has been broken in a part of the code that is not (yet) covered by our automated tests (which currently cover about 1/3rd of the total code base).
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 24 December 2020
Changes since the patch release 30 November 2020: - Add temperature-grouped Nose-Hoover thermostat for Drude polarizable models (Zheng Gong, ENS de Lyon) PR #2483 - Refactor installation of the LAMMPS python module to follow the Python package conventions more closely (Richard Berger, Temple U), PR #2521 - Add multi style neighbor list support for granular particles (Joel Clemmer, SNL and Ishan Srivastava, LBL) PR # 2423 - Performance tweaks for KOKKOS package (Stan Moore SNL) PR #2517 - Add support for logical operators with constraints for fix bond/react (Jake Gissinger, NASA) PR #2504 - Add a "pair/only" keyword to the package command (or command line flag) for the KOKKOS and GPU package to conveniently allow for more efficient use of accelerators in certain cases (Stan Moore, SNL and Axel Kohlmeyer, Temple U) PR #2533 - Add support for KIM-API v2.2.1 and additional unittests for KIM package and tools (Yaser Afshar, Ryan Elliot, UMN) PR #2518 & PR #2522 - Add support for Plumed v2.7.0 (Axel Kohlmeyer, Temple U) PR #2542 - New preset and workarounds/adjustments for compiling LAMMPS with the PGI/Nvidia compilers (Axel Kohlmeyer, Temple U), PR #2520 - Various small updates and corrections (multiple authors) PR #2502, PR #2505, PR #2507, PR #2510, PR #2515, PR #2523, PR #2530, PR #2539
Backward compatibility notice: - The LAMMPS python module is now a folder with multiple python files instead of a single lammps.py file. Setting of environment variables for in-place use should be unchanged. For other installation/use cases, please check the manual.
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 30 November 2020
Changes since the patch release 29 October 2020:
New features:
- Added an electronic stopping fix to USER-MISC, James Stewart (SNL), Remi Dingreville (SNL), PR #2391
- Added bond & angle styles
gaussian, E. Voyiatzis (Royal DSM), PR #2440 - Added Kokkos support for fix
shakeand forward comm on Device for fixes, Stan Moore (SNL), PR #2441 - Added pair style
spin/exchange/biquadratic, Julien Tranchida (SNL), PR #2410 - Added
moleculekeyword to bondreactto optionally force reaction to be inter- or intramolecular, Jacob Gissinger (NASA), PR #2467
Updates & Bugfixes:
- Fixed issue with C library interface function
lammps_gather_atoms, Richard Berger (Temple U), PR #2466 - Add CMake code to download and compile a suitable version of
libyamlin case it is not found locally, Axel Kohlmeyer (Temple U), PR #2476 - Bugfixes in USER-MESONT, Maxim Shugaev (UVA), PR #2464
- Fix memory bug in Kokkos KISS FFT, which led to crashes, Stan Moore (SNL), PR #2482
- Separate cut planes by neigh skin for balance shift, Steve Plimpton (SNL), PR #2492
- Patched neighbor history restarts, Joel Clemmer (SNL), PR #2424
- Added missing LAMMPSLIBMPI flag to COUPLE-fortran2 example, PR #2495
- Various fixes and updates for the KIM package, including support for KIM API v2.2.0, Yaser Afshar (UMN), Ryan S. Elliott (UMN), PR #2469, PR #2477, PR #2488
- Updated bundled
fmtlibto version 7.1.3, Axel Kohlmeyer (Temple U), PR #2451, PR #2487 - Kokkos ReaxFF tweaks, Stan Moore (SNL), PR #2485
- Preserve molecule templates when using "replicate", Axel Kohlmeyer (Temple U), PR #2462
- molecule: use user-provided IDs in molecule files, Jacob Gissinger (NASA), PR #2450
- Introduces constants into code base for energy and virial flags, Richard Berger (Temple U), PR #2481
- Added support to the library interface to extract
sublo,subhi,sublo_lambda, andsubhi_lambdaglobals, Richard Berger (Temple U), Axel Kohlmeyer (Temple U), PR #2420 - Added support to the library interface to extract
universe_size,universe_rank,world_size, andworld_ranksettings, Axel Kohlmeyer (Temple U) PR #2420 - Added support to the library interface to extract the
newton_bondandnewton_pairsettings, Axel Kohlmeyer (Temple U), PR #2487 - Added new unit tests, Axel Kohlmeyer (Temple U), Richard Berger (Temple U), PR #2487, PR #2420, PR #2478
- Added support for
-in noneargument so that multi-partition runs can be launched from the library interface without an (initial or dummy) input file, Axel Kohlmeyer (Temple U), PR #2420 - Reset invalid image flags on
read_data, Axel Kohlmeyer (Temple U), Steve Plimpton (SNL), PR #2419 - Bugfix for NEB, Tom D Swinburne (CNRS / Aix-Marseille University), PR #2486
- Bugfixes for bond
react, Jacob Gissinger (NASA), PR #2467 - Update Kokkos library in LAMMPS to v3.2.1, Stan Moore (SNL), PR #2497
- Kokkos EAM tweaks for V100, Stan Moore (SNL), PR #2436
Backward compatibility
- for runs containing
pair spin/exchangeinteractions, older restart files will no longer be compatible - Old restart files may not work if they saved
neighbor/historydata. - fix
bond/react: updates map file section title from 'BondingIDs' to 'InitiatorIDs'. Old section title still works for backward compatibility, with a printed warning that it has been deprecated
- C++
Published by rbberger over 5 years ago
lammps - Stable release 29 October 2020
This stable release corresponds to a significantly larger number of changes than between previous stable releases. There have been over 4000 commits added since the last stable release, while the two previous stable releases have been made after fewer than 2000 commits.
Below is a list of 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
utilsnamespace. Several new additions of such convenience functions - Using
const std::string &insteadchar *orconst char *as function argument in many places to simplify string processing and replacing C style string functions with their equivalent or expanded functionality ofstd::stringmember 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
NULLwithnullptrwhere 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
ctesttool 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 betweenPair::compute()andPair::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 widomfor modeling Widom insertions - New
fix pafito 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/reactin particular RMSD based constraints. - New
fix accelerate/cosandcompute viscosity/cosin USER-MISC as yet another method to compute viscosity. - New
fix momentum/chunkto remove per chunk momentum - New bond style
specialto 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
binary2atomtool to become consistent with current text mode custom dumps - Updates to the user supported
examples/COUPLE/fortranandexamples/COUPLE/fortran2wrappers 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_idswas renamed toreset_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
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 29 October 2019
These are the final changes for the stable release.
Changes since the patch release 22 October 2020: - Bugfixes and updates related to using atom style template. With these changes the atom style becomes usable again and several small improvements were included and until now undetected bugs fixed. The distribution now includes examples demonstrating its use and comparing it to simulating the same system with atom style molecular. Axel Kohlmeyer (Temple U), PR #2447 - Several minor changes, bugfixes, and clarifications to code, documentation and examples (various authors) PR #2442, PR #2444, PR #2445, PR #2448, PR #2452, PR #2453, PR #2455, PR #2456, PR #2460
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 22 October 2020
This is the second release candidate for a new stable release. Please test thoroughly and give feedback, so we can address bugs and issues in the stable release. We are particularly interested in issues with compiling LAMMPS on all kinds of platforms beyond what we usually test on.
Changes since the patch release 9 October 2020:
- Further refactoring of the programmer guide and small clean-ups and corrections for the manual (Steve Plimption, SNL and Richard Berger & Axel Kohlmeyer, Temple U) PR #2418, PR #2425, PR #2429, PR #2433, PR #2437, PR #2439
- A SWIG interface file to build script language wrappers for many languages via the C library interface (Axel Kohlmeyer, Temple U) PR # 2434, PR #2438
- Bugfix to pair styles dpd/tstat/gpu and dpd/gpu so they can be used together with a hybrid pair style (Trung Nguyen, Northwestern U) PR #2402
- Removal of outdated or obsolete files from the distribution #2421
- A few tweaks and improvements to the LAMMPS shell (Axel Kohlmeyer, Temple U) PR #2416, PR #2427
- A few small bugfixes and improvements PR #2418, PR #2427, PR #2432
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 9 October 2020
This is the first release candidate for a new stable release. Please test thoroughly and give feedback, so we can address bugs and issues in the stable release. Since the last stable release the code base has seen some significant modernization and refactoring and also the documentation has been updated and partially reorganized to include more information aimed at developers either writing applications that use LAMMPS as a library or that are working on extending LAMMPS. Because of that we are particularly interested in problems with building LAMMPS on different platforms and formatting issues of the new parts of the manual, or problems building it. Matching singularity container images with tested toolchains have been uploaded to the Singularity container library.
Changes since the patch release 18 September 2020: - New pair style for charge-dipole damping with Tang-Toennies function in the USER-DRUDE package (Kateryna Goloviznina, Zheng Gong, Agilio Padua, ENS de Lyon) PR #2389 - Significant reorganization of parts of the manual related to using LAMMPS with Python and Python with LAMMPS; expansions, corrections, and revisions to the "progammer guide" section of the manual; addition of a Bibliography section that contains references from the entire manual in a single page (Steve Plimpton, SNL, and Axel Kohlmeyer & Richard Berger, Temple U) PR #2398, PR #2412, PR #2413 - New LAMMPS Shell tool (Axel Kohlmeyer, Temple U) PR #2408 - Update to Fortran interface in "example/COUPLE/fortran2" (Karl Hammond, U Missouri) PR #2403 - Various small bugfixes and cleanups (multiple authors) PR #2377, PR #2378, PR #2381, PR #2382, PR #2388, PR #2390, PR #2395, PR #2396, PR #2397, PR #2400, PR #2403, PR #2406, PR #2407, PR #2409, PR #2411
Backward compatibility note:
- Applications using the C library interface that are calling lammps_open() now need to define LAMMPSLIBMPI, so that library.h can also be used in cases where there is no MPI library installed. Also it should be noted, that calling lammps_open_no_mpi() is equivalent to calling lammps_open() with MPICOMMWORLD, so lammps_open() is really only needed when running LAMMPS on a subset of the MPI ranks with a custom communicator created by MPI_Comm_split() as demonstrated in examples/COUPLE/simple/simple.c
- C++
Published by akohlmey over 5 years ago
lammps - Patch release 18 September 2020
This is the last patch release with new features before we will prepare for a stable release due in 2-3 weeks. Please test thoroughly and give feedback, so we can address bugs and issues in the stable release. The code base has seen some significant modernization and refactoring and also the documentation has been updated to include more information aimed at developers either writing applications that use LAMMPS as a library or that are working on extending LAMMPS.
Changes since the patch release 24 August 2020:
- 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 (Thomas Swinburne, CNRS /CINaM Marseille and Mihai-Cosmin Marinica, SRMP/CEA Saclay) PR #1472
- Update of the Kokkos library to version 3.2 (Stand Moore, SNL and the Kokkos developers), PR #2311
- Updates to KOKKOS package to improve usability with the HIP backend for AMD GPUs (Nick Curtis) PR #2371
- Update of the USER-COLVARS package to version 2020-09-17 (Giacomo Fiorin, NIH and other Colvars developers) PR #2356, PR #2376
- Change behavior of fix bond/react to update all charges by default which is the more intuitive behavior. Keywords have been updated to be more intuitive as well (Jake Gissinger, U Colorado) PR #2368
- Update of dump styles in the COMPRESS package to be consistent with recent changes elsewhere, added support for Zstd compression and the option to set the compression level (Richard Berger, Temple U), PR #2331
- Use eigensolver contributed to USER-REACTION package to replace the old "jacobi" function to avoid licensing issues. Implement wrapper functions around templated implementation (Andrew Jewett, Scripps), PR #2347
- Small refactor of fix qeq/reax and its USER-OMP and KOKKOS variants to reduce code replication and allow to add features (Stan Moore, SNL) PR #2354
- Replace the use of the C-style NULL with the C++11 nullptr keyword, where meaningful. (E. Anne Gunn, Sheridan College) PR #2358
- Replace numeric constants in Atom and AtomVec classes by symbolic ones via enumerators (Axel Kohlmeyer, Temple U) PR #2360
- Bugfixes for the GPU package and related CMake/make files (Vsevolod Nikolskiy, HSE University Moscow and Trung Nguyen, Northwestern U), PR #2307, PR #2313, PR #2322, PR #2326
- Bugfix for Langevin thermostatting inside of multiple fix rigid variants (Trung Nguyen, Northwestern U) PR #2367
- Refactoring of the C library interface and the Python wrapper for consistency and maintainability, unit test support for the interfaces, decoration of library functions with Doxygen comments for semi-automatic documentation in the manual (Axel Kohlmeyer and Richard Berger, Temple U) PR #2310, PR #2318, PR #2320, PR #2357, PR #2359, PR #2362
- Update of documentation build system to include Doxygen processing and integration of that output via the "breathe" Sphinx extension inclusion of the Developer Guide in the manual, update and corrections to the CMake support (Axel Kohlmeyer and Richard Berger, Temple U) PR #2309, PR #2312, PR #2327
- Update headers in the documentation of LAMMPS style commands to be more compact and check for missing index entries (Richard Berger, Temple U) PR #2335
- Update the compilation related documentation to use the sphinx-tabs extension (in HTML mode only) to make it more compact (Axel Kohlmeyer, Temple U) PR #2348
- Revised internal and external links in the documentation (Matt Mansell and others) PR #2341
- Move more convenience functions from classes to the utils namespace, update the code to consistently use the new versions and remove the old, update the manual to include the documentation of those APIs into the developer guide (Axel Kohlmeyer, Temple U) PR #2319, PR #2349
- Start of a new (and "official") Fortran library interface and corresponding sphinx API documentation in the programmer guide plus unit tests for implemented APIs (Axel Kohlmeyer, Temple U) PR #2325
- Update include file conventions and update lists of include files accordingly, add make iwyu target to run the include-what-you-use tool (Axel Kohlmeyer, Temple U) PR #2338
- Make internal memory usage reporting consistently use the same data type (Axel Kohlmeyer, Temple U) PR #2363
- Add support to call resetmolids internally from fix bond/react (Jake Gissinger, U Colorado), PR #2240
- Add RMSD based constraint to fix bond/react (Jake Gissinger, U Collorado, and Andrew Jewett, Scripps, and Yuya Kurebayashi, Tohoku U) PR #2314
- Refactor of USER-BOCS code to fix memory leaks and memory access issues (E. Anne Gunn, Sheridan College) PR #2274
- Implementation of force history for Mindlin variants of the granular pair style (Jibril B. Coulibaly, Northwestern U), PR #2196
- Updated singularity container description files to better support the upcoming stable release (Richard Berger, Temple U) PR #2340
- Various small updates and corrections (multiple authors) PR #2315, PR #2317, PR #2336, PR #2344, PR #2353, PR #2364, PR #2366, PR #2373, PR #2369, PR #2375
Backward compatibility notice:
- The default behavior of fix bond/react about how charges are updated is changed and the related keyword is renamed.
- The LAMMPS C library interface has some modifications that are supposed to be backward compatible. The use of a void ** argument to lammps_open() and similar functions is deprecated and the void * return value should be used instead. Also it implements some symbolic constants that should replace the explicit numbers from previous revisions of the API (the values are unchanged).
- The LAMMPS python module follows the changes of the C library interface. Data types and dimensions for "extract" functions are queried from the LAMMPS library and automatically applied, but the old style methods setting the data types explicitly should still work for the time being.
- When using CMake and compiling with the KOKKOS package enabled, the CMakeCache.txt file needs to be removed due to deprecation of variables in the updated Kokkos library CMake scripts
- C++
Published by akohlmey almost 6 years ago
lammps - Patch release 24 August 2020
This is a minor update to patch release 21 August 2020. It contains only bugfixes and updates to the documentation: - Configuration tweaks to the updated theme for the HTML version of the LAMMPS manual that massively reduces the size of the generated files (Richard Berger, Temple U) PR #2299 - More unit tests and fixes for issues discovered through them (Axel Kohlmeyer, Temple U), PR #2304 - Updates for more consistent typesetting of subsection headers in the manual (Axel Kohlmeyer, Temple U) PR #2302 - Bugfix for off-by-one errors in the update binary2atom tool (Richard Berger, Temple U) PR #2303
- C++
Published by akohlmey almost 6 years ago
lammps - Patch release 21 August 2020
Changes since the patch release 21 July 2020:
- New bond style "special" providing an alternate mechanism to what the "special_bonds" command does. With this one can also handle 1-5, 1-6 and beyond exclusions or scaling factors. (David Nicholson, MIT) PR #1865
- New fix style "momentum/chunk" to allow per-chunk removal of center of mass and/or angular momentum (Jiang Xiao, Hong Kong Polytechnic U) PR #2295
- Update of {fmtlib} to version 7.0.2, also change its internal ABI to avoid clashes with other uses of that library (Richard Berger, Temple U), PR #2276
- Update tools/phonon with current release from its github repo (Ling-Ti Kong, Shanghai Jiao Tong U) PR #2258
- Updates and bugfixes to tiled communication style to make it work with triclinic cells including load balancing support and support for multi-cutoff communication and the PPPM KSpace styles (Adrian Diaz, U Florida and Steve Plimpton, SNL) PR #1296, PR #1426, PR #2259, PR #2280
- Performance optimizations for the KOKKOS version of SNAP (Evan Weinberg, NVIDIA) PR #2286
- Update of KOKKOS package to support the HIP Kokkos backend for AMD GPUs (Stan Moore, SNL) PR #2275
- Additional unit test input decks for pair and kspace styles and fixes for bugs detected by the tests (Abhishek Shandilya, RPI and Axel Kohlmeyer, Temple U) PR #2265, PR #2267, PR #2270, PR #2271, PR #2273, PR #2282, PR #2283, PR #2297
- New unit test tools for lattice and region commands as well as fixes and a first collection of test inputs for the latter (Axel Kohlmeyer, Temple U) PR #2284, PR #2287
- Refactor value parsing in various parts of LAMMPS and update binary dump styles and binary2atom to be consistent with current text mode atom and custom dump styles. Unittests for dump related commands (Richard Berger, Temple U) PR #2136
- Refactor file parsing in fix ttm and fix ttm/mod (Axel Kohlmeyer, Temple U) PR #2264
- Updates to documentation theme files, Windows subsystem for Linux Howto, and refactoring to reduce redundant text as well as splitting overfull pages (Richard Berger, Temple U) PR #2246, PR #2247, PR #2248, PR #2250
- Various small updates and corrections (multiple authors) PR #2107, PR #2252, PR #2253 , PR #2254, PR #2255, PR #2256, PR #2260, PR #2263, PR #2266, PR #2278, PR #2279, PR #2281, PR #2285, PR #2289, PR #2291, PR #2292, PR #2293, PR #2298
Backward compatibility notice: - 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. - Fixes temp/berendsen, temp/csvr, temp/csld, temp/rescale, fix spring/chunk and fix spring/rg now store their state in binary restart files
- C++
Published by akohlmey almost 6 years ago
lammps - Patch release 21 July 2020
Changes since the patch release 30 June 2020:
- New compute style mliap for MLIAP package (Aidan Thompson, SNL) PR #2211, PR #2228
- New fix style bond/create/angle for the MC package that restricts which bonds are created by the angle formed (Oliver Henrich, Strathclyde U), PR #2206
- New command reset_mol_ids that will reassign molecule IDs based on topology data. This can be applied to the entire system or a subset. (Steve Plimpton SNL, Jake Gissinger U Colorado, Axel Kohlmeyer Temple U) PR #2218
- Bugfixes and cleanups for several manybody styles in the GPU package which were giving inconsistent results for potential files with multiple elements (Trung Nguyen, Northwestern U), PR #2216
- New fix style widom to model Widom insertions based on fix gcmc for MC package (Evangelos Voyiatzis, Royal DSM) PR #2230
- Add feature to compute chunk/atom to return the number of chunks in scalar context (Axel Kohlmeyer, Temple U) PR #2212
- Add support for writing complete data files for atom styles ellipsoid, line, tri, and body (Steve Plimpton, SNL and Axel Kohlmeyer, Temple U PR #2219
- Add more unit tests and test inputs for commands, atom styles, pair styles, and kspace styles and change the reference output generator code to output forces sorted by atom ID (Axel Kohlmeyer, Temple U) PR #2205, PR #2214, PR #2234
- Add pair style hybrid support for the KOKKOS version of the ReaxFF implementation (Stan Moore, SNL) PR #2231, PR #2236
- Some refactoring in the KIM package to follow coding guidelines more closely and take advantage of C++11 and utility functions in LAMMPS (Yaser Afshar, UMN and Axel Kohlmeyer, Temple U) PR #2238
- Documentation refactoring that splits overloaded pages into multiple pages (Richard Berger, Temple U) PR #2204
- Various small updates and corrections (multiple authors) PR #2202, PR #2203 , PR #2205, PR #2210, PR #2220, PR #2226, PR #2227, PR #2229, PR #2237, PR #2239, PR #2241
Backward compatibility notices:
- The shape parameters for ellipsoids are now output as diameters as documented. Previously it were radii so now their values are doubled.
- The reset_ids command has been renamed to reset_atom_ids
- The semantics of the compute fragment/atom have been changed due to significant performance optimizations. Please review the documentation for details.
- C++
Published by akohlmey almost 6 years ago
lammps - Patch release 30 June 2020
Changes since the patch release 15 June 2020:
- New MLIAP package providing a general framework for adding machine-learning based interatomic potentials to LAMMPS with SNAP as reference implementation (Aidan Thompson, SNL) PR #2174
- Add option for chemical specificity to SNAP potentials (Aidan Thompson, SNL and Charles Sievers, UC Davis) PR #1971, PR #2168
- GPU optimization for SNAP support in KOKKOS (Evan Weinberg, NVIDIA) PR #2172
- Bugfix for computing virial with GPU accelerated TIP4P when energy is not tallied (Vsevolod Nikolskiy, HSE University Moscow) PR #2187
- Update build system for the GPU package to be compatible with AMD ROCm 3.5 (Vsevolod Nikolskiy, HSE University Moscow) PR #2167
- Flip the sign for spherical harmonic for odd values of "m" with compute orient/order to be consistent with standard conventions . Output remains unchanged. (Aidan Thompson, SNL) PR #2171
- Updates to the dynamical matrix examples and scripts (Charles Sievers, UC Davis) PR #2179
- Implement a feature to transparently convert potential parameters for selected manybody and tabulated potentials from metal to real units or vice versa, if the potential file has a UNITS: tag. This extends the functionality of PR #2159 (Axel Kohlmeyer, Temple U) PR #2183, PR #2198
- Updates for existing tests and new tests in the unittest tree, bugfixes for issues detected by tests (Axel Kohlmeyer, Temple U) PR #2182
- Simplify creation of fixes and computes by adding an overloaded convenience function for Modify::add_fix() and Modify::add_compute() that allows creating a fix from a single string instead of having to provide a list of strings and the length of that list. (Axel Kohlmeyer, Temple U) PR #2191, PR #2199, support for Group::assign (Jake Gissinger, CU Boulder) PR #2195
- Continuing refactoring of output formatting and string handling using fmtlib, std::string and convenience functions in the utils namespace (Axel Kohlmeyer, Temple U) PR #2190, PR #2201
- Various small updates and corrections (various authors) PR #2162, PR #2163, PR #2169, PR #2180, PR #2181, PR #2097, PR #2188, PR #2189, PR #2192, PR #2197
Backward compatibility notices:
- the rotate option of create_atoms was incorrectly using radians instead of degrees (as stated in the documentation) due to a missing conversion. This patch implements the conversion from degrees to radians and thus all previous inputs using this option will produce different results.
- C++
Published by akohlmey about 6 years ago
lammps - Patch release 15 June 2020
Please note that this release contains several important bugfixes for recent refactoring changes included in the 2 June 2020 version. The 2 June 2020 version should not be used anymore and replaced with this version.
Changes since the patch release 2 June 2020:
- Bugfixes for readdata and readrestart that were introduced during the recent refactoring of the AtomVec class. Additional bugfixes for case of using many fixes that store per-atom data, broken KIM package compilation, and a few minor issues. updates for some singularity definition files. (Axel Kohlmeyer, Temple U) PR #2132
- New package USER-MESONT that adds the tubular potential model (TPM). This consist of a Fortran library, a pairstyle and compute, and tools for generating force field files. Pair style mesocnt, which implements the same model in C++-only has been moved from USER-MISC to this package (Maxim V. Shugaev & Leonid V. Zhigilei, University of Virginia, Alexey N. Volkov, University of Alabama) PR #1873
- New fix orient/eco to add an "energy conserving orientation" force, which is a superset of what fix orient/fcc and fix orient/bcc do. (Adrian Schratt and Volker Mohles, Ruhr-Uni Bochum)) PR #2126
- Update to Nose-Hoover barostats to allow setting a barostat temperature if there is no temperature compute already included (Joel Clemmer, Ishan Srivastava, SNL) PR #2137
- Document access to contact information for fix wall/gran and fix wall/gran/region and fix some issue with not deleting "expired" contacts (Richard Berger, Temple U) PR #2121
- Remove extra large (potential) files from the distribution and instead download them on demand from downloads.lammps.org when the corresponding package is installed/configured. Apply to pair style mesocnt as first case (Axel Kohlmeyer, Temple U) PR #2139
- Add a "UNITS:" metadata tag to (most) potential files in the potentials folder and code to file readers to check for these tags and report and error if there is a mismatch. Table files generated by `pairwriteandbondwritewill add these as the first line when a file is newly created and all subsequent attempts to append a table will check for consistent units or error out (Axel Kohlmeyer, Temple U) #2159
- Add a sort option to theresetidscommand to obtain consistent atom ids in parallel regardless of the number of MPI ranks (Steve Plimpton, SNL) PR #2142
- Continued refactoring of string handling and output formatting by increasing the use of {fmt} and std::string, (Axel Kohlmeyer, Temple U) PR #2127, PR #2128, PR #2148
- Continued refactoring and optimization of file readers to increase code reuse and become thread safe (Richard Berger, Temple U) PR #2122, PR #2144
- Consolidateunion ubuf` definitions in lmptype.h header file instead of individual classes (Axel Kohlmeyer, Temple U) PR #2151
- More tests and unittest updates (Axel Kohlmeyer, Temple U) PR #2123
- Add clang-format support to the C++ sources in the unittest tree (Richard Berger and Axel Kohlmeyer, Temple U) PR #2157
- Utilities to check and correct files in the distribution for whitespace and permission issues (Richard Berger, Temple U) PR #2154
- Various small updates and corrections (various authors) PR #2121, PR #2124, PR #2129, PR #2133, PR #2135, PR #2140, PR #2141, PR #2143, PR #2147, PR #2149, PR #2152, PR #2155, PR #2156, PR #2160, PR #2161
Backward compatibility notices:
- People that want to use the mesocnt pair style now need to install the USER-MESONT package instead of USER-MISC
- The potential file C1010.mesocnt has been removed from the distribution due to its size. It will be downloaded automatically when the USER-MESONT package is installed for the first time.
- C++
Published by akohlmey about 6 years ago
lammps - Patch release 2 June 2020
Changes since the patch release 5 May 2020:
- Support for building neighbor lists on the GPU with triclinic boxes in the GPU package (Trung Nguyen, Northwestern U) PR #2073
- Major refactoring of AtomVec classes in order to simplify adding such classes in the future. (Steve Plimpton, Stan Moore, SNL) PR #1788 , PR #2080, PR #2092
- Add new thread-safe and simpler to use tokenizer and word counter classes. Apply to file readers for manybody potentials and several other places. Richard Berger (Temple U) PR #2113
- Integrate {fmt} to generate printf() style formatted C++ strings and thus make generating those less complex and safer. Also add utils::logmesg() convenience function to send string to both, screen and logfile, with one call. Axel Kohlmeyer (Temple U), PR #2103
- Add the first step of a comprehensive integrated unittest library with support for testing a selection of pair, bond, and angle styles under various conditions and with multiple uses. (Axel Kohlmeyer and Richard Berger, Temple U) PR #2098 , PR #2100, PR #2101, PR #2108 , PR #2114, PR #2119
- Add support for molecule fragments to fix bond/react (Jake Gissinger, CU Bolder), PR #2106
- Partial cleanup of makefiles for conventional build (Mike Brown, Intel Corp), PR #2071
- Update of Kokkos library to version 3.1.1 (Christoph Junghans, LANL and the Kokkos developers) PR #2070
- Update default version of LATTE to 1.2.2 (Christoph Junghans, LANL) PR #2069
- More tweaks and updates to CMake scripts (Christoph Junghans, LANL), PR #2068, PR #2069
- Various small updates and corrections (various authors) PR #2074, PR #2077, PR #2080, PR #2082, PR #2091, PR #2093, PR #2094, PR #2095, PR #2105, PR #2110, PR #2111, PR #2116, PR #2118
Backward compatibility notices: - The refactoring of the AtomVec classes could possibly break any external packages that provide their own AtomVec classes or contain styles that depend on the name of per-atom properties that were renamed. All AtomVec derived classes bundled within LAMMPS have been updated. - The refactored reading and parsing of potential files will now be reporting an error on Fortran-style double precision floating-point numbers with a "d" exponent instead of silently ignoring the "d" and the exponent. Potential files bundled with LAMMPS have been corrected (their exponent was "d0", so it does - by chance - not affect any results). - The (unsupported) previous library of simple run tests for LAMMPS has been replaced by a more systematic and comprehensive unit test library which will be significantly expanded over time.
- C++
Published by akohlmey about 6 years ago
lammps - Patch release 5 May 2020
Changes since the patch release 15 April 2020:
- update of the bundled Kokkos library to version 3.1 (Stan Moore and the Kokkos developers, SNL) PR #2004, PR #2054
- new Kokkos styles compute orientorder/atom and coord/atom and some related bugfixes/improvements (Stan Moore, SNL) PR #1895, PR #1902, PR #1906, PR #2033
- new
fix accelerate/cosandcompute viscosity/cosin USER-MISC as yet another method to compute viscosity (Zheng Gong, École normale supérieure de Lyon) PR #2019 - update of the polymorphic pair style with bug fixes and a new feature (Xiaoweng Zhou, SNL) PR #2000
- added option to create a dummy fix as a placeholder early in an input to guarantee placement at the top of the list of fixes. (Steve Plimpton, SNL) PR #1760
- update to fix bond/react to allow using equal style variables a probability input (Wolfgang Verestek, U Stuttgart) PR #2013
- small update to internal commands in kim_interactions to improve KIM simulator model handling (Ronald Miller Carleton U, Ryan S. Elliott U Minn), PR #2014
- many small fixes and updates to source code (mainly for the KOKKOS package), cmake scripts, and documentation to address issues with recent changes and minor long-standing issues. (multiple authors) PR #2003, PR #2006, PR #2010, PR #2015, PR #2022, PR #2023, PR #2026, PR #2027, PR #2030, PR #2032, PR #2035, PR #2036, PR #2041, PR #2043, PR #2044, PR #2045, PR #2046, PR #2047, PR #2048, PR #2049, PR #2051, PR #2053, PR #2055
Backward compatibility notices: - no known issues
- C++
Published by akohlmey about 6 years ago
lammps - Patch release 15 April 2020
Changes since the patch release 19 March 2020:
- new HIP backend to the GPU package enabling to use AMD GPUs natively through the ROCm toolkit (Evgeny Kuznetsov, Vladimir Stegailov, Vsevolod Nikolskiy, National Research University Higher School of Economics, Russia) PR #1863
- update of included Kokkos library to version 3.0 (Stan Moore and the Kokkos developers, SNL) PR #1870, PR #1968, PR #1969, PR #1974, PR #1986
- more optimizations to the KOKKOS version of the SNAP code (Evan Weinberg, Nvidia and Stan Moore SNL) PR #1958
- bugfixes and improvements for the SPIN package and computing of the norm in minimizers, also documentation corrections for the latter (Julien Tranchida, SNL) PR #1967
- major refactoring of CMake support to take advantage of features of newer ,CMake versions now that we require at least version 3.10 (Christoph Junghans, LANL) PR #1956 , PR #1983, PR #1995, PR #1996
- simplification of the process to build LAMMPS. Always build a library and link the executable to the library. That reduces the choices to "static" and "shared" with "static" as default (like before). Add tutorials for creating stack traces with gdb or valgrind and for using CMake (Axel Kohlmeyer, Temple U) PR #1981
- improved error messages and related documentation for USER-MEAMC (Sebastian Huetter, OvGuericke U) PR #1965
- extensions to fix restrain to allow for a growing or shrinking bond restraint, and a new lower bound only bond restraint with the same option (David Castillo and Marco Di Stefano, Structural Genomics Group, CNAG-CRG) PR #1957
- new kim_property command in the KIM package (Yaser Afshar, Ellad Tadmor, Daniel S. Karls, Ryan Elliott , UMN) PR #1946
- internal KIM command for matching symbolic to numeric atom types (Ron Miller, Carleton U and
Ryan S. Elliott, UMN) PR #1999
- use preprocessor macros to enable compatibility of OpenMP directives with otherwise incompatible OpenMP 3.x and OpenMP 4.x and later const variable sharing semantics (Michael Lamparski) PR #1651
- new functions in Info class and library interface to query installed styles (Richard Berger, Temple U) PR #1966
- added extract methods to several bond styles for use with fix adapt (Evangelos Voyiatzis, NovaMechanics Ltd) PR #1973
- refactored and generalized the way how LAMMPS detects how multiple fixes change box data and whether there are conflicts. (Axel Kohlmeyer, Temple U) PR #1874
- core-shell version of pair style lj/class2/coul/long (Evangelos Voyiatzis, NovaMechanics Ltd) PR #1978
- added support for apply scale in fix adapt to diameter and charge, diameter/disc option for mass changes consistent with 2d systems (Jibril B. Coulibaly, Northwestern U) PR #1937
- updated and additional singularity container definition files for developing/debugging LAMMPS (Richard Berger, Temple U) PR #1975
- small fixes and updates to code and documentation (multiple authors) PR #1952, PR #1962, PR #1979 , PR #1988, PR #1992, PR #1993, PR #1998, PR #1889, PR #1997, PR #1994
Backward compatibility notice:
- Kokkos 3.0 changes some of its internal CMake variables and how it is configured via CMake. This is handled transparently with the conventional make build, but requires changes for CMake builds and is not compatible with existing build folders.
- Custom makefiles for the conventional build need to be changed. All bundled makefiles have been updated. The changes are in the section that is not supposed to be customized, so updates should be straightforward.
- In the conventional make build procedure there are now only two build modes mode=static (the default) and mode=shared. The previous choices are still available and mapped to one of them (i.e. mode=exe and mode=lib will set mode=static, and mode=shexe and mode=shlib will set mode=shared).
- C++
Published by akohlmey about 6 years ago
lammps - Patch release 19 March 2020
Changes since the release 3 March 2020:
- Update USER-COLVARS package to version 2020-02-27 (Giacomo Fiorin, Temple U) PR #1909
- Move fix bond/react into its own package, USER-REACTION (Jake Gissinger CU Boulder) PR #1822
- Update the molecule command to add support for setting molecule IDs and grouping atoms into fragments (Jake Gissinger CU Boulder) PR #1913
- Optimizations for the KOKKOS version of SNAP (Evan Weinberg, NVIDIA) PR #1922
- New pair styles with smeared coulomb charge interactions (coul/slater) (Evangelos Voyiatzis,Royal DSM) PR #1883
- New fix numdiff command to compute derivatives of per-atom data numerically from finite differences (Charles Sievers, UC Davis) PR #1891
- Require C++11 and CMake 3.10, simplify some CMake settings and remove checks for pre-C++11 compilers (Axel Kohlmeyer and Giacomo Fiorin, Temple U) PR #1915, PR #1930
- Improved CMake support for the "ninja" build tool (Christoph Junghans, LANL) PR #1940
- Improved CMake support for cross-compiling LAMMPS for Windows on Linux (Axel Kohlmeyer, Temple U) PR #1949 , PR #1950
- Avoid a clash between the KOKKOS and GPU package with -DCUDPP_OPT=on (default setting) (Axel Kohlmeyer, Temple U) PR #1918
- Changes to the binary restart file format, so that incomplete restart files can be detected. Also an option to fix halt to monitor file systems for available free space (Axel Kohlmeyer, Temple U) PR #1862
- Validate coordinate data when reading data files (Axel Kohlmeyer, Temple U) PR #1945
- Rename package USER-MESO to USER-MESODPD (Axel Kohlmeyer, Temple U) PR #1924
- Major documentation cleanup that removes artifacts from txt2rst processing, updates many external URLs, improves syntax highlighting settings, and uses more consistent typesetting for examples and throughout the text. USER-ATC documentation is now in rst format, too. (Axel Kohlmeyer and Richard Berger, Temple U) PR #1926, PR #1932, PR #1936, PR #1938, PR #1939 , PR #1948, PR #1945
- Various tweaks, bugfixes, and small updates (multiple authors) PR #1918 , PR #1923 , PR #1920 , PR #1928, PR #1929 , PR #1930, PR #1940, PR #1945
Backward compatibility note:
- As of this release LAMMPS requires a C++11 compatible compiler
- Building LAMMPS with CMake now requires CMake version 3.10 or later
- The USER-MESO package was renamed to USER-MESODPD. All styles included in the package have retained their names
- read_data will now stop with an error on invalid coordinates or image flag data (instead of using a 0) and on non-zero image flags for z in 2d-systems
- C++
Published by akohlmey over 6 years ago
lammps - Stable release 3 March 2020
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_modifyoptions to embedITEM: UNITSandITEM: TIMEwith 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
hmafor fast, high-precision computation of certain thermodynamic properties of solids - new compute style
centroid/stress/atomfor computing per atom stress in a way allowing for more accurate heat flux computations with interactions involving more than two atoms - new
third_ordercommand, a companion command todynamical_matrix, for computing the third order force tensor from finite differences - new options
ratioandsubsetforcreate_atomsand similarly new optionstype/ratioandtype/subsetto thesetcommand - 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
cgandquadratic), 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
snapfor training SNAP potentials - bugfixes and improvements to the KIM package, new command
kim_paramfor 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 rigidvariants to add gravity to rigid objects with overlapping (granular) particles - support for
rerunandread_dumpwith 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 evaporateorcreate_atoms randomwill not match with previous versions of LAMMPS. see PR #1569 - the
gjfkeyword forfix langevinno longer supports the optionyes. Instead you have to use eithervhalforvfull - 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
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 3 March 2020
This patch contains only a few updates to the documentation ( PR #1910 ) and a CMake tweak ( PR #1912 ) to make it a stable release.
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 27 February 2020
This is the second release candidate for the Winter 2019/2020 stable release of LAMMPS.
Changes since the patch release 18 February 2020:
- Further refactoring of the manual with significant corrections and updates to the introductory, build, and package sections. Also, all remaining mathematical expressions typeset in LaTeX and included as pictures are now included as embedded math and will be rendered as needed during the creation of the documentation in either HTML or PDF or ePUB format. The embedded math in the HTML pages can now be viewed without internet access. Fixes to the embedded math to avoid errors with ePUB format output. Various updates and fixes to build procedures for USER-QMMM. (Axel Kohlmeyer and Richard Berger, Temple U) PR #1888 and PR #1903
- Updates to QM/MM compilation with Quantum Espresso version 6.3 and higher (Mariella Ippolito, CINECA) PR #1886
- bugfix for a race condition in temper commands in combination with timer timeout (Stephen Farr, University of Cambridge) PR #1892
- remove conditional C++11 check for stable release. will become an unconditional check after the release. (Axel Kohlmeyer, Temple U) PR #1885
- avoid divergence and energy spikes in in pair style thole of the USER-DRUDE package (Agilio Padua and Kateryna Goloviznina, ENS de Lyon) PR #1899
- new example in the COUPLE folder for dynamically loading LAMMPS as a plugin into a C code (Axel Kohlmeyer, Temple U) PR #1900
- several small bugfixes and updates (various authors) PR #1897 , PR #1893 , PR #1896 , PR #1901 , PR #1894 , PR #1905 , PR #1908
Backward compatibility note: - No known backward compatibility issues
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 18 February 2020
This is a release candidate for the Winter 2019/2020 stable release of LAMMPS.
Changes since the patch release 4 February 2020:
- GPU kernel optimizations for pair style lj/cut/tip4p/long/gpu (Vsevolod Nikolskiy, HSE Univ. Moscow) PR #1876
- Various small updates and bugfixes (multiple authors) PR #1875, PR #1877, PR #1882
- Update of USER-PLUMED to support Plumed 2.6 (Axel Kohlmeyer, Temple U) PR #1879
- Further refactoring of the manual by converting external math expressions to be embedded math in .rst files (Axel Kohlmeyer and Richard Berger, Temple U) PR #1869
Backward compatibility note: - No known backward compatibility issues
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 4 February 2020
Changes since the patch release 24 January 2020: - Improved version of the FIRE minimizer option with better convergence and more options to adapt its behavior (Julien Guénolé, RWTH Aachen and Erik Bitzek, FAU Erlangen-Nuernberg) PR #1052 - Update Colvars library to version 2020-01-27 (Giacomo Fiorin and multiple Contributors to the Colvars project) PR #1859 - new SNAP potential parameter files for single element systems containing Cu, Ge, Li, Mo, Ni, or Si (Yunxing Zuo, UCSD) PR #1866 - Support threaded FFTs with MKL and refactoring of FFT support in KOKKOS (Axel Kohlmeyer, Temple U and Stan Moore, SNL) PR #1858 - remove all legacy documentation sources. From now on writing reStructuredText is the only option. The txt2rst tool remains available, though. (Axel Kohlmeyer, Temple U), PR #1855 - add support to run NWChem along with LAMMPS in client/server mode (Jeff Boschen, Iowa State) PR #1703 - various small changes, bugfixes and tweaks (multiple authors), PR #1857, PR #1860 - cleanup of the ReStructuredText source for the manual, convert more .tex file to embedded math, and corrections for issues due to inconsistencies in the conversion from the original txt2html markup or due to undetected errors in the original txt2html sources. (Axel Kohlmeyer, Temple U), PR #1861, PR #1864, PR #1867
Backward compatibility notice:
- the FIRE minimizer (min_style fire) has been replaced with an improved version. The original implementation remains available as fire/old.
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 24 January 2020
Changes since the patch release 9 January 2020:
* new pair style mesocnt for mesoscopic modeling of (carbon) nanotubes (Philipp Kloza, U Cambridge), PR #1841
* new fix npt/cauchy for improved handling of variable cells with large deformation (Ronald Miller, Carlton U, Fabio Pavia, and Subrahmanyam Pattamatta, UMN) PR #1096
* new fix propel/self for self-propelling particles (Stefan Paquay, Brandeis U) PR #1847
* new fix wall/reflect/stochastic for multiple variants of stochastic reflecting walls (Quy-Dong To, Université Paris Est Marne la Vallée), PR #1691 , PR #1838
* added support for threaded FFTW3 in all versions of pppm and support for using cuFFT or KISSFFT on the GPU with KOKKOS when CUDA is enabled (Stan Moore (SNL), Sam Mish (U.C. Davis)), PR #1520
* new orient option to fix deposit (Tongtong Shen), PR #1685
* new quit option to message command for client/server coupling with the MESSAGE package (Steve Plimption, SNL), PR #1835
* new examples for using rerun and read_dump (Steve Plimpton, SNL) PR #1829
* new options ratio and subset for create_atoms plus type/ratio and type/subset for set to populate an exact ratio or exact number of lattice points of atoms when creating atoms or change the atom type with set. This also includes a significant performance improvement when creating a very large number of atoms with create_atoms (Jake Gissinger, UC Boulder and Steve Plimpton, SNL), PR #603
* add support for read_dump and rerun to USER-ADIOS package (Norbert Podhorszki, ORNL) PR #1820
* updated ILP potential files and new files for bulk systems, improve energy conservation of ILP pair styles with dangling bonds (Wengen Ouyang, Tel Aviv U) PR #1843
* disallow pair_modify pair special for styles from the GPU and USER-INTEL package (Axel Kohlmeyer, Temple U) PR #1834
* fix a logic error in reading potential files for pair style bop and updates to the potential files that were missing data. (Don Ward, SNL and Axel Kohlmeyer, Temple U) PR #1831
* added tool to check consistency of lists of command styles in documentation (Axel Kohlmeyer, Temple U) PR #1832
* various small code updates, improvements, and bug fixes (multiple authors) PR #1811, PR #1830, PR #1833, PR #1836, PR #1837, PR #1845, PR #1848, PR #1850, PR #1852, PR #1853, PR #1857
* various updates to documentation, examples, readme files (multiple authors) PR #1828, PR #1837
Backward compatibility notice: * no known backward compatibility issues
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 9 January 2020
Changes since the patch release 20 November 2019: - More flexible handling of certificates in KIM package (Yaser Afshar, UMN) PR #1794 - Expose LAMMPS neighbor lists to the library interface and to the Python wrapper (Richard Berger, Temple U) PR #1674 - Addition of oxRNA2 model for RNA to the USER-CGDNA package (Oliver Henrich, Strathclyde U) PR #1772 , PR #1804 , PR #1812 - New compute snap command to support training SNAP package potentials (Aidan Thompson, SNL) PR #1779 , PR #1796 - New pair style lj/cut/tip4p/long/gpu for the GPU package (Vsevolod Nikolskiy, Vladimir Stegailov, Higher School of Economics, Moscow) PR #1776 - Build the documentation directly from .rst files. Various updates to the process and integration of formula as direct rendered graphics via MathJAX (Richard Berger, Temple U) PR #1786 - Updates, bugfixes, and new examples for the SPIN packages (Julien Tranchida, SNL) PR #1771 - Multiple updates and bugfixes to the USER-INTEL package (Mike Brown, Intel Corp. and Axel Kohlmeyer Temple U), PR #1813 - Detect parallel NetCDF when building with CMake (Johannes Hörmann, Uni Freiburg) PR #1819 - Updates and fixes to the GPU package including some memory leak fixes (Trung Nguyen, Northwestern U) PR #1752 , PR #1807 - Updates to the KOKKOS package (Stan Moore, SNL) PR #1803 , PR #1816 - Updates to fix rigid variants to support adding gravity to overlapping extended particles (Dan Bolinteanu and Steve Plimption, SNL) PR #1801 , PR #1823 - Updates, extensions, and improvements to the USER-MEAMC package (Sebastian Huetter, Otto van Guericke U and Sungkwang Mun, MS State U) PR #1798 - Updates and bugfixes to fix bond/react (Jake Gissinger, UC Boulder) PR #1795 - Various small bugfixes and improvements (multiple authors) PR #1784, PR #1787, PR #1792, PR #1802, PR #1806 , PR #1783 , PR #1824 , PR #1817 , PR #1825 - Fixes and updates to the documentation (multiple authors) PR #1789, PR #1787, PR #1800
No known backward compatibility issues.
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 20 November 2019
Changes since the patch release 30 October 2019:
- new command kim_param to access KIM model parameters, (Yaser Afshar and the OpenKIM team at UMN), PR #1745
- new compute style gyration/shape/chunk to compute gyration tensor eigenvalues and shape parameters for chunks, (Evangelos Voiatzis, Royal DSM),PR #1739
- new compute style centroid/stress/atom plus support for collecting the per atom stress in a way that leads to more accurate heat flux computations (Donatas Surblys, Tohoku University), PR #1704, PR #1782
- document installation of pre-compiled LAMMPS binaries via conda (Ryan Elliot, UMN), PR #1768
- Convert documentation to use .rst files as source instead of .txt. Retain .txt and tool to convert to .rst for transition period. Remove legacy documentation tools and makefile targets. (Richard Berger, Temple U and others), PR #1643, PR #1761, PR #1762, PR #1765, PR #1766, PR #1775
- add a min and max limit to the number of particles inserted by fix gcmc (Jared Wood, U of Sydney), PR #1764
- Various small fixes and code improvements (multiple authors), PR #1756, PR #1758, PR #1759, PR #1755, PR #1766, PR #1763, PR #1767, PR #1740, PR #1769
Backward compatibility notice: - Documentation for the LAMMPS manual is now taken directly from .rst files and while the txt2rst converter tool is still available, .txt files will be incrementally removed as changes to the corresponding .rst files are applied that could not have done automatically via the txt2rst converter tool. Changes to the .rst files directly are encouraged and once those are done, the corresponding .txt (if it still exists) will have to be removed as those changes will not be backported.
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 30 October 2019
Changes since patch release 19 September 2019:
- new third_order command, a companion command to dynamical_matrix, that calculates the third order force constant tensor from finite differences, (Charles Sievers, UC Davis), PR #1690
- add angle and Arrhenius constraints to fix bond/react, (Jake Gissinger, UC Boulder), PR #1697, PR #1713, PR #1734
- support quasi-unique base pairing in USER-CGDNA (Oliver Henrich, U of Strathclyde), PR #1730
- update to the Lepton library in the USER-COLVARS package, (Giacomo Fiorin, Temple U), PR #1724
- updates to the gjf option in fix langevin to give access to either half-step or full-step velocities, (Charles Sievers, Niels Gronbech-Jensen, UC Davis), PR #1673, PR #1707, PR #1725
- add missing option to add single impropers with the create_bonds command (Thomas Farmer, ISIS Neutron and Muon Source), PR #1706
- add max_norm option to all minimizers and conjugate gradient and L-BFGS minimizers to the SPIN package. (Aleksei Ivanov, U of Iceland, Julien Tranchida, SNL), PR #1598
- bugfix for pppm/tip4p when using non-orthogonal simulation cells, PR #1719
- bugfix for restarting SPIN package runs and documentation clarification (Julien Tranchida, SNL), PR #1692
- multiple bugfixes and documentation corrections for pair style granular (Jibril B. Coulibaly, Northwestern U), PR #1631
- avoid correlations between multiple runs with random seeds incremented by 1 when using random placement of atoms (Jun-Chieh Wang (Applied Materials), PR #1569
- fix a memory leak in the GPU package when doing multiple run commands in the same input, (Trung Nguyen, Northwestern U), PR #1735
- Optimizations for using SNAP with KOKKOS (Stan Moore, SNL and Rahul Gayatri, NERSC), PR #1693
- new examples folder "UNITS" with examples highlighting how to run inputs for the same system with different unit sets and convert output between different them (Steve Plimpton, SNL), PR #1709
- capture return value of calls to fread by using a wrapper, utils::sfread() and thus enable error reporting on reading restarts, (Axel Kohlmeyer, Temple U/ICTP) PR #1731
- A couple of singularity definition files to build container images for compiling/testing/debugging LAMMPS on different Linux variants, PR #1726, PR #1738
- various small changes, updates, and bugfixes (multiple authors), PR #1701, PR #1699, PR #1716, PR #1714, PR #1727, PR #1728, PR #1733, PR #1732, PR #1746, PR #1750, PR #1744, PR #1751
Backward compatibility notice:
- The gjf keyword for the fix langevin no longer supports yes as an option. Instead you have to use either vhalf or vfull.
- due to changes in the random number generator initializations, results when using fix pour, fix deposit or fix evaporate and when using create_atoms random will not match with previous versions of LAMMPS. see PR #1569
- Building the Colvars library with all features included now requires a C++11 compiler (see http://colvars.github.io/README-c++11.html).
- C++
Published by akohlmey over 6 years ago
lammps - Patch release 19 September 2019
Changes since stable release 7 August 2019:
- new pair style cosine/squared, (Eugen Rozic, UCL), PR #1626
- new pair style local/density for a generalized density dependent potential, (Tanmoy Sanyal, UCSB), PR #1666
- support for minimization with KOKKOS (min_style cg with quadratic line search only), (Stan Moore, SNL) PR #1650
- support for dihedral style harmonic in KOKKOS, (Stan Moore, SNL) PR #1669
- new compute hma for faster or higher precision computation of certain thermodynamic properties of solids, (A Schultz, A Purohit, D Kofke, U Buffalo), PR #1503
- add support for setting fix external callbacks to the library interface with python interface included (Richard Berger, Temple U), PR #1641
- add support for Morse potential to wall fixes (Eugen Rozic, UCL and Axel Kohlmeyer, Temple U), PR #1628, PR #1640
- new tool to post process parallel tempering trajectories, (Tanmoy Sanyal, UCSB), PR #1660
- small updates to the KIM package, (Ryan Elliot, UMN), PR #1625, PR #1632, PR #1638
- more cmake tweaks, (Christoph Junghans, LANL, Richard Berger, Temple U), PR #1633, PR #1644, PR #1634
- granular package bug fixes (Dan Bolinteanu, SNL), PR #1637
- extend compute bond/local to provide access to force components, not just the total force, (Edward Smith, U of Brunel), PR #1667
- bugfix and refactoring of handling of custom computed properties in compute pair/local for hybrid pair styles, (Axel Kohlmeyer, Temple U), PR #1662
- extend compute orientorder/atom to optionally output third order invariants, (Aidan Thompson, SNL), PR #1648, PR #1677
- new SNAP potential for W-Be systems, (Mary Alice Cusentino, SNL), PR #1686
- add dump_modify units yes option to have an 'ITEM: UNITS' entry added at the beginning of LAMMPS native text mode dump files. (Axel Kohlmeyer, Temple U), PR #1672
- small bugfix for fix bond/react and documentation updates, (Jake Gissinger, UC Boulder), PR #1645
- more detailed error messages when using known fix, compute, or variable IDs in variable expressions, (Axel Kohlmeyer, Temple U) PR #1621
- document example of using compute chunk/spread/atom for binning per-chunk computed data, (Steve Plimpton, SNL) PR #1642
- updates and additions to machine specific makefiles for the conventional build system. PR #1654, PR #1661, PR #1653
- tweaks to USER-INTEL code and Makefiles for improved performance and to work around issues with some Intel compilers, (Mike Brown, Intel Corp.) PR #1683
- support direct GPU communication for HPE MPI in KOKKOS (Gabriele Jost, NASA Ames Lab, Stan Moore, SNL), PR #1668
- include preprocessor test to detect non-C++11 compilers with support for define and CMake option to disable it. (Richard Berger, Axel Kohlmeyer, Temple U), PR #1684
- small documentation updates. PR #1664, PR #1681
Backward compatibility notice:
We are phasing out support for C++ compilers that do not support the C++11 standard. For older compilers (e.g. GCC 4.8.x) some 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).
- C++
Published by akohlmey almost 7 years ago
lammps - Stable release 7 August 2019
This is a special edition stable release on occasion of the bi-annual LAMMPS users workshop on August 13-15 2019 in Albuquerque. Below is a list of major changes since the last stable release 5 June 2019:
General changes: - further tweaks, refactoring, and improvements to building LAMMPS with CMake - refactoring of header file handling for improved consistency and removal of cross dependencies - refactoring of include keyword processing to lift some limitations and to enable KIM simulator models (see below)
No new packages
Updates for packages: - major update of the KIM package to use KIM-API v2.1.x with support for Simulator models and new commands to generate variables for transparent unit conversion in input files - optimizations and corrections to the KOKKOS packages, especially when used with CUDA, update of KOKKOS library included in LAMMPS to version 2.9.0 - updates and bugfixes of the USER-COLVARS package bringing it up to version 2019-08-05 - new PPPM and Ewald solvers for electric dipoles and nuclear spins - optimizations and improvements to pair style and computes in the SNAP package - updates, bugfixes and portability improvements for USER-PLUMED package (supports plumed 2.5.2) - update to USER-CGDNA package in preparation of supporting an RNA coarse grain force field - new keyword hybrid/pair for compute pressure - new compute gyration/shape to compute eigenvalues and shape parameters from gyration radius tensor - new compute momentum command
In addition there are many small bug fixes, corrections for memory leaks, and memory management inconsistencies, and other general improvements.
Backward compatibility notices:
- SNAP parameter files that contain the diagonalstyle keyword will generate an error. Solution is to remove the diagonalstyle keyword
- changes in the pair_coeff syntax breaks backward compatibility with inputs using USER-CGDNA. pair style oxdna2/stk has been removed and aliased to oxdna/stk
- restart files using bonded hybrid styles from older LAMMPS versions will not be readable
- the KOKKOS package command keyword gpu/direct was renamed to cuda/aware
- C++
Published by akohlmey almost 7 years ago
lammps - Patch release 7 August 2019
This patch has a couple of last minute changes and bugfixes included after the 6 August 2019 patch release to make the stable version. It includes the pull requests #1620 and #1622
- C++
Published by akohlmey almost 7 years ago
lammps - Patch release 6 August 2019
This patch has only minor corrections and documentation updates to update the 2 August 2019 patch release to a stable version. In particular:
- Update of the CMake documentation and some information about developer features available through CMake, Richard Berger (Temple U) PR #1613, PR #1617
- Some tweaks to CMake and USER-INTEL code to improve Linux to Windows cross-compilation, Axel Kohlmeyer (Temple U) PR #1616
- bugfix which updates the USER-COLVARS package to version 2019-08-05, Giacomo Fiorin (Temple U / NIH) PR #1618
- fix for docs on kim_query command, Ryan Elliot (UMN) PR #1619
- C++
Published by akohlmey almost 7 years ago
lammps - Patch release 2 August 2019
Changes since patch release 19 July 2019:
- Implement native LAMMPS support for KIM simulator models and multiple improvements in the KIM package. Update to KIM API 2.1.x, Ryan Elliot, Ellad Tadmor (UMN) Axel Kohlmeyer (Temple U), PR #1440
- major cleanup of include file ordering and removal/cleanup of how includes are used in headers. Added a file describing the current policy. Axel Kohlmeyer (Temple U), PR #1542, plus related bugfixes PR #1599, PR #1605
- a more robust version of handling the atom exchange data buffer size, Steve Plimpton (SNL), PR #1556
- bugfix in restart handling of bond, angle, dihedral, improper hybrid styles to correctly restart tabulated styles. Axel Kohlmeyer (Temple U), PR #1584
- bugfix for communication issue in a couple of interlayer potentials. reorganization of the corresponding folder with examples, Wengen Ouyang (Tel Aviv U) PR #1606
- bugfixes for USER-COLVARS and update to version 2019-08-01, Giacomo Fiorin (NIH and Temple U) and several collaborators PR #1607
- multiple bugfixes for USER-INTEL package, Mike Brown (Intel Corp.) PR #1610, PR #1608
- multiple bugfixes for code in the KOKKOS package, Stan Moore (SNL), Alfredo Metere (LLNL), Denis Taniguchi (Newcastle U), PR #1580, PR #1587
- various CMake bugfixes and improvements, Axel Kohlmeyer (Temple U), PR #1588, PR #1592, PR #1601
- derive default communication cutoff from bond length based heuristics, if not pair style is active and the cutoff is not explicitly given. warn, if heuristic cutoff is larger than current or when explicitly set cutoff is overridden by pair style based cutoff (which is a hard requirement), Axel Kohlmeyer (Temple U) Steve Plimpton (SNL), PR #1581
- new keyword hybrid/pair for compute pressure, Alain Dequidt Julien Devemy (U Clermond-Ferrand) PR #1511
- new compute gyration/shape to compute eigenvalues and shape parameters from gyration radius tensor. Evangelos Voyiatzis (Royal DSM), PR #1583
- new compute momentum command, Rupert Nash (EPCC), PR #1529
- add support for timer timeout to "temper" commands, Axel Kohlmeyer (Temple U) PR #1604
- multiple minor bugfixes and code or documentation improvements, Adrian Diaz (U Florida) PR #1576 , Jake Gissinger (U Colorado), PR #1548, Michal Kansky (Jagiellonian U) PR #1512, Axel Kohlmeyer (Temple U) PR #1592 #1605, Stan Moore (SNL) PR #1597, Richard Berger (Temple U) PR #1599 Evangelos Voyiatzis (Royal DSM) PR #1611, E. Anne Gunn (Sheridan College) PR #1603
Backward compatibility notice:
- restart files using bonded hybrid styles from older LAMMPS versions will not be readable
- the KOKKOS package command keyword gpu/direct was renamed to cuda/aware
- C++
Published by akohlmey almost 7 years ago
lammps - Patch release 19 July 2019
Changes since patch release 18 June 2019: - optimized version of SNAP potential in KOKKOS package, Rahul Gayatri (NERSC), Stan Moore (SNL), Aidan Thompson (SNL), Sarah Anderson (Cray), Evan Weinberg (NVIDIA): PR #1571, PR #1540 - several fixes for KOKKOS package issues, Stan Moore (SNL): PR #1555, PR #1560, PR #1563 - update KOKKOS library included in LAMMPS to version 2.9.00, Stan Moore (SNL): PR #1546 - change namespace scoping for some code in the GPU library to resolve issues with CLang 7.x and later, Axel Kohlmeyer (Temple U): PR #1564 - improved error detection when parsing various kinds of files, Axel Kohlmeyer (Temple U): PR #1575, PR #1552, PR #1559 - small refactoring for USER-MEAMC to move redundant code to an inline function, optimizations, Sebastian Hütter (OvGU): PR #1551 - refactor handling of nested input file handling and single command execution; this allows to use the include keyword inside of if/then/else and results in the correct order of commands, when LAMMPS commands request reading of include files; limit level of include file nesting, Axel Kohlmeyer (Temple U): PR #1537 - updates for USER-CGDNA package, Oliver Henrich (U Strathclyde): PR #1573 - implementation of inner/middle/outer compute methods for cutoff based r-RESPA in pair style lj/class2/coul/long, Evangelos Voyatzis (Royal DSM): PR #1535 - lots of small bugfixes and improvements to code, docs and cmake configuration scripts, various contributors: PR #1553, PR #1558, PR #1561, PR #1562, PR #1567, PR #1570, PR #1544, PR #1550, PR #1538, PR #1547, PR #1539, PR #1525, PR #1534, PR #1531, PR #1530
Backward compatibility notice: - changes in the pair_coeff syntax breaks backward compatibility with inputs using USER-CGDNA. pair style oxdna2/stk has been removed and aliased to oxdna/stk.
- C++
Published by akohlmey almost 7 years ago
lammps - Patch release 18 June 2019
Changes since patch release 5 June 2019:
- using PLUMED to compute committor with LAMMPS, PR #1516, Gareth Tribello, Queen's U Belfast)
- correctly support hybrid pair styles with computes from the USER-TALLY package, PR #1513 (Axel Kohlmeyer)
- flag computes in USER-TALLY package as not compatible with dynamic groups, PR #1518 (Axel Kohlmeyer)
- performance and reduced memory consumption improvements for pair style snap and related tools, PR #1507 (Aidan Thompson, SNL)
- added logfreq3() function for another variant of generating logarithmic spaced output, PR #1476 (Vishnu V. Krishnan, Tata Institute of Fundamental Research)
- add support for building neighbor lists on the GPU with hybrid pair styles containing some '/gpu' styles, PR #1430 (Trung Nguyen, Northwestern U)
- add PPPM and Ewald solvers for electric dipoles and spins, PR #1469 (Stan Moore & Julien Tranchida, SNL)
- use memmove() instead of memcpy() in some cases where both pointers may be overlapping or identical, PR #1485 (Adrian Diaz, UFL)
- update syntax file and installation instructions for vim, PR #1501 (Vishnu V. Krishnan, Tata Institute of Fundamental Research)
- refactoring of CMake configuration to reduce the size of the master CMakeLists.txt file, PR #1502 (Richard Berger, Temple U)
- optimizations for qeq/reax with KOKKOS on CUDA, PR #1496 (Kamesh Arumugam, NVIDIA)
- add full support for use in hybrid pair styles to pair style extep, PR #1494 (Michał Kański, Jagiellonian U)
- improve warning messages for fix bond/react, PR #1517, (Jake Gissinger, Colorado U, Bolder)
- optimizations of KOKKOS styles for small systems, PR #1422 (Stan Moore, SNL)
- turn off optimization for functions that build "style factories", also turns of variable tracking for GCC 4.4 and later, PR #1492 (Axel Kohlmeyer)
- teach cmake to check for immintrin.h, which is required for USER-INTEL (and thus makes it x86-only), PR #1497 (Christoph Junghans LANL)
- advance message about taking some time to gather package information, so that it does get printed before any time consuming i/o happens, PR #1492 (Axel Kohlmeyer)
- bugfix in variable expansion where new/delete was mixed with malloc()/free(), PR #1504 (Axel Kohlmeyer)
- update to info variable command to support "internal" style variables, PR #1504 (Axel Kohlmeyer)
- small MPI bugfix in bond style table, PR #1506 (Sam Niblett, LBNL)
- sanitize settings for Kspace meshes consistently, PR #1492 (Axel Kohlmeyer)
- documentation typesetting improvements, PR #1492 (Axel Kohlmeyer)
- improve support for Ninja build tool, PR #1518 (Axel Kohlmeyer)
- workaround for ICE with GCC 4.8, PR #1518 (Stan Moore)
Backward compatibility notice: -SNAP param files that contain the diagonalstyle keyword will generate an error. Solution is to remove the diagonalstyle keyword.
- C++
Published by akohlmey about 7 years ago
lammps - Stable release 5 June 2019
Here is a list of major changes since the last stable release 12 December 2018:
General changes:
- further tweaks and improvements to building LAMMPS with CMake.
- improved error messages, e.g. when reading data files or when using optional styles, that are not installed
- generation of the PDF version of the LAMMPS manual with Sphinx and pdflatex instead of txt2html and htmldoc (Evgenii Fetisov, PNNL).
- refactoring of Install.py scripts in the lib folders to use the argparse module
- better checking for style compatibility with suffixed styles
New packages: - USER-YAFF providing styles for force fields using QuickFF used for simulation of MOFs (Steven Vandenbrande, Ghent University) - USER-ADIOS package to provide Exascale compatible I/O support for dump files through the ADIOS v2.x library (Norbert Podhorszki, ORNL)
Updates for packages:
- consolidation of "soft" pair styles in USER-FEP package and addition of CLASS2 pair style variants.
- KOKKOS package bugfixes and enhancements (Stan Moore, SNL)
- new generalized pair style granular (Dan S. Bolintineanu, Ishan Srivastava, Jeremy B. Lechman, SNL)
- new pair style drip for dihedral-angle-corrected registry-dependent interlayer potential (DRIP) (Mingjian Wen, U Minnesota)
- new pair style e3b for adding option to model the E3B water potential (Steven E. Strong, U Chicago)
- new fix style electron/stopping for modeling energy loss through interactions high speed atoms with electrons (K. Avchaciov (Tartu U and U Helsinki) Risto Toijala (University of Helsinki) and others)
- update to USER-COLVARS package to version 2019-04-26
- update of the KIM package to use KIM-API v2.0 (Ryan Elliot, UMN)
- update to USER-INTEL package to enable use of the package with -DLAMMPS_BIGBIG and some other small updates and corrections: (W. Michael Brown, Intel Corp.)
- update to USER-PTM package. examples added, license info updated, documentation updates (Peter Larsen, MIT)
- updates and additions to the SPIN package (Julien Tranchida, SNL)
- updates to hyper-dynamics support (Steve Plimpton, SNL)
- updates, improvements, and bugfixes to fix bond/react (Jake Gissinger, U Colorado)
- bugfix/refactoring of REBO pair style to correctly implement what is advertised in the documentation. Added consistency check on potential files for AIREBO, REBO, AIREBO-M (Cyril Falvo Université Paris Sud)
In addition there are many small bug fixes, corrections for memory leaks, and memory management inconsistencies and general improvements.
Backward compatibility notices:
- as announced with the last stable release, the packages REAX and MEAM are no longer included.
- fixes atom/swap, deposit, and gcmc had incompatible changes to the restart handling, so those fixes cannot be restarted from restart files written by older versions of LAMMPS. If those fixes are not included or not restarted, restart files should remain backward compatible.
- the syntax for pair style kim is changed with the update to KIM-API v2.0
- the syntax of the pair_style snap command has changed by removing a redundant element specifier
- pair style rebo no longer is compatible with the CH.airebo potential file, but now requires its own potential file CH.rebo. Tests are added to all AIREBO derived pair styles, that only compatible potential files are read in.
- the moltemplate package is no longer bundled with LAMMPS. it can be installed with pip or downloaded from www.moltemplate.org
- C++
Published by akohlmey about 7 years ago
lammps - Patch release 5 June 2019
Changes since patch release 31 May 2019: - recover compatibility with CMake version 2.8.12 in CMakeLists.txt. PR #1489 (Axel Kohlmeyer, Temple U) - topology overflow checks added in fix bond/react. PR #1477 (Jake Gissinger, U Colorado) - document removed features in the manual. PR #1488 (Axel Kohlmeyer, Temple U) - corrections for documentation of pair style eb3. PR #1486 (Steven Strong, U Chicago)
- C++
Published by akohlmey about 7 years ago
lammps - Patch release 31 May 2019
Changes since patch release 15 May 2019:
- More meaningful error messages when a style is not found. Now LAMMPS will report, which package an unrecognized style belongs to, and will also notify if a package has been installed, but the style is missing because it depends on another package, which is not installed. PR #1419 (Axel Kohlmeyer)
- Add option to
compute coord/atomto restrict the coordination number by allowing only members of a specific group to be counted. PR #1464 (Axel Kohlmeyer, Temple U) - Do not enable OpenMP (i.e.
BUILD_OMP) by default with gcc 9.x due to incompatibilities in the OpenMP directive semantics. PR #1483 (Axel Kohlmeyer, Temple U) - Updates for restart file processing of fixes
atom/swap,deposit, andgcmc. Now it is checked that the time step was not reset and the number of total MC attempts and successful MC attempts are restarted, too. PR #1484 (Axel Kohlmeyer, Temple U) - Properly and cleanly support pair style hybrid and hybrid/overlay for
pair_style quip. PR #1479 (Axel Kohlmeyer) - Make sure that format style variables (and format suffixes in immediate variables) only use valid conversions. PR #1475 (Axel Kohlmeyer, Temple U)
- Bugfix for KOKKOS pair styles
eam/alloy/kkandeam/fs/kk. PR #1467 (Stan Moore, SNL) - Fix for memory leak in KOKKOS neighbor list creation; PR #1474 (Stan Moore, SNL)
- Update list of examples in manual and
examples/README. PR #1465 (Axel Kohlmeyer, Temple U) - Documentation updates, remove some obsolete content, re-enable Sphinx 2.x for processing of the documentation, and correct some links to packages. PR #1475, PR #1465 (Axel Kohlmeyer, Temple U)
- Avoid segmentation fault on unexpected empty lines in Coeff sections of data files. PR #1465 (Axel Kohlmeyer, Temple U)
Backward compatibility notices:
- Restart files for simulations using fix atom/swap, fix deposit, or fix gcmc are not backward compatible due to changes in the processing of restart files for them. You can still restart the simulation, but you cannot correctly restart the fixes from restart files created with older versions of LAMMPS
- C++
Published by akohlmey about 7 years ago
lammps - Patch release 15 May 2019
Changes since patch release 30 April 2019:
- New pair style drip for dihedral-angle-corrected registry-dependent interlayer potential (DRIP): PR #1453 (Mingjian Wen, U Minnesota)
- New pair style e3b for adding option to model the E3B water potential: PR #1428 (Steven E. Strong, U Chicago)
- Update to USER-COLVARS package to version 2019-04-26: PR #1438 (Giacomo Fiorin on behalf of the colvars project and their contributors)
- correct restart settings, coeff requirements, and element map process for several interlayer potentials so that segmentation faults and incorrect input are avoided: PR #1456 (Axel Kohlmeyer, Temple U)
- bugfix/refactoring of REBO pair style to correctly implement what is advertised in the documentation. Added consistency check on potential files for AIREBO, REBO, AIREBO-M: PR #986, (Cyril Falvo Université Paris Sud) PR #1452 (Axel Kohlmeyer, Temple U)
- update to SPIN package to add cubic anisotropy to fix precession/spin and some documentation cleanups: PR #1457 (Julien Tranchida, SNL)
- update to USER-INTEL package to enable use of the package with -DLAMMPS_BIGBIG and some other small updates and corrections: PR #1458 (W. Michael Brown, Intel Corp.)
- small improvements to cmake for added consistency: PR #1450, PR #1444 (Axel Kohlmeyer, Temple U)
- KOKKOS improvements and fixes: PR #1451, PR #1364 (Stan Moore SNL, Richard Berger U Temple)
- allow to switch thermo output back from variable computed time step to evenly spaced: PR #1446 (Eugen Rožić, UCL)
- add option to use variable computed time steps for fix print: PR #1449 (Axel Kohlmeyer, Temple U)
- documentation updates: PR #1455 (Steve Plimpton, SNL), #1448 (Axel Kohlmeyer, Temple U)
Backward compatibility notices:
- Pair style rebo no longer is compatible with the CH.airebo potential file, but now requires its own potential file CH.rebo. Tests are added to all AIREBO derived pair styles, that only compatible potential files are read in.
- most of the interlayer potential pair styles have now stricter checks as for what pair_coeff syntax and settings are allowed.
- C++
Published by akohlmey about 7 years ago
lammps - Patch release 30 April 2019
Changes since patch release 29 March 2019:
- new fix style electron/stopping for modeling energy loss through interactions high speed atoms with electrons: PR #1399 (K. Avchaciov (Tartu U and U Helsinki) Risto Toijala (University of Helsinki) and others)
- GNEB implementation, fix setforce/spin, and various updates and fixes for SPIN package: PR #1421 PR #1424 (Julien Tranchida, SNL)
- various code maintenance and testing support changes: PR #1400, PR #1402, PR #1435 (Axel Kohlmeyer, Temple U)
- refactoring of USER-INTEL support in CMake to make it work properly and also with other compilers
- update of provided CMake presets removal of those trying to mimic the conventional build and instead provide a "minimal" and "most" choice
- corrections/cleanups for MESSAGE package and support libs to cleanly support a second stub library when not building for MPI
- improved support for building LAMMPS for windows with MinGW64 cross-compilers
- removal of using in several header files
- change to micelle examples for better reproducibility
- updated .gitignore
- cleanups for fewer compiler warnings
- new examples, doc updates and bugfixes for GRANULAR package: PR #1420 (Dan S. Bolintineanu, SNL)
- bugfix for compiling KIM with pre-installed KIM-API: PR #1397 (Ryan Elliot, UMN)
- bugfixes for GPU package compiled with OpenCL and CMake: PR #1436, PR #1437 (Richard Berger, Temple U)
- bugfixes for reax/c pair styles for using multiple instances with pair style hybrid: PR #1434 (Ryan Elliot, UMN)
- bugfix for neighborlist access in selected cases in pair style kim: #1413 via #1409 (Ryan Elliot, UMN)
- replace calls to MPIAbort() in USER-REAXC (and derived classes in KOKKOS and USER-OMP) with calls to error->one() or error->all(), so they can be intercepted, when LAMMPS is compiled with exception handling support: PR #1367 (Michal Kanski, Jagiellonian U)
- cleanups and corrections for compiling LAMMPS with -DLAMMPSBIGBIG: PR #1406 (Axel Kohlmeyer, Temple U)
- support for Plumed 2.5.1 and some bugfixes in Install.py script: PR #1409
- address some 64-bit issues: PR #1405 #1406
- add discussion of COMPASS to BioFF howto: PR #1412 via #1409 (Evangelos Voyiatzis)
- a bunch of changes to make matching of styles more accurate via using utils::strmatch(): #1409
Backward compatibility notices: No known backward compatibility issues.
- C++
Published by akohlmey about 7 years ago
lammps - Patch release 29 March 2019
Changes since patch release 28 February 2019:
- new generalized granular pair style granular, that allows much more flexible parameter settings: #1342 (Dan S. Bolintineanu, Ishan Srivastava, Jeremy B. Lechman, SNL)
- use rendezvous protocol instead of ring communication for some-to-some data exchange: #1384 (Steve Plimption, SNL, Chris Knight, ANL)
- update to hyper-dynamics support: PR #1379 (Steve Plimpton, SNL)
- consolidate clearing of eflag/vflag and related settings in new ev_init() function: #1365 (Sebastian Huetter, OvGU)
- finalize support for write_data in several dihedral styles: PR #1370 (Axel Kohlmeyer, Temple U)
- removal of deprecated KOKKOS code #1363 (Stan Moore, SNL)
- new kim-query command and small corrections in KIM package: PR #1358, PR #1371, PR #1392 (Axel Kohlmeyer, Temple U, Ryan Elliot, UMN)
- embed git branch and revision info for output with '-h' flag and the info command: PR #1357, PR #1376 (Axel Kohlmeyer, Temple U, and Christoph Junghans, LANL)
- bugfixes and extensions (spin minimizer) to the SPIN package: PR #1355, PR #1372, PR #1380 (Julien Tranchida, SNL)
- replace non C++ standard compliant variable length arrays in USER-SMTBQ with compliant code: PR #1356 (Axel Kohlmeyer, Temple U)
- add support for make install-python to CMake and consolidate and clean up several python module installation and documentation related issues: #1375 (Axel Kohlmeyer, Temple U)
- many small bugfixes and updates: PR #1354, PR #1352, PR #1361, PR #1366, PR #1359, PR #1374, PR #1383, PR #1390, PR #1391, PR #1388, PR #1395, PR #1393 (too many people to mention here)
Backward compatibility notices:
- The command line flags for python/install.py have changed, but make install-python works as before
- The KIM package now supports version 2.0.2 of the KIM API library, which uses paths and names incompatible with previous versions. Thus when updating LAMMPS, also the KIM API needs to be updated and LAMMPS newly configured from scratch.
- C++
Published by akohlmey over 7 years ago
lammps - Patch release 28 February 2019
Changes since patch release 8 February 2019:
- Update of the KIM package to use KIM-API v2.0: PR #1011 and PR #1351 (Ryan Elliot, UMN)
- Update to USER-PTM package. examples added, license info updated, documentation updates: #1339 (Peter Larsen, MIT)
- New USER-ADIOS package to provide Exascale compatible I/O support for dump files through the ADIOS v2.x library: PR #1317 (Norbert Podhorszki, ORNL)
- New dynamical_matrix command added to the USER-PHONON package, that computes the dynamical matrix from finite differences: PR #1314 (Charles Sievers, UC Davis)
- Added consistency checks when reading data files containing "bonus" data like ellipsoids, lines, triangles or bodies: PR #1340 (Axel Kohlmeyer, Temple U)
- re-introduction of the create_atoms optimization for small regions in large boxes. this time hopefully without bug: PR #1348 (Axel Kohlmeyer, Temple U)
- Handle .dylib extensions in LAMMPS python module installation, as it would happen when compiling with CMake on MacOSX. PR #1315 (Jan Janssen, MPIE Duesseldorf)
- Bugfix for lammps_scatter_atoms_subset() in library interface for integer data. PR #1344 (Eugen Rožić, UCL)
- PDF version of the manual is now created via Sphinx and pdflatex. PR #1320 (Evgenii Fetisov, PNNL)
- Better detection of changes to style headers requiring a re-run of cmake. PR #1341 (Richard Berger, Temple U)
- Correct the energy tally for fix langevin with zero yes. PR #1335 (Donatas Surblys, Tohoku U)
- Add library of utility functions to simplify and abstract repeated operations. PR #1272. bugfix for compute reduce introduced by PR #1272: PR
- various small changes and bugfixes. Fixes issues #1346, #1337, add detection of OpenMP version support to info and help message. Document script to change OpenMP default clause from none to shared (needed by GCC 9.x and later). minor corrections to documentation. PR #1331 and PR #1347 (Axel Kohlmeyer, Temple U)
- bugfix for reading data files with shrinkwrap boundary conditions and tiled communication: PR #1325 (Adrian Diaz, UFL).
- C++ standard compliance fixes and update to bond forming reaction behavior in fix bond/react: PR #1332 and PR #1333 (Jacob Gissinger, U Colorado)
Backward compatibility notices: - the syntax for pair style kim is changed with the update to KIM API v2.0 - the behavior of fix bond/react is changed as to which bond is formed among multiple candidates
- C++
Published by akohlmey over 7 years ago
lammps - Patch release 8 February 2019
This patch corrects a serious bug that was introduced in the previous patch release 1 February 2019:
The use of the create_atoms command with the region option while using a rotated lattice will result in creating fewer atoms than expected, and thus incorrect behavior. The offending code has been removed in #1321, which also contains several minor cleanups and bugfixes.
Beyond this important bugfix the patch includes an update of the Kokkos library to version 2.8.00 ( #1312 ),
a new KOKKOS angle style cosine (#1306), and a rename of the python package base source files to avoid conflicts on OSs with case insensitive file systems (e.g. MacOS and Windows) #1316
Also included are updates to the appearance and management of processing pull requests and issues on GitHub (#1318 , #1319, #1322)
- C++
Published by akohlmey over 7 years ago