"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c

:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)

:line

compute gyration/chunk command :h3

[Syntax:]

compute ID group-ID gyration/chunk chunkID keyword value ... :pre

ID, group-ID are documented in "compute"_compute.html command :ulb,l
gyration/chunk = style name of this compute command :l
chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :l
zero or more keyword/value pairs may be appended :l
keyword = {tensor} :l
  {tensor} value = none :pre
:ule

[Examples:]

compute 1 molecule gyration/chunk molchunk
compute 2 molecule gyration/chunk molchunk tensor :pre

[Description:]

Define a computation that calculates the radius of gyration Rg for
multiple chunks of atoms.

In LAMMPS, chunks are collections of atoms defined by a "compute
chunk/atom"_compute_chunk_atom.html command, which assigns each atom
to a single chunk (or no chunk).  The ID for this command is specified
as chunkID.  For example, a single chunk could be the atoms in a
molecule or atoms in a spatial bin.  See the "compute
chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html
doc pages for details of how chunks can be defined and examples of how
they can be used to measure properties of a system.

This compute calculates the radius of gyration Rg for each chunk,
which includes all effects due to atoms passing through periodic
boundaries.

Rg is a measure of the size of a chunk, and is computed by this
formula

:c,image(Eqs/compute_gyration.jpg)

where M is the total mass of the chunk, Rcm is the center-of-mass
position of the chunk, and the sum is over all atoms in the
chunk.

Note that only atoms in the specified group contribute to the
calculation.  The "compute chunk/atom"_compute_chunk_atom.html command
defines its own group; atoms will have a chunk ID = 0 if they are not
in that group, signifying they are not assigned to a chunk, and will
thus also not contribute to this calculation.  You can specify the
"all" group for this command if you simply want to include atoms with
non-zero chunk IDs.

If the {tensor} keyword is specified, then the scalar Rg value is not
calculated, but an Rg tensor is instead calculated for each chunk.
The formula for the components of the tensor is the same as the above
formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy -
Rcmy) for the xy component, etc.  The 6 components of the tensor are
ordered xx, yy, zz, xy, xz, yz.

NOTE: The coordinates of an atom contribute to Rg in "unwrapped" form,
by using the image flags associated with each atom.  See the "dump
custom"_dump.html command for a discussion of "unwrapped" coordinates.
See the Atoms section of the "read_data"_read_data.html command for a
discussion of image flags and how they are set for each atom.  You can
reset the image flags (e.g. to 0) before invoking this compute by
using the "set image"_set.html command.

The simplest way to output the results of the compute gyration/chunk
calculation to a file is to use the "fix ave/time"_fix_ave_time.html
command, for example:

compute cc1 all chunk/atom molecule
compute myChunk all gyration/chunk cc1
fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector :pre

[Output info:]

This compute calculates a global vector if the {tensor} keyword is not
specified and a global array if it is.  The length of the vector or
number of rows in the array = the number of chunks {Nchunk} as
calculated by the specified "compute
chunk/atom"_compute_chunk_atom.html command.  If the {tensor} keyword
is specified, the global array has 6 columns.  The vector or array can
be accessed by any command that uses global values from a compute as
input.  See the "Howto output"_Howto_output.html doc page for an
overview of LAMMPS output options.

All the vector or array values calculated by this compute are
"intensive".  The vector or array values will be in distance
"units"_units.html, since they are the square root of values
represented by the formula above.

[Restrictions:] none

[Related commands:] none

"compute gyration"_compute_gyration.html

[Default:] none
