Skip to content

@akohlmey akohlmey released this Oct 29, 2020 · 156 commits to master since this release

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 utils namespace. Several new additions of such convenience functions
    • Using const std::string & instead char * or const char * as function argument in many places to simplify string processing and replacing C style string functions with their equivalent or expanded functionality of std::string member 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 NULL with nullptr where 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 ctest tool 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 between Pair::compute() and Pair::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 widom for modeling Widom insertions
  • 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.
  • Bugfixes, improved documentation, and new functionality for fix bond/react in particular RMSD based constraints.
  • New fix accelerate/cos and compute viscosity/cos in USER-MISC as yet another method to compute viscosity.
  • New fix momentum/chunk to remove per chunk momentum
  • New bond style special to 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 binary2atom tool to become consistent with current text mode custom dumps
  • Updates to the user supported examples/COUPLE/fortran and examples/COUPLE/fortran2 wrappers 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_ids was renamed to reset_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
Assets 3
Pre-release

@akohlmey akohlmey released this Oct 29, 2020 · 156 commits to master since this release

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
Assets 2
Pre-release

@akohlmey akohlmey released this Oct 22, 2020 · 224 commits to master since this release

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
Assets 2
Pre-release

@akohlmey akohlmey released this Oct 10, 2020 · 1 commit to gpu-memory-leak-init since this release

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 LAMMPS_LIB_MPI, 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 MPI_COMM_WORLD, 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
Assets 2
Pre-release

@akohlmey akohlmey released this Sep 19, 2020 · 651 commits to master since this release

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 reset_mol_ids 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
Assets 2
Pre-release

@akohlmey akohlmey released this Aug 24, 2020 · 1356 commits to master since this release

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
Assets 2
Pre-release

@akohlmey akohlmey released this Aug 21, 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
Assets 2
Pre-release

@akohlmey akohlmey released this Jul 21, 2020 · 1859 commits to master since this release

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.
Assets 2
Pre-release

@akohlmey akohlmey released this Jun 29, 2020 · 2283 commits to master since this release

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.
Assets 2
Pre-release

@akohlmey akohlmey released this Jun 15, 2020 · 2594 commits to master since this release

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 read_data and read_restart 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 pair_style 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 pair_write and bond_write will 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 the reset_ids command 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
  • Consolidate union 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 C_10_10.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.
Assets 2
You can’t perform that action at this time.