From 2ac0d065a7cdfc996fb014a92a9f4b8f8cf61ec7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 25 Oct 2024 21:51:26 -0400 Subject: [PATCH 1/4] step version strings for next release --- doc/lammps.1 | 4 ++-- doc/src/fix_qeq.rst | 2 +- doc/src/pair_coul.rst | 2 +- src/atom.cpp | 2 +- src/library.cpp | 2 +- src/version.h | 3 +-- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 75581bd008c..d08ac71fd4c 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "29 August 2024" "2024-08-29" +.TH LAMMPS "1" "29 October 2024" "2024-10-29" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 29 August 2024 +\- Molecular Dynamics Simulator. Version 29 October 2024 .SH SYNOPSIS .B lmp diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index fd317666d0d..9929dd57962 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -190,7 +190,7 @@ on atoms via the matrix inversion method. A tolerance of 1.0e-6 is usually a good number. Keyword *alpha* can be used to change the Slater type orbital exponent. -.. versionadded:: TBD +.. versionadded:: 29Oct2024 The *qeq/ctip* style describes partial charges on atoms in the same way as style *qeq/shielded* but also enables the definition of charge diff --git a/doc/src/pair_coul.rst b/doc/src/pair_coul.rst index 17e93587540..643a644e802 100644 --- a/doc/src/pair_coul.rst +++ b/doc/src/pair_coul.rst @@ -180,7 +180,7 @@ coulomb styles in :doc:`hybrid pair styles `. ---------- -.. versionadded:: TBD +.. versionadded:: 29Oct2024 Style *coul/ctip* computes the Coulomb interactions as described in :ref:`Plummer `. It uses the the damped shifted model as in diff --git a/src/atom.cpp b/src/atom.cpp index e0fceffe9cc..c726b1500cb 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -3276,7 +3276,7 @@ int Atom::extract_datatype(const char *name) * \verbatim embed:rst -.. versionadded:: TBD +.. versionadded:: 29Oct2024 \endverbatim * diff --git a/src/library.cpp b/src/library.cpp index 0065f104548..fd27ada6acc 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2159,7 +2159,7 @@ int lammps_extract_atom_datatype(void *handle, const char *name) * \verbatim embed:rst -.. versionadded:: TBD +.. versionadded:: 29Oct2024 This function returns an integer with the size of the per-atom property with the specified name. This allows to accurately determine diff --git a/src/version.h b/src/version.h index 9c382b3768f..467a516f3e2 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1 @@ -#define LAMMPS_VERSION "29 Aug 2024" -#define LAMMPS_UPDATE "Development" +#define LAMMPS_VERSION "29 Oct 2024" From c926bfd15692b168fa6c82b17de667231c2dd483 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 25 Oct 2024 22:35:41 -0400 Subject: [PATCH 2/4] start documenting individual steps for a LAMMPS release --- .github/release_steps.md | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/release_steps.md diff --git a/.github/release_steps.md b/.github/release_steps.md new file mode 100644 index 00000000000..bcd29fd818c --- /dev/null +++ b/.github/release_steps.md @@ -0,0 +1,58 @@ +# LAMMPS Release Steps + +The following notes chronicle the current steps for preparing and publishing LAMMPS releases. +For definition of what LAMMPS versions and the different kinds of releases mean, please +refer to [the corresponding section in the LAMMPS manual](https://docs.lammps.org/Manual_version.html). + +## LAMMPS Feature Release + +A LAMMPS feature release is currently prepared after about 500 to 750 commits to the +'develop' branch or after a period of four weeks up to two months. + +### Preparing a 'next\_release' branch + +Create a 'next\_release' branch off 'develop' and make the following changes: +- set the LAMMPS\_VERSION define to the planned release date in src/version.h in the format "D Mmm YYYY" or "DD Mmm YYYY" +- remove the LAMMPS\_UPDATE define in src/version.h +- update the release date in doc/lammps.1 +- update all TBD arguments for ..versionadded::, ..versionchanged:: ..deprecated:: to the + planned release date in the format "DMmmYYYY" or "DDMmmYYYY" + +Submit this pull request, rebase if needed. This is the last pull request merged for the release +and should not contain any other changes. (Exceptions: this document, last minute trivial(!) changes). +This PR shall not be merged before **all** pending tests have completed and cleared. If needed, a +bugfix pull request should be created and merged to clear all tests. + +## LAMMPS Stable Release + +A LAMMPS stable release is prepared about once per year in the months July, August, or September. +One (or two, if needed) feature releases before the stable release shall contain only bug fixes +or minor feature updates in optional packages. Also substantial changes to the core of the code +shall be applied rather toward the beginning of a development cycle between two stable releases +than toward the end. The intention is to stablilize significant change to the core and have +outside users and developers try them out during the development cycle; the sooner the changes +are included, the better chances for spotting peripheral bugs and issues. + +### Prerequesites + +Before making a stable release all remaining backported bugfixes shall be released as a (final) +stable update release (see below). + +A LAMMPS stable release process starts like a feature release (see above), only that this feature +release is called a "Stable Release Candidate" and no assets are uploaded to GitHub. + +### Synchronize 'maintenance' branch with 'release' + +The state of the 'release' branch is then transferred to the 'maintenance' branch (which will +have diverged significantly from 'release' due to the selectively backported bug fixes). + +### Fast-forward merge of 'maintenance' into 'stable' and apply tag + +At this point it should be possible to do a fast-forward merge of 'maintenance' to 'stable' +and then apply the stable\_DMmmYYYY tag. + +### Push branches and tags + + + +## LAMMPS Stable Update Release From c50a8d83d1e5411023d0536fe71367a9e31f9a24 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 19 Nov 2024 02:10:49 -0500 Subject: [PATCH 3/4] New release date 19 November 2024 --- doc/lammps.1 | 4 ++-- doc/src/fix_qeq.rst | 2 +- doc/src/fix_qtpie_reaxff.rst | 2 ++ doc/src/pair_coul.rst | 2 +- src/atom.cpp | 2 +- src/library.cpp | 2 +- src/version.h | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index d08ac71fd4c..cb52813a4d9 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "29 October 2024" "2024-10-29" +.TH LAMMPS "1" "19 November 2024" "2024-11-19" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 29 October 2024 +\- Molecular Dynamics Simulator. Version 19 November 2024 .SH SYNOPSIS .B lmp diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index 9929dd57962..06a1f983755 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -190,7 +190,7 @@ on atoms via the matrix inversion method. A tolerance of 1.0e-6 is usually a good number. Keyword *alpha* can be used to change the Slater type orbital exponent. -.. versionadded:: 29Oct2024 +.. versionadded:: 19Nov2024 The *qeq/ctip* style describes partial charges on atoms in the same way as style *qeq/shielded* but also enables the definition of charge diff --git a/doc/src/fix_qtpie_reaxff.rst b/doc/src/fix_qtpie_reaxff.rst index cf59e4701a0..e96cbec4592 100644 --- a/doc/src/fix_qtpie_reaxff.rst +++ b/doc/src/fix_qtpie_reaxff.rst @@ -35,6 +35,8 @@ Examples Description """"""""""" +.. versionadded:: 19Nov2024 + The QTPIE charge equilibration method is an extension of the QEq charge equilibration method. With QTPIE, the partial charges on individual atoms are computed by minimizing the electrostatic energy of the system in the diff --git a/doc/src/pair_coul.rst b/doc/src/pair_coul.rst index 643a644e802..77c0e0b18b7 100644 --- a/doc/src/pair_coul.rst +++ b/doc/src/pair_coul.rst @@ -180,7 +180,7 @@ coulomb styles in :doc:`hybrid pair styles `. ---------- -.. versionadded:: 29Oct2024 +.. versionadded:: 19Nov2024 Style *coul/ctip* computes the Coulomb interactions as described in :ref:`Plummer `. It uses the the damped shifted model as in diff --git a/src/atom.cpp b/src/atom.cpp index c726b1500cb..04a21b9c520 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -3276,7 +3276,7 @@ int Atom::extract_datatype(const char *name) * \verbatim embed:rst -.. versionadded:: 29Oct2024 +.. versionadded:: 19Nov2024 \endverbatim * diff --git a/src/library.cpp b/src/library.cpp index fd27ada6acc..9876d363e5c 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2159,7 +2159,7 @@ int lammps_extract_atom_datatype(void *handle, const char *name) * \verbatim embed:rst -.. versionadded:: 29Oct2024 +.. versionadded:: 19Nov2024 This function returns an integer with the size of the per-atom property with the specified name. This allows to accurately determine diff --git a/src/version.h b/src/version.h index 467a516f3e2..88a65b1657e 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "29 Oct 2024" +#define LAMMPS_VERSION "19 Nov 2024" From e200d557ec94cc698d6d95d0290aff6d6202420c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 19 Nov 2024 13:16:22 -0500 Subject: [PATCH 4/4] replace static with const for compatibility with SYCL --- src/KOKKOS/fix_cmap_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/fix_cmap_kokkos.cpp b/src/KOKKOS/fix_cmap_kokkos.cpp index 75013388264..dd92afe9ccc 100644 --- a/src/KOKKOS/fix_cmap_kokkos.cpp +++ b/src/KOKKOS/fix_cmap_kokkos.cpp @@ -850,7 +850,7 @@ void FixCMAPKokkos::bc_interpol(double x1, double x2, int low1, int // calculate the bicubic interpolation coefficients c_ij - static int wt[16][16] = + const int wt[16][16] = { {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, {-3, 0, 0, 3, 0, 0, 0, 0,-2, 0, 0,-1, 0, 0, 0, 0},