Merge pull request #4403 from akohlmey/collected-small-changes

Collected small changes and fixes
This commit is contained in:
Axel Kohlmeyer
2024-12-17 15:17:28 -05:00
committed by GitHub
35 changed files with 138 additions and 4188 deletions

View File

@ -2,7 +2,7 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "LAMMPS Programmer's Guide"
PROJECT_NUMBER = "4 May 2022"
PROJECT_NUMBER = "19 November 2024"
PROJECT_BRIEF = "Documentation of the LAMMPS library interface and Python wrapper"
PROJECT_LOGO = lammps-logo.png
CREATE_SUBDIRS = NO

View File

@ -8,6 +8,8 @@ send an email to all of them at this address: "developers at
lammps.org". General questions about LAMMPS should be posted in the
`LAMMPS forum on MatSci <https://matsci.org/lammps/>`_.
.. We need to keep this file in sync with https://www.lammps.org/authors.html
.. raw:: latex
\small
@ -27,7 +29,7 @@ lammps.org". General questions about LAMMPS should be posted in the
* - `Steve Plimpton <sjp_>`_
- SNL (retired)
- sjplimp at gmail.com
- MD kernels, parallel algorithms & scalability, code structure and design
- original author, MD kernels, parallel algorithms & scalability, code structure and design
* - `Aidan Thompson <at_>`_
- SNL
- athomps at sandia.gov

View File

@ -2789,14 +2789,15 @@ implements smoothed particle hydrodynamics (SPH) for liquids. See the
related :ref:`MACHDYN package <PKG-MACHDYN>` package for smooth Mach dynamics
(SMD) for solids.
This package contains ideal gas, Lennard-Jones equation of states,
Tait, and full support for complete (i.e. internal-energy dependent)
equations of state. It allows for plain or Monaghans XSPH integration
of the equations of motion. It has options for density continuity or
density summation to propagate the density field. It has
:doc:`set <set>` command options to set the internal energy and density
of particles from the input script and allows the same quantities to
be output with thermodynamic output or to dump files via the :doc:`compute property/atom <compute_property_atom>` command.
This package contains ideal gas, Lennard-Jones equation of states, Tait,
and full support for complete (i.e. internal-energy dependent) equations
of state. It allows for plain or Monaghans XSPH integration of the
equations of motion. It has options for density continuity or density
summation to propagate the density field. It has :doc:`set <set>`
command options to set the internal energy and density of particles from
the input script and allows the same quantities to be output with
thermodynamic output or to dump files via the :doc:`compute
property/atom <compute_property_atom>` command.
**Author:** Georg Ganzenmuller (Fraunhofer-Institute for High-Speed
Dynamics, Ernst Mach Institute, Germany).
@ -2809,6 +2810,17 @@ Dynamics, Ernst Mach Institute, Germany).
* ``examples/PACKAGES/sph``
* https://www.lammps.org/movies.html#sph
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
.. note::
Please also note, that the :ref:`RHEO package <PKG-RHEO>` offers
similar functionality in a more modern and flexible implementation.
----------
.. _PKG-SPIN:

View File

@ -155,7 +155,7 @@ page on BPMs.
If the *break* keyword is set to *no*, LAMMPS assumes bonds should not break
during a simulation run. This will prevent some unnecessary calculation.
The recommended bond communication distance no longer depends on bond failure
coefficients (which are ignored) but instead corresponds to the typical heurestic
coefficients (which are ignored) but instead corresponds to the typical heuristic
maximum strain used by typical non-bpm bond styles. Similar behavior to *break no*
can also be attained by setting arbitrarily high values for all four failure
coefficients. One cannot use *break no* with *smooth yes*.

View File

@ -119,7 +119,7 @@ If the *break* keyword is set to *no*, LAMMPS assumes bonds should not break
during a simulation run. This will prevent some unnecessary calculation.
The recommended bond communication distance no longer depends on the value of
:math:`\epsilon_c` (which is ignored) but instead corresponds to the typical
heurestic maximum strain used by typical non-bpm bond styles. Similar behavior
heuristic maximum strain used by typical non-bpm bond styles. Similar behavior
to *break no* can also be attained by setting an arbitrarily high value of
:math:`\epsilon_c`. One cannot use *break no* with *smooth yes*.

View File

@ -33,6 +33,12 @@ particle.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The value of the internal energy will be 0.0 for atoms not in the
specified compute group.

View File

@ -32,6 +32,12 @@ kernel function interpolation using "pair style sph/rhosum".
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The value of the SPH density will be 0.0 for atoms not in the
specified compute group.

View File

@ -37,6 +37,12 @@ particles, i.e. a Smooth-Particle Hydrodynamics particle.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The value of the internal energy will be 0.0 for atoms not in the
specified compute group.

View File

@ -64,7 +64,7 @@ Description
Perform time integration for RHEO particles, updating positions, velocities,
and densities. For a detailed breakdown of the integration timestep and
numerical details, see :ref:`(Palermo) <rheo_palermo>`. For an overview
numerical details, see :ref:`(Palermo) <fix_rheo_palermo>`. For an overview
and list of other features available in the RHEO package, see
:doc:`the RHEO howto <Howto_rheo>`.
@ -101,7 +101,7 @@ A modified form of Fickian particle shifting can be enabled with the
more uniform spatial distribution. By default, shifting does not consider the
type of a particle and therefore may be inappropriate in systems consisting
of multiple atom types representing multiple fluid phases. However, two
optional subarguments can follow the *shift* keyword, *exclude/type* and
optional sub-arguments can follow the *shift* keyword, *exclude/type* and
*scale/cross/type* to adjust shifting at fluid interfaces.
The *exclude/type* option lets the user specify a list of atom types which
@ -155,7 +155,7 @@ threshold for this classification is set by the numerical value of
By default, RHEO integrates particles' densities using a mass diffusion
equation. Alternatively, one can update densities every timestep by performing
a kernel summation of the masses of neighboring particles by specifying the *rho/sum*
keyword. Following this keyword, one may include the optional *self/mass* subargument
keyword. Following this keyword, one may include the optional *self/mass* sub-argument
which modifies the behavior of the density summation. Typically, the density
:math:`\rho` of a particle is calculated as the sum over neighbors
@ -218,11 +218,11 @@ Default
----------
.. _rheo_palermo:
.. _fix_rheo_palermo:
**(Palermo)** Palermo, Wolf, Clemmer, O'Connor, Phys. Fluids, 36, 113337 (2024).
.. _rheo_yang:
.. _fix_rheo_yang:
**(Yang)** Yang, Rakhsha, Hu, Negrut, J. Comp. Physics, 458, 111079 (2022).

View File

@ -32,6 +32,12 @@ Hydrodynamics.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -32,6 +32,12 @@ space. SPH stands for Smoothed Particle Hydrodynamics.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -30,6 +30,12 @@ The transport model is the diffusion equation for the internal energy.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.

View File

@ -36,6 +36,12 @@ particles from interpenetrating :ref:`(Monaghan) <ideal-Monoghan>`.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.

View File

@ -34,6 +34,12 @@ interpenetrating :ref:`(Monaghan) <Monoghan>`.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.

View File

@ -29,6 +29,12 @@ SPH particles by kernel function interpolation, every Nstep timesteps.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.

View File

@ -41,6 +41,12 @@ prevent particles from interpenetrating :ref:`(Monaghan) <Monaghan>`.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.

View File

@ -37,6 +37,12 @@ This pair style also computes laminar viscosity :ref:`(Morris) <Morris>`.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.

View File

@ -516,6 +516,12 @@ Keywords *sph/e*, *sph/cv*, and *sph/rho* set the energy, heat capacity,
and density of smoothed particle hydrodynamics (SPH) particles. See
`this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in LAMMPS.
.. note::
Please note that the SPH PDF guide file has not been updated for
many years and thus does not reflect the current *syntax* of the
SPH package commands. For that please refer to the LAMMPS manual.
Keyword *smd/mass/density* sets the mass of all selected particles, but
it is only applicable to the Smooth Mach Dynamics package MACHDYN. It
assumes that the particle volume has already been correctly set and

View File

@ -2499,6 +2499,7 @@ neel
Neel
Neelov
Negre
Negrut
nelem
Nelement
Nelements
@ -3116,6 +3117,7 @@ Rafferty
rahman
Rahman
Rajamanickam
Rakhsha
Ralf
Raman
ramped

View File

@ -20,5 +20,3 @@ Examples:
4. in.comb.Cu2O.elastic: Cu2O crystal, qeq on, minimizes, then calculates
elastic constants
5. in.comb.HfO2: HfO2 polymorphs: Monoclinic HfO2 NVT @ 300K
6. in.comb.CuaS: Metallic Cu and amorphous silica interface, qeq on,
five step NVE run

File diff suppressed because it is too large Load Diff

View File

@ -204,7 +204,7 @@ cvm::rvector colvarproxy_lammps::position_distance(cvm::atom_pos const &pos1,
double xtmp = pos2.x - pos1.x;
double ytmp = pos2.y - pos1.y;
double ztmp = pos2.z - pos1.z;
_lmp->domain->minimum_image(xtmp,ytmp,ztmp);
_lmp->domain->minimum_image_big(xtmp,ytmp,ztmp);
return {xtmp, ytmp, ztmp};
}

View File

@ -400,7 +400,7 @@ void FixPhonon::end_of_step()
ndim = sysdim;
for (i = 1; i < nucell; ++i) {
for (idim = 0; idim < sysdim; ++idim) dist2orig[idim] = Rnow[idx][ndim++] - Rnow[idx][idim];
domain->minimum_image(dist2orig);
domain->minimum_image_big(dist2orig);
for (idim = 0; idim < sysdim; ++idim) basis[i][idim] += dist2orig[idim];
}
}

View File

@ -49,7 +49,6 @@ using namespace LAMMPS_NS;
using namespace FixConst;
static constexpr double CONV_TO_EV = 14.4;
static constexpr double SMALL = 1.0e-14;
static constexpr double QSUMSMALL = 0.00001;
static constexpr double ANGSTROM_TO_BOHRRADIUS = 1.8897261259;
@ -1101,7 +1100,6 @@ void FixQtpieReaxFF::calc_chi_eff()
memset(&chi_eff[0],0,atom->nmax*sizeof(double));
const auto x = (const double * const *)atom->x;
const int ntypes = atom->ntypes;
const int *type = atom->type;
double dist,overlap,sum_n,sum_d,expa,expb,chia,chib,phia,phib,p,m;

View File

@ -434,7 +434,7 @@ bool FixEHEX::check_cluster(tagint *shake_atom, int n, Region *region)
// take into account pbc
domain->minimum_image(xtemp);
domain->minimum_image_big(xtemp);
for (int k = 0; k < 3; k++) xcom[k] += mi * (x[lid[0]][k] + xtemp[k]);
}

View File

@ -54,13 +54,13 @@ void AngleZero::compute(int eflag, int vflag)
void AngleZero::settings(int narg, char **arg)
{
if ((narg != 0) && (narg != 1)) error->all(FLERR, "Illegal angle_style command");
if (narg > 1) error->all(FLERR, "Too many angle_style zero keywords");
if (narg == 1) {
if (strcmp("nocoeff", arg[0]) == 0)
coeffflag = 0;
else
error->all(FLERR, "Illegal angle_style command");
error->all(FLERR, "Unknown angle_style zero keyword {}", arg[0]);
}
}

View File

@ -73,6 +73,7 @@ Dump::Dump(LAMMPS *lmp, int /*narg*/, char **arg) :
clearstep = 0;
sort_flag = 0;
sortcol = 0;
balance_flag = 0;
append_flag = 0;
buffer_allow = 0;

View File

@ -114,9 +114,11 @@ FixVector::FixVector(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR, "Fix for fix {} vector not computed at compatible time", val.id);
if (val.argindex == 0)
value = ifix->extscalar;
else if (ifix->extvector >= 0)
value = ifix->extvector;
else
value = ifix->extarray;
value = ifix->extlist[val.argindex - 1];
val.val.f = ifix;
} else if (val.which == ArgInfo::VARIABLE) {

View File

@ -519,7 +519,7 @@ must be freed with :cpp:func:`lammps_free` after use to avoid a memory leak.
\endverbatim
*
* \param handle pointer to a previously created LAMMPS instance
* \param cmd string with a single LAMMPS input line
* \param line string with a single LAMMPS input line
* \return string with expanded line */
char *lammps_expand(void *handle, const char *line)

View File

@ -287,7 +287,7 @@ struct multitype {
int64_t b;
} data;
multitype() : type(LAMMPS_NONE) { data.d = 0.0; }
multitype() noexcept : type(LAMMPS_NONE) { data.d = 0.0; }
multitype(const multitype &) = default;
multitype(multitype &&) = default;
~multitype() = default;

View File

@ -59,17 +59,21 @@ class TokenizerException : public std::exception {
std::string message;
public:
// remove unused default constructor
/** The default constructor is disabled */
TokenizerException() = delete;
/** Thrown during retrieving or skipping tokens
*
* \param msg String with error message
* \param token String of the token/word that caused the error */
* \param msg String with error message
* \param token String of the token or word that caused the error */
explicit TokenizerException(const std::string &msg, const std::string &token);
/** Retrieve message describing the thrown exception
* \return string with error message */
*
* This function provides the message that can be retrieved when the corresponding
* exception is caught.
*
* \return String with error message */
const char *what() const noexcept override { return message.c_str(); }
};

View File

@ -59,7 +59,7 @@ namespace utils {
void missing_cmd_args(const std::string &file, int line, const std::string &cmd, Error *error);
/* Internal function handling the argument list for logmesg(). */
/*! Internal function handling the argument list for logmesg(). */
void fmtargs_logmesg(LAMMPS *lmp, fmt::string_view format, fmt::format_args args);
@ -426,12 +426,11 @@ This functions adds the following case to :cpp:func:`utils::bounds() <LAMMPS_NS:
* \param ref per-grid reference from input script, e.g. "c_10:grid:data[2]"
* \param nevery frequency at which caller will access fix for per-grid info,
* ignored when reference is to a compute
* \param id ID of Compute or Fix
* \param igrid which grid is referenced (0 to N-1)
* \param idata which data on grid is referenced (0 to N-1)
* \param index which column of data is referenced (0 for vec, 1-N for array)
* \param lmp pointer to top-level LAMMPS class instance
* \param verify check bounds for interaction type
* \return id ID of Compute or Fix
* \return igrid which grid is referenced (0 to N-1)
* \return idata which data on grid is referenced (0 to N-1)
* \return index which column of data is referenced (0 for vec, 1-N for array)
* \return ArgINFO::COMPUTE or FIX or UNKNOWN or NONE */
int check_grid_reference(char *errstr, char *ref, int nevery, char *&id, int &igrid, int &idata,
@ -442,7 +441,10 @@ This functions adds the following case to :cpp:func:`utils::bounds() <LAMMPS_NS:
* Format of grid ID reference = id:gname:dname.
* Return vector with the 3 sub-strings.
*
* \param name = complete grid ID
* \param file name of source file for error message
* \param line line number in source file for error message
* \param name complete grid ID
* \param error pointer to Error class
* \return std::vector<std::string> containing the 3 sub-strings */
std::vector<std::string> parse_grid_id(const char *file, int line, const std::string &name,

View File

@ -205,7 +205,7 @@ if(FLATPAK_COMMAND AND FLATPAK_BUILDER)
file(STRINGS ${LAMMPS_DIR}/src/version.h line REGEX LAMMPS_VERSION)
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z][A-Za-z][A-Za-z])[A-Za-z]* ([0-9]+)\""
"\\1\\2\\3" LAMMPS_RELEASE "${line}")
set(FLATPAK_BUNDLE "LAMMPS_GUI-Linux-amd64-${LAMMPS_RELEASE}.flatpak")
set(FLATPAK_BUNDLE "LAMMPS-Linux-x86_64-GUI-${LAMMPS_RELEASE}.flatpak")
add_custom_target(flatpak
COMMAND ${FLATPAK_COMMAND} --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
COMMAND ${FLATPAK_BUILDER} --force-clean --verbose --repo=${CMAKE_CURRENT_BINARY_DIR}/flatpak-repo

View File

@ -56,6 +56,9 @@
<releases>
<release version="1.6.11" timestamp="1725080055">
<description>
move cursor to end of log buffer before inserting new text
remove empirical filter to remove outliers from corrupted data
change tutorial download URL to tutorial website
</description>
</release>
<release version="1.6.10" timestamp="1724585189">

View File

@ -88,6 +88,7 @@ modules:
- -D PKG_QTB=yes
- -D PKG_REACTION=yes
- -D PKG_REAXFF=yes
- -D PKG_RHEO=yes
- -D PKG_RIGID=yes
- -D PKG_SHOCK=yes
- -D PKG_SMTBQ=yes