diff --git a/doc/lammps.1 b/doc/lammps.1 index 0c7c9a0354..27ec20b1d3 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "7 February 2024" "2024-02-07" +.TH LAMMPS "1" "17 April 2024" "2024-04-17" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 7 February 2024 +\- Molecular Dynamics Simulator. Version 17 April 2024 .SH SYNOPSIS .B lmp @@ -297,7 +297,7 @@ the chapter on errors in the manual gives some additional information about error messages, if possible. .SH COPYRIGHT -© 2003--2022 Sandia Corporation +© 2003--2024 Sandia Corporation This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst index c80a9142ff..008ebfebeb 100644 --- a/doc/src/angle_cosine_squared_restricted.rst +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -24,7 +24,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *cosine/squared/restricted* angle style uses the potential diff --git a/doc/src/dihedral_cosine_squared_restricted.rst b/doc/src/dihedral_cosine_squared_restricted.rst index cba846b965..c402c983ab 100644 --- a/doc/src/dihedral_cosine_squared_restricted.rst +++ b/doc/src/dihedral_cosine_squared_restricted.rst @@ -22,7 +22,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *cosine/squared/restricted* dihedral style uses the potential diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index 57ce52f7c7..449b9b8208 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -435,7 +435,7 @@ molecule. ---------- -.. versionadded:: TBD +.. versionadded:: 17Apr2024 new keyword *append* The *file* or *append* keywords allow a filename to be specified. If diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index b9ecc31cec..ac3b77086e 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -319,7 +319,7 @@ on. The default is step 0. Often input values can be 0.0 at time 0, so setting *start* to a larger value can avoid including a 0.0 in a running or windowed histogram. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 new keyword *append* The *file* or *append* keywords allow a filename to be specified. If diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index ea6a6dc2a9..cb05b8a5ab 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -272,7 +272,7 @@ are effectively constant or are simply current values (e.g., they are being written to a file with other time-averaged values for purposes of creating well-formatted output). -.. versionadded:: TBD +.. versionadded:: 17Apr2024 new keyword *append* The *file* or *append* keywords allow a filename to be specified. If diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 0a0ea64c6a..3065707dc7 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -70,7 +70,7 @@ re-balancing is performed periodically during the simulation. To perform "static" balancing, before or between runs, see the :doc:`balance ` command. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *report* balance style only computes the load imbalance but does not attempt any re-balancing. This way the load imbalance diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index c814aa892f..8e848b3969 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -69,7 +69,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 This fix is an extension of the :doc:`fix deform ` command, which allows all of its options to be used as well as new diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 692b187841..a60380fe7e 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -253,7 +253,7 @@ be enabled if any electrode particle has the same type as any electrolyte particle (which would be unusual in a typical simulation) and the fix will issue an error in that case. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The keyword *qtotal* causes *fix electrode/conp* and *fix electrode/thermo* to add an overall potential to all electrodes so that @@ -267,7 +267,7 @@ and since *symm on* constrains the total charge of all electrodes to be zero, either option is incompatible with the *qtotal* keyword (even if *qtotal* is set to zero). -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The keyword *eta* takes the name of a custom double vector defined via fix property/atom. The values will be used instead of the standard eta diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index b40ba9697f..d498e57c63 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -40,7 +40,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. diff --git a/doc/src/package.rst b/doc/src/package.rst index 2fe4baaae7..8be6639e72 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -576,7 +576,7 @@ changed to *no* since the *sort* keyword does not support *host* mode. Not all fix styles with extra atom data support *device* mode and in that case a warning will be given and atom sorting will run in *no* mode instead. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *atom/map* keyword determines whether the host or device builds the atom_map, see the :doc:`atom_modify map ` command. The diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 7412a56056..e325de0aa6 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -73,7 +73,7 @@ the smooth SO(3) power spectrum with the explicit inclusion of a radial basis :ref:`(Bartok) ` and :ref:`(Zagaceta) `. The available models are *linear* and *nn*. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The descriptor style *ace* is a class of highly general atomic descriptors, atomic cluster expansion descriptors (ACE) from diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index 32fcb17f00..10fcb63e2e 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -46,7 +46,7 @@ Used in input scripts: Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone (or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst index 9f4b8006c1..05be473256 100644 --- a/doc/src/pair_rebomos.rst +++ b/doc/src/pair_rebomos.rst @@ -28,7 +28,7 @@ Example input scripts available: examples/threebody/ Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *rebomos* pair style computes the interactions between molybdenum and sulfur atoms :ref:`(Stewart) ` utilizing an adaptive diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index d8f175c5b8..7dd3823bbf 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -197,7 +197,7 @@ class Atom(object): mass (AKA 'rmass') depending on what is available with preference for the per-atom mass. - .. versionchanged:: TBD + .. versionchanged:: 17Apr2024 Support both per-type and per-atom masses. With per-type return "mass[type[i]]" else return "rmass[i]". diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index ed92a41a11..3f1f54e3c0 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -657,7 +657,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, fix->stop_watch(TIME_HOST_PAIR); if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index d1b56a9eae..e4a0155ab9 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -328,7 +328,7 @@ void PairEAM::compute(int eflag, int vflag) } if (eflag && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/OPENMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp index 1d3c7ded3a..56d41973c9 100644 --- a/src/OPENMP/pair_eam_omp.cpp +++ b/src/OPENMP/pair_eam_omp.cpp @@ -305,7 +305,7 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) } if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index 20463515da..96afff4ee5 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -367,7 +367,7 @@ template void PairEAMOpt::eval() fast_gamma = nullptr; if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/REAXFF/reaxff_ffield.cpp b/src/REAXFF/reaxff_ffield.cpp index b941d7d0f0..7dfa2ee1cb 100644 --- a/src/REAXFF/reaxff_ffield.cpp +++ b/src/REAXFF/reaxff_ffield.cpp @@ -39,6 +39,7 @@ using LAMMPS_NS::utils::open_potential; using LAMMPS_NS::utils::getsyserror; +using LAMMPS_NS::utils::strmatch; using LAMMPS_NS::utils::uppercase; using LAMMPS_NS::EOFException; using LAMMPS_NS::ValueTokenizer; @@ -71,7 +72,7 @@ namespace ReaxFF { filename, lineno, want, values.count())) if (control->me == 0) { - FILE *fp = LAMMPS_NS::utils::open_potential(filename, lmp, nullptr); + FILE *fp = open_potential(filename, lmp, nullptr); if (!fp) error->one(FLERR,"The ReaxFF parameter file {} cannot be opened: {}", filename, getsyserror()); @@ -81,9 +82,11 @@ namespace ReaxFF { try { int i,j,k,l,m,n,lineno = 0; - // skip header comment line + // check if header comment line is present - reader.skip_line(); + auto line = reader.next_line(); + if (strmatch(line, "^\\s*[0-9]+\\s+!.*general parameters.*")) + THROW_ERROR("First line of ReaxFF potential file must be a comment or empty"); ++lineno; // set some defaults diff --git a/src/version.h b/src/version.h index 76ede29b68..37c44b49f2 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1 @@ -#define LAMMPS_VERSION "7 Feb 2024" -#define LAMMPS_UPDATE "Development" +#define LAMMPS_VERSION "17 Apr 2024"