Molecular Dynamics

LAMMPS Patch Release 24 March 2022

March 24, 2022
14 min read
blog-LAMMPS-patch_24Mar2022.jpg

LAMMPS Patch 24 March 2022 Release Overview

What is LAMMPS used for?

LAMMPS is a classical molecular dynamics (MD) code that models ensembles of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, solid-state (metals, ceramics, oxides), granular, coarse-grained, or macroscopic systems using a variety of interatomic potentials (force fields) and boundary conditions. It can model 2D or 3D systems with only a few particles up to millions or billions.

LAMMPS can run on single processor laptops or desktops, but is designed for parallel computers using message-passing techniques and a spatial-decomposition of the simulation domain. This includes shared-memory boxes and distributed-memory clusters and supercomputers. Many of its models have versions that provide accelerated performance on CPUs, GPUs, and Intel Xeon Phis. The code is designed to be easy to modify or extend with new functionality.


Interested in getting faster results?
Learn more about LAMMPS Certified GPU Workstations and Servers starting around $6,000


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 thermo_style "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 LAMMPS_PLUGIN_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.

          This release has 2 assets:

          • Source code (zip)
          • Source code (tar.gz)

          Visit the release page to download them.


          Sandia also released a 3rd update for their most recent stable release made available last year. See below for details.


          Update 3 for Stable release 29 September 2021

          This is the third 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/eam_database 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 write_coeff 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

          This release has 2 assets:

          • Source code (zip)
          • Source code (tar.gz)

          Visit the release page to download them.


          About LAMMPS

          LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) a classical molecular dynamics simulation code designed to run efficiently on parallel computers. It was developed at Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely under the terms of the GNU Public License (GPL).


          Have any questions about LAMMPS or other applications for molecular dynamics? Contact Exxact Today


          Topics

          blog-LAMMPS-patch_24Mar2022.jpg
          Molecular Dynamics

          LAMMPS Patch Release 24 March 2022

          March 24, 202214 min read

          LAMMPS Patch 24 March 2022 Release Overview

          What is LAMMPS used for?

          LAMMPS is a classical molecular dynamics (MD) code that models ensembles of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, solid-state (metals, ceramics, oxides), granular, coarse-grained, or macroscopic systems using a variety of interatomic potentials (force fields) and boundary conditions. It can model 2D or 3D systems with only a few particles up to millions or billions.

          LAMMPS can run on single processor laptops or desktops, but is designed for parallel computers using message-passing techniques and a spatial-decomposition of the simulation domain. This includes shared-memory boxes and distributed-memory clusters and supercomputers. Many of its models have versions that provide accelerated performance on CPUs, GPUs, and Intel Xeon Phis. The code is designed to be easy to modify or extend with new functionality.


          Interested in getting faster results?
          Learn more about LAMMPS Certified GPU Workstations and Servers starting around $6,000


          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 thermo_style "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 LAMMPS_PLUGIN_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.

                  This release has 2 assets:

                  • Source code (zip)
                  • Source code (tar.gz)

                  Visit the release page to download them.


                  Sandia also released a 3rd update for their most recent stable release made available last year. See below for details.


                  Update 3 for Stable release 29 September 2021

                  This is the third 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/eam_database 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 write_coeff 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

                  This release has 2 assets:

                  • Source code (zip)
                  • Source code (tar.gz)

                  Visit the release page to download them.


                  About LAMMPS

                  LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) a classical molecular dynamics simulation code designed to run efficiently on parallel computers. It was developed at Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely under the terms of the GNU Public License (GPL).


                  Have any questions about LAMMPS or other applications for molecular dynamics? Contact Exxact Today


                  Topics