diff --git a/doc/src/Commands_compute.rst b/doc/src/Commands_compute.rst index 01d3c5c161..07f5100ea4 100644 --- a/doc/src/Commands_compute.rst +++ b/doc/src/Commands_compute.rst @@ -115,7 +115,7 @@ KOKKOS, o = OPENMP, t = OPT. * :doc:`property/grid ` * :doc:`property/local ` * :doc:`ptm/atom ` - * :doc:`rattlers ` + * :doc:`rattlers/atom ` * :doc:`rdf ` * :doc:`reduce ` * :doc:`reduce/chunk ` diff --git a/doc/src/compute.rst b/doc/src/compute.rst index d63bb1abb1..8471f71fa8 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -269,7 +269,7 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`property/grid ` - convert per-grid attributes to per-grid vectors/arrays * :doc:`property/local ` - convert local attributes to local vectors/arrays * :doc:`ptm/atom ` - determines the local lattice structure based on the Polyhedral Template Matching method -* :doc:`rattlers ` - identify under-coordinated rattler atoms +* :doc:`rattlers/atom ` - identify under-coordinated rattler atoms * :doc:`rdf ` - radial distribution function :math:`g(r)` histogram of group of atoms * :doc:`reduce ` - combine per-atom quantities into a single global value * :doc:`reduce/chunk ` - reduce per-atom quantities within each chunk diff --git a/doc/src/compute_rattlers.rst b/doc/src/compute_rattlers.rst deleted file mode 100644 index 58dba3a126..0000000000 --- a/doc/src/compute_rattlers.rst +++ /dev/null @@ -1,77 +0,0 @@ -.. index:: compute rattlers - -compute rattlers command -======================== - -Syntax -"""""" - -.. parsed-literal:: - - compute ID group-ID rattlers cutoff zmin ntries - -* ID, group-ID are documented in :doc:`compute ` command -* rattlers = style name of this compute command -* cutoff = *type* or *radius* - - .. parsed-literal:: - - *type* = cutoffs determined based on atom types - *radius* = cutoffs determined based on atom diameters (atom style sphere) - -* zmin = minimum coordination for a non-rattler particle -* ntries = maximum number of iterations to remove rattlers - -Examples -"""""""" - -.. code-block:: LAMMPS - - compute 1 all rattlers type 4 10 - -Description -""""""""""" - -.. versionadded:: TBD - -Define a compute that identifies rattlers in a system. Rattlers are -identified using an interactive approach. The coordination number of -all atoms is first calculated. The *type* and *radius* settings are -used to select whether interaction cutoffs are determined by atom -types or by the sum of atomic radii (atom style sphere), respectively. -Rattlers are then identified as particles with a coordination number -less than *zmin* and are removed from consideration. Atomic coordination -numbers are then recalculated, excluding previously identified rattlers, -to identify a new set of rattlers. This process is iterated, up to a maximum -of *ntries*, until no new rattlers are identified and the remaining -atoms form a stable network of contacts. - -Output info -""""""""""" - -This compute calculates a per-atom vector and a global scalar. The vector -designates which atoms are rattlers, indicated by a value 1. Non-rattlers -have a value of 0. The global scalar returns the total number of rattlers -in the system. See the :doc:`Howto output ` page for an -overview of LAMMPS output options. - -Restrictions -"""""""""""" - -This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the -:doc:`Build package ` page for more info. - -The *radius* cutoff option requires that atoms store a radius as defined by the -:doc:`atom_style sphere ` or similar commands. - -Related commands -"""""""""""""""" - -:doc:`compute coord/atom ` -:doc:`compute contact/atom ` - -Default -""""""" - -none diff --git a/doc/src/compute_rattlers_atom.rst b/doc/src/compute_rattlers_atom.rst new file mode 100644 index 0000000000..a69d091466 --- /dev/null +++ b/doc/src/compute_rattlers_atom.rst @@ -0,0 +1,92 @@ +.. index:: compute rattlers/atom + +compute rattlers/atom command +======================== + +Syntax +"""""" + +.. parsed-literal:: + + compute ID group-ID rattlers/atom cutoff zmin ntries + +* ID, group-ID are documented in :doc:`compute ` command +* rattlers/atom = style name of this compute command +* cutoff = *type* or *radius* + + .. parsed-literal:: + + *type* = cutoffs determined based on atom types + *radius* = cutoffs determined based on atom diameters (atom style sphere) + +* zmin = minimum coordination for a non-rattler atom +* ntries = maximum number of iterations to remove rattlers + +Examples +"""""""" + +.. code-block:: LAMMPS + + compute 1 all rattlers/atom type 4 10 + +Description +""""""""""" + +.. versionadded:: TBD + +Define a compute that identifies rattlers in a system. Rattlers are often +identified in granular or glassy packings as undercoordinated atoms that +do not have the required number of contacts to constrain their translational +degrees of freedom. Such atoms are not considered rigid and can often freely +rattle around in the system. This compute identifies rattlers which can be +helpful for excluding them from analysis or providing extra damping forces +to accelerate relaxation processes. + +Rattlers are identified using an interactive approach. The coordination +number of all atoms is first calculated. The *type* and *radius* settings +are used to select whether interaction cutoffs are determined by atom +types or by the sum of atomic radii (atom style sphere), respectively. +Rattlers are then identified as atoms with a coordination number less +than *zmin* and are removed from consideration. Atomic coordination +numbers are then recalculated, excluding previously identified rattlers, +to identify a new set of rattlers. This process is iterated up to a maximum +of *ntries* or until no new rattlers are identified and the remaining +atoms form a stable network of contacts. + +In dense homogeneous systems where the average atom coordination number +is expected to be larger than *zmin*, this process usually only takes a few +iterations and a value of *ntries* around ten may be sufficient. In systems +with significant heterogeneity or average coordination numbers less than +*zmin*, an appropriate value of *ntries* depends heavily on the specific +system. For instance, a linear chain of N rattler atoms with a *zmin* of 2 +would take N/2 iterations to identify that all the atoms are rattlers. + +Output info +""""""""""" + +This compute calculates a per-atom vector and a global scalar. The vector +designates which atoms are rattlers, indicated by a value 1. Non-rattlers +have a value of 0. The global scalar returns the total number of rattlers +in the system. See the :doc:`Howto output ` page for an +overview of LAMMPS output options. + +Restrictions +"""""""""""" + +This compute is part of the EXTRA-COMPUTE package. It is only enabled if +LAMMPS was built with that package. See the +:doc:`Build package ` page for more info. + +The *radius* cutoff option requires that atoms store a radius as defined by the +:doc:`atom_style sphere ` or similar commands. + +Related commands +"""""""""""""""" + +:doc:`compute coord/atom ` +:doc:`compute contact/atom ` + +Default +""""""" + +none