Adding arguments to doc page

This commit is contained in:
jtclemm
2023-05-01 14:05:47 -06:00
parent 0cd22dd0d2
commit 0b1d393d78
9 changed files with 154 additions and 89 deletions

View File

@ -1,3 +1,4 @@
Reproducing hydrodynamics and elastic objects (RHEO) Reproducing hydrodynamics and elastic objects (RHEO)
====================== ======================
Text

View File

@ -8,26 +8,38 @@ Syntax
.. parsed-literal:: .. parsed-literal::
fix ID group-ID rheo fix ID group-ID rheo cut kstyle keyword values...
* ID, group-ID are documented in :doc:`fix <fix>` command * ID, group-ID are documented in :doc:`fix <fix>` command
* rheo = style name of this fix command * rheo = style name of this fix command
* cut = *quintic* or *CRK0* or *CRK1* or *CRK2*
* zero or more keyword/value pairs may be appended to args
* keyword = *shift* or *thermal* or *surface/detection* or *interface/reconstruction* or *rho/sum* or *density* or *sound/squared*
.. parsed-literal::
*shift* values = none, turns on velocity shifting
*thermal* values = none, turns on thermal evolution
*surface/detection* values = *sdstyle* *limit*
*sdstyle* = *coordination* or *divergence*
*limit* = threshold for surface particles (unitless)
*interface/reconstruction* values = none, reconstructs interfaces with solid particles
*rho/sum* values = none, uses the kernel to compute the density of particles
*density* values = *rho0* (density)
*sound/squared* values = *csq* (velocity\^2)
Examples Examples
"""""""" """"""""
.. code-block:: LAMMPS .. code-block:: LAMMPS
fix 1 all rheo 1.0 CRK1 shift fix 1 all rheo 1.0 quintic thermal density 0.1 sound/squared 10.0
fix 1 all rheo 1.0 CRK1 shift surface/detection coordination 40
Description Description
""""""""""" """""""""""
Perform time integration to update position, velocity, internal energy Fix description...
and local density for atoms in the group each timestep. This fix is
needed to time-integrate SPH systems where particles carry internal
variables such as internal energy. SPH stands for Smoothed Particle
Hydrodynamics.
Restart, fix_modify, output, run start/stop, minimize info Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -41,6 +53,14 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
Restrictions Restrictions
"""""""""""" """"""""""""
This fix must be used with an atom style that includes density
such as atom_style rheo or rheo/thermal. This fix must be used in
conjuction with :doc:`fix rheo/pressure <fix_rheo_pressure>`. and
:doc:`fix rheo/viscosity <fix_rheo_viscosity>`, If the *thermal*
setting is used, there must also be an instance of
:doc:`fix rheo/thermal <fix_rheo_thermal>`. The fix group must be
set to all.
This fix is part of the RHEO package. It is only enabled if This fix is part of the RHEO package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
@ -56,4 +76,4 @@ Related commands
Default Default
""""""" """""""
none *rho0* and *csq* are set to 1.0.

View File

@ -1,6 +1,6 @@
.. index:: fix rheo .. index:: fix rheo/pressure
fix rheo command fix rheo/pressure command
=============== ===============
Syntax Syntax
@ -8,26 +8,33 @@ Syntax
.. parsed-literal:: .. parsed-literal::
fix ID group-ID rheo fix ID group-ID rheo/pressure pstyle args
* ID, group-ID are documented in :doc:`fix <fix>` command * ID, group-ID are documented in :doc:`fix <fix>` command
* rheo = style name of this fix command * rheo/pressure = style name of this fix command
* pstyle = *linear* or *taitwater* or *cubic*
.. parsed-literal::
*linear* args = none
*taitwater* args = none
*cubic* args = cubic term prefactor :math:`A_3` (pressure/density\^2)
Examples Examples
"""""""" """"""""
.. code-block:: LAMMPS .. code-block:: LAMMPS
fix 1 all rheo 1.0 CRK1 shift fix 1 all rheo/pressure linear
fix 1 all rheo/pressure cubic 10.0
Description Description
""""""""""" """""""""""
Perform time integration to update position, velocity, internal energy This fix...
and local density for atoms in the group each timestep. This fix is
needed to time-integrate SPH systems where particles carry internal Only one instance of fix rheo/pressure can be defined and the fix group must be set to all.
variables such as internal energy. SPH stands for Smoothed Particle
Hydrodynamics.
Restart, fix_modify, output, run start/stop, minimize info Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -41,6 +48,11 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
Restrictions Restrictions
"""""""""""" """"""""""""
This fix must be used with an atom style that includes density
such as atom_style rheo or rheo/thermal. This fix must be used in
conjuction with :doc:`fix rheo <fix_rheo>`. The fix group must be
set to all.
This fix is part of the RHEO package. It is only enabled if This fix is part of the RHEO package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
@ -48,7 +60,6 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`fix rheo/viscosity <fix_rheo_viscosity>`, :doc:`fix rheo/viscosity <fix_rheo_viscosity>`,
:doc:`fix rheo/pressure <fix_rheo_pressure>`,
:doc:`fix rheo/thermal <fix_rheo_thermal>`, :doc:`fix rheo/thermal <fix_rheo_thermal>`,
:doc:`pair rheo <pair_rheo>`, :doc:`pair rheo <pair_rheo>`,
:doc:`compute rheo/property/atom <compute_rheo_property_atom>` :doc:`compute rheo/property/atom <compute_rheo_property_atom>`

View File

@ -1,6 +1,6 @@
.. index:: fix rheo .. index:: fix rheo/thermal
fix rheo command fix rheo/thermal command
=============== ===============
Syntax Syntax
@ -8,26 +8,49 @@ Syntax
.. parsed-literal:: .. parsed-literal::
fix ID group-ID rheo fix ID group-ID rheo/thermal keyword values ...
* ID, group-ID are documented in :doc:`fix <fix>` command * ID, group-ID are documented in :doc:`fix <fix>` command
* rheo = style name of this fix command * rheo/viscosity = style name of this fix command
* one or more attributes may be appended
* attribute = *conductivity* or *specific/heat* or *Tfreeze*
.. parsed-literal::
*conductivity* args = style param
style = *constant* or *type*
*constant* arg = conductivity (power/temperature)
*type* args = list of conductivity values, one per type (power/temperature)
*specific/heat* args = style param
style = *constant* or *type*
*constant* arg = specific heat (energy/(mass*temperature))
*type* args = list of specific heat values, one per atom type (energy/(mass*temperature))
*Tfreeze* args = style param
style = *constant* or *type*
*constant* arg = freezing temperature (temperature)
*type* args = list of freezing temperature values, one per type (temperature)
Examples Examples
"""""""" """"""""
.. code-block:: LAMMPS .. code-block:: LAMMPS
fix 1 all rheo 1.0 CRK1 shift fix 1 all rheo/thermal conductivity constant 1.0 specific/heat constant 1.0 Tfreeze constant 1.0
fix 1 all rheo/pressure conductivity constant 1.0 specific/heat type 1.0 2.0
Description Description
""""""""""" """""""""""
Perform time integration to update position, velocity, internal energy This fix...
and local density for atoms in the group each timestep. This fix is
needed to time-integrate SPH systems where particles carry internal While the *Tfreeze* keyword is optional, the *conducitivity* and
variables such as internal energy. SPH stands for Smoothed Particle *specific/heat* keywords are mandatory.
Hydrodynamics.
Multiple instances of this fix may be defined to apply different
properties to different groups. However, the union of fix groups
across all instances of fix rheo/thermal must cover all atoms.
If there are multiple instances of this fix, any intersections in
the fix groups will lead to incorrect thermal integration.
Restart, fix_modify, output, run start/stop, minimize info Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -41,15 +64,20 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
Restrictions Restrictions
"""""""""""" """"""""""""
This fix must be used with an atom style that includes temperature,
heatflow, and conductivity such as atom_tyle rheo/thermal This fix
must be used in conjuction with :doc:`fix rheo <fix_rheo>` with the
*thermal* setting.
This fix is part of the RHEO package. It is only enabled if This fix is part of the RHEO package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`fix rheo <fix_rheo>`,
:doc:`fix rheo/viscosity <fix_rheo_viscosity>`, :doc:`fix rheo/viscosity <fix_rheo_viscosity>`,
:doc:`fix rheo/pressure <fix_rheo_pressure>`, :doc:`fix rheo/pressure <fix_rheo_pressure>`,
:doc:`fix rheo/thermal <fix_rheo_thermal>`,
:doc:`pair rheo <pair_rheo>`, :doc:`pair rheo <pair_rheo>`,
:doc:`compute rheo/property/atom <compute_rheo_property_atom>` :doc:`compute rheo/property/atom <compute_rheo_property_atom>`

View File

@ -1,6 +1,6 @@
.. index:: fix rheo .. index:: fix rheo/viscosity
fix rheo command fix rheo/viscosity command
=============== ===============
Syntax Syntax
@ -8,26 +8,43 @@ Syntax
.. parsed-literal:: .. parsed-literal::
fix ID group-ID rheo fix ID group-ID rheo/viscosity vstyle args
* ID, group-ID are documented in :doc:`fix <fix>` command * ID, group-ID are documented in :doc:`fix <fix>` command
* rheo = style name of this fix command * rheo/viscosity = style name of this fix command
* vstyle = *constant* or *type* or *power*
.. parsed-literal::
*constant* arg = viscosity (mass/(length*time))
*type* args = list of viscosity values, one per atom type (mass/(length*time))
*power* args = *eta* *gd0* *K* *npow* *tau0*
*eta* = (units)
*gd0* = (units)
*K* = (units)
*npow* = (units)
*tau0* = (units)
Examples Examples
"""""""" """"""""
.. code-block:: LAMMPS .. code-block:: LAMMPS
fix 1 all rheo 1.0 CRK1 shift fix 1 all rheo/viscosity constant 1.0
fix 1 all rheo/viscosity power 0.1 1e-2 0.5 0.01
Description Description
""""""""""" """""""""""
Perform time integration to update position, velocity, internal energy This fix...
and local density for atoms in the group each timestep. This fix is
needed to time-integrate SPH systems where particles carry internal Multiple instances of this fix may be defined to apply different
variables such as internal energy. SPH stands for Smoothed Particle properties to different groups. However, the union of fix groups
Hydrodynamics. across all instances of fix rheo/viscosity must cover all atoms.
If there are multiple instances of this fix, any intersection
between fix groups will cause the viscosity for the affected atoms
to be calculated multiple times. Any such affected atoms will enabled
up with a viscosity calculated by the latest defined fix.
Restart, fix_modify, output, run start/stop, minimize info Restart, fix_modify, output, run start/stop, minimize info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -41,13 +58,17 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
Restrictions Restrictions
"""""""""""" """"""""""""
This fix must be used with an atom style that includes viscosity
such as atom_style rheo or rheo/thermal. This fix must be used in
conjuction with :doc:`fix rheo <fix_rheo>`.
This fix is part of the RHEO package. It is only enabled if This fix is part of the RHEO package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`fix rheo/viscosity <fix_rheo_viscosity>`, :doc:`fix rheo <fix_rheo>`,
:doc:`fix rheo/pressure <fix_rheo_pressure>`, :doc:`fix rheo/pressure <fix_rheo_pressure>`,
:doc:`fix rheo/thermal <fix_rheo_thermal>`, :doc:`fix rheo/thermal <fix_rheo_thermal>`,
:doc:`pair rheo <pair_rheo>`, :doc:`pair rheo <pair_rheo>`,

View File

@ -1,6 +1,6 @@
.. index:: pair_style sph/lj .. index:: pair_style sph/lj
pair_style sph/lj command pair_style rheo command
========================= =========================
Syntax Syntax
@ -8,79 +8,63 @@ Syntax
.. code-block:: LAMMPS .. code-block:: LAMMPS
pair_style sph/lj pair_style rheo cut keyword values
* cut = *quintic* or *CRK0* or *CRK1* or *CRK2*
* zero or more keyword/value pairs may be appended to args
* keyword = *rho/damp* or *artificial/visc*
.. parsed-literal::
*rho/damp* args = density damping prefactor :math:`\xi` (units?)
*artificial/visc* args = artificial viscosity prefactor :math:`\zeta` (units?)
Examples Examples
"""""""" """"""""
.. code-block:: LAMMPS .. code-block:: LAMMPS
pair_style sph/lj pair_style rheo 1.0 quintic rho/damp 1.0 artificial/visc 2.0
pair_coeff * * 1.0 2.4 pair_coeff * *
Description Description
""""""""""" """""""""""
The sph/lj style computes pressure forces between particles according pair style...
to the Lennard-Jones equation of state, which is computed according to
Ree's 1980 polynomial fit :ref:`(Ree) <Ree>`. The Lennard-Jones parameters
epsilon and sigma are set to unity. This pair style also computes
Monaghan's artificial viscosity to prevent particles from
interpenetrating :ref:`(Monaghan) <Monoghan>`.
See `this PDF guide <PDF/SPH_LAMMPS_userguide.pdf>`_ to using SPH in No coefficients are defined for each pair of atoms types via the
LAMMPS. :doc:`pair_coeff <pair_coeff>` command as in the examples
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. above.
* :math:`\nu` artificial viscosity (no units)
* h kernel function cutoff (distance units)
---------- ----------
Mixing, shift, table, tail correction, restart, rRESPA info Mixing, shift, table, tail correction, restart, rRESPA info
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This style does not support mixing. Thus, coefficients for all
I,J pairs must be specified explicitly.
This style does not support the :doc:`pair_modify <pair_modify>` This style does not support the :doc:`pair_modify <pair_modify>`
shift, table, and tail options. shift, table, and tail options.
This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and
pair_coeff commands in an input script that reads a restart file. pair_coeff commands in an input script that reads a restart file.
This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*, This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*, *middle*, *outer* keywords.
*middle*, *outer* keywords.
Restrictions Restrictions
"""""""""""" """"""""""""
As noted above, the Lennard-Jones parameters epsilon and sigma are set This fix is part of the RHEO package. It is only enabled if
to unity. LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
This pair style is part of the SPH package. It is only enabled
if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`pair_coeff <pair_coeff>`, pair_sph/rhosum :doc:`fix rheo <fix_rheo>`,
:doc:`fix rheo/pressure <fix_rheo_pressure>`,
:doc:`fix rheo/thermal <fix_rheo_thermal>`,
:doc:`fix rheo/viscosity <fix_rheo_viscosity>`,
:doc:`compute rheo/property/atom <compute_rheo_property_atom>`
Default Default
""""""" """""""
none No density damping or artificial viscous forces are calculated.
----------
.. _Ree:
**(Ree)** Ree, Journal of Chemical Physics, 73, 5401 (1980).
.. _Monoghan:
**(Monaghan)** Monaghan and Gingold, Journal of Computational Physics,
52, 374-389 (1983).

View File

@ -74,7 +74,7 @@ FixRHEO::FixRHEO(LAMMPS *lmp, int narg, char **arg) :
h = utils::numeric(FLERR,arg[3],false,lmp); h = utils::numeric(FLERR,arg[3],false,lmp);
cut = h; cut = h;
if (strcmp(arg[4],"Quintic") == 0) { if (strcmp(arg[4],"quintic") == 0) {
kernel_style = QUINTIC; kernel_style = QUINTIC;
} else if (strcmp(arg[4],"CRK0") == 0) { } else if (strcmp(arg[4],"CRK0") == 0) {
kernel_style = CRK0; kernel_style = CRK0;
@ -109,11 +109,11 @@ FixRHEO::FixRHEO(LAMMPS *lmp, int narg, char **arg) :
interface_flag = 1; interface_flag = 1;
} else if (strcmp(arg[iarg],"rho/sum") == 0) { } else if (strcmp(arg[iarg],"rho/sum") == 0) {
rhosum_flag = 1; rhosum_flag = 1;
} else if (strcmp(arg[iarg],"rho0") == 0) { } else if (strcmp(arg[iarg],"density") == 0) {
if(iarg + 1 >= narg) error->all(FLERR,"Illegal rho0 option in fix rheo"); if(iarg + 1 >= narg) error->all(FLERR,"Illegal rho0 option in fix rheo");
rho0 = utils::numeric(FLERR,arg[iarg + 1],false,lmp); rho0 = utils::numeric(FLERR,arg[iarg + 1],false,lmp);
iarg += 1; iarg += 1;
} else if (strcmp(arg[iarg],"csq") == 0) { } else if (strcmp(arg[iarg],"sound/squared") == 0) {
if(iarg+1 >= narg) error->all(FLERR,"Illegal csq option in fix rheo"); if(iarg+1 >= narg) error->all(FLERR,"Illegal csq option in fix rheo");
csq = utils::numeric(FLERR,arg[iarg + 1],false,lmp); csq = utils::numeric(FLERR,arg[iarg + 1],false,lmp);
iarg += 1; iarg += 1;

View File

@ -72,7 +72,7 @@ FixRHEOThermal::FixRHEOThermal(LAMMPS *lmp, int narg, char **arg) :
} else { } else {
error->all(FLERR,"Illegal fix command, {}", arg[iarg + 1]); error->all(FLERR,"Illegal fix command, {}", arg[iarg + 1]);
} }
} else if (strcmp(arg[iarg],"cv") == 0) { } else if (strcmp(arg[iarg],"specific/heat") == 0) {
// Cv arguments // Cv arguments
if (iarg + 1 >= narg) error->all(FLERR,"Insufficient arguments for cv option"); if (iarg + 1 >= narg) error->all(FLERR,"Insufficient arguments for cv option");
if (strcmp(arg[iarg + 1],"constant") == 0) { if (strcmp(arg[iarg + 1],"constant") == 0) {

View File

@ -357,7 +357,7 @@ void PairRHEO::settings(int narg, char **arg)
if (narg < 1) error->all(FLERR,"Illegal pair_style command"); if (narg < 1) error->all(FLERR,"Illegal pair_style command");
h = utils::numeric(FLERR,arg[0],false,lmp); h = utils::numeric(FLERR,arg[0],false,lmp);
printf("settings\n");
int iarg = 1; int iarg = 1;
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg], "rho/damp") == 0) { if (strcmp(arg[iarg], "rho/damp") == 0) {
@ -423,7 +423,7 @@ void PairRHEO::setup()
thermal_flag = fix_rheo->thermal_flag; thermal_flag = fix_rheo->thermal_flag;
csq = fix_rheo->csq; csq = fix_rheo->csq;
rho0 = fix_rheo->rho0; rho0 = fix_rheo->rho0;
printf("setup\n");
if (h != fix_rheo->h) if (h != fix_rheo->h)
error->all(FLERR, "Pair rheo cutoff {} does not agree with fix rheo cutoff {}", h, fix_rheo->h); error->all(FLERR, "Pair rheo cutoff {} does not agree with fix rheo cutoff {}", h, fix_rheo->h);
@ -455,6 +455,6 @@ double PairRHEO::init_one(int i, int j)
if (setflag[i][j] == 0) { if (setflag[i][j] == 0) {
error->all(FLERR,"All pair rheo coeffs are not set"); error->all(FLERR,"All pair rheo coeffs are not set");
} }
printf("init one\n");
return h; return h;
} }