Skip to content

Feature release 21 November 2023

Pre-release
Pre-release
Compare
Choose a tag to compare
@akohlmey akohlmey released this 21 Nov 20:58
· 1346 commits to develop since this release
patch_21Nov2023
33dcfb5

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 Clavier, 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 C_ID, instead of c_ID (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.