mirror of https://github.com/lammps/lammps.git
86 lines
2.8 KiB
Plaintext
86 lines
2.8 KiB
Plaintext
.. index:: compute cluster/atom
|
|
|
|
compute cluster/atom command
|
|
============================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute ID group-ID cluster/atom cutoff
|
|
|
|
* ID, group-ID are documented in :doc:`compute <compute>` command
|
|
* cluster/atom = style name of this compute command
|
|
* cutoff = distance within which to label atoms as part of same cluster (distance units)
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute 1 all cluster/atom 1.0
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Define a computation that assigns each atom a cluster ID.
|
|
|
|
A cluster is defined as a set of atoms, each of which is within the
|
|
cutoff distance from one or more other atoms in the cluster. If an
|
|
atom has no neighbors within the cutoff distance, then it is a 1-atom
|
|
cluster. The ID of every atom in the cluster will be the smallest
|
|
atom ID of any atom in the cluster.
|
|
|
|
Only atoms in the compute group are clustered and assigned cluster
|
|
IDs. Atoms not in the compute group are assigned a cluster ID = 0.
|
|
|
|
The neighbor list needed to compute this quantity is constructed each
|
|
time the calculation is performed (i.e. each time a snapshot of atoms
|
|
is dumped). Thus it can be inefficient to compute/dump this quantity
|
|
too frequently or to have multiple compute/dump commands, each of a
|
|
*clsuter/atom* style.
|
|
|
|
.. note::
|
|
|
|
If you have a bonded system, then the settings of
|
|
:doc:`special_bonds <special_bonds>` command can remove pairwise
|
|
interactions between atoms in the same bond, angle, or dihedral. This
|
|
is the default setting for the :doc:`special_bonds <special_bonds>`
|
|
command, and means those pairwise interactions do not appear in the
|
|
neighbor list. Because this fix uses the neighbor list, it also means
|
|
those pairs will not be included when computing the clusters. This
|
|
does not apply when using long-range coulomb (\ *coul/long*\ , *coul/msm*\ ,
|
|
*coul/wolf* or similar. One way to get around this would be to set
|
|
special_bond scaling factors to very tiny numbers that are not exactly
|
|
zero (e.g. 1.0e-50). Another workaround is to write a dump file, and
|
|
use the :doc:`rerun <rerun>` command to compute the clusters for
|
|
snapshots in the dump file. The rerun script can use a
|
|
:doc:`special_bonds <special_bonds>` command that includes all pairs in
|
|
the neighbor list.
|
|
|
|
**Output info:**
|
|
|
|
This compute calculates a per-atom vector, which can be accessed by
|
|
any command that uses per-atom values from a compute as input. See
|
|
:ref:`Section_howto 15 <howto_15>` for an overview of
|
|
LAMMPS output options.
|
|
|
|
The per-atom vector values will be an ID > 0, as explained above.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
none
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`compute coord/atom <compute_coord_atom>`
|
|
|
|
**Default:** none
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|