110 lines
3.6 KiB
ReStructuredText
110 lines
3.6 KiB
ReStructuredText
.. index:: fix rheo/viscosity
|
|
|
|
fix rheo/viscosity command
|
|
==========================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
fix ID group-ID rheo/viscosity type1 pstyle1 args1 ... typeN pstyleN argsN
|
|
|
|
* ID, group-ID are documented in :doc:`fix <fix>` command
|
|
* rheo/viscosity = style name of this fix command
|
|
* one or more types and viscosity styles must be appended
|
|
* types = lists of types (see below)
|
|
* vstyle = *constant* or *power*
|
|
|
|
.. parsed-literal::
|
|
|
|
*constant* args = *eta*
|
|
*eta* = viscosity
|
|
|
|
*power* args = *eta*, *gd0*, *K*, *n*
|
|
*eta* = viscosity
|
|
*gd0* = critical strain rate
|
|
*K* = consistency index
|
|
*n* = power-law exponent
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. code-block:: LAMMPS
|
|
|
|
fix 1 all rheo/viscosity * constant 1.0
|
|
fix 1 all rheo/viscosity 1 constant 1.0 2 power 0.1 5e-4 0.001 0.5
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
.. versionadded:: 29Aug2024
|
|
|
|
This fix defines a viscosity for RHEO particles. One can define different
|
|
viscosities for different atom types, but a viscosity must be specified for
|
|
every atom type.
|
|
|
|
One first defines the atom *types*. A wild-card asterisk can be used in place
|
|
of or in conjunction with the *types* argument to set values for multiple atom
|
|
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is
|
|
the number of atom types, then an asterisk with no numeric values means all types
|
|
from 1 to :math:`N`. A leading asterisk means all types from 1 to n (inclusive).
|
|
A trailing asterisk means all types from m to :math:`N` (inclusive). A middle
|
|
asterisk means all types from m to n (inclusive).
|
|
|
|
The *types* definition is followed by the viscosity style, *vstyle*. Two
|
|
options are available, *constant* and *power*. Style *constant* simply
|
|
applies a constant value of the viscosity *eta* to each particle of the
|
|
assigned type. Style *power* is a Hershchel-Bulkley constitutive equation
|
|
for the stress :math:`\tau`
|
|
|
|
.. math::
|
|
|
|
\tau = \left(\frac{\tau_0}{\dot{\gamma}} + K \dot{\gamma}^{n - 1}\right) \dot{\gamma}, \tau \ge \tau_0
|
|
|
|
where :math:`\dot{\gamma}` is the strain rate and :math:`\tau_0` is the critical
|
|
yield stress, below which :math:`\dot{\gamma} = 0.0`. To avoid divergences, this
|
|
expression is regularized by defining a critical strain rate *gd0*. If the local
|
|
strain rate on a particle falls below this limit, a constant viscosity of *eta*
|
|
is assigned. This implies a value of
|
|
|
|
.. math::
|
|
\tau_0 = \eta \dot{\gamma}_0 - K \dot{\gamma}_0^N
|
|
|
|
|
|
Restart, fix_modify, output, run start/stop, minimize info
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
No information about this fix is written to :doc:`binary restart files <restart>`.
|
|
None of the :doc:`fix_modify <fix_modify>` options
|
|
are relevant to this fix. No global or per-atom quantities are stored
|
|
by this fix for access by various :doc:`output commands <Howto_output>`.
|
|
No parameter of this fix can be used with the *start/stop* keywords of
|
|
the :doc:`run <run>` command. This fix is not invoked during
|
|
:doc:`energy minimization <minimize>`.
|
|
|
|
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
|
|
conjunction with :doc:`fix rheo <fix_rheo>`. The fix group must be
|
|
set to all. Only one instance of fix rheo/viscosity can be defined.
|
|
|
|
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.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`fix rheo <fix_rheo>`,
|
|
:doc:`pair rheo <pair_rheo>`,
|
|
:doc:`compute rheo/property/atom <compute_rheo_property_atom>`
|
|
|
|
Default
|
|
"""""""
|
|
|
|
none
|
|
|