forked from lijiext/lammps
126 lines
5.4 KiB
HTML
126 lines
5.4 KiB
HTML
<HTML>
|
|
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
|
</CENTER>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<HR>
|
|
|
|
<H3>compute msd/chunk command
|
|
</H3>
|
|
<P><B>Syntax:</B>
|
|
</P>
|
|
<PRE>compute ID group-ID msd/chunk chunkID
|
|
</PRE>
|
|
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
|
<LI>msd/molecule = style name of this compute command
|
|
<LI>chunkID = ID of <A HREF = "compute_chunk_atom.html">compute chunk/atom</A> command
|
|
</UL>
|
|
<P><B>Examples:</B>
|
|
</P>
|
|
<PRE>compute 1 all msd/chunk molchunk
|
|
</PRE>
|
|
<P><B>Description:</B>
|
|
</P>
|
|
<P>Define a computation that calculates the mean-squared displacement
|
|
(MSD) for multiple chunks of atoms.
|
|
</P>
|
|
<P>In LAMMPS, chunks are collections of atoms defined by a <A HREF = "compute_chunk_atom.html">compute
|
|
chunk/atom</A> 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 <A HREF = "compute_chunk_atom.html">compute
|
|
chunk/atom</A> doc page and "<A HREF = "Section_howto.html#howto_23">Section_howto
|
|
23</A> for details of how chunks can be
|
|
defined and examples of how they can be used to measure properties of
|
|
a system.
|
|
</P>
|
|
<P>Four quantites are calculated by this compute for each chunk. The
|
|
first 3 quantities are the squared dx,dy,dz displacements of the
|
|
center-of-mass. The 4th component is the total squared displacement,
|
|
i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These
|
|
calculations include all effects due to atoms passing thru periodic
|
|
boundaries.
|
|
</P>
|
|
<P>Note that only atoms in the specified group contribute to the
|
|
calculation. The <A HREF = "compute_chunk_atom.html">compute chunk/atom</A> 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.
|
|
</P>
|
|
<P>The slope of the mean-squared displacement (MSD) versus time is
|
|
proportional to the diffusion coefficient of the diffusing chunks.
|
|
</P>
|
|
<P>The displacement of the center-of-mass of the chunk is from its
|
|
original center-of-mass position, calculated on the timestep this
|
|
compute command was first invoked.
|
|
</P>
|
|
<P>IMPORTANT NOTE: The number of chunks <I>Nchunk</I> calculated by the
|
|
<A HREF = "compute_chunk_atom.html">compute chunk/atom</A> command must remain
|
|
constant each time this compute is invoked, so that the displacement
|
|
for each chunk from its original position can be computed
|
|
consistently. If <I>Nchunk</I> does not remain constant, an error will be
|
|
generated. If needed, you can enforce a constant <I>Nchunk</I> by using
|
|
the <I>nchunk once</I> or <I>ids once</I> options when specifying the <A HREF = "compute_chunk_atom.html">compute
|
|
chunk/atom</A> command.
|
|
</P>
|
|
<P>IMPORTANT NOTE: This compute stores the original position (of the
|
|
center-of-mass) of each chunk. When a displacement is calculated on a
|
|
later timestep, it is assumed that the same atoms are assigned to the
|
|
same chunk ID. However LAMMPS has no simple way to insure this is the
|
|
case, though you can use the <I>ids once</I> option when specifying the
|
|
<A HREF = "compute_chunk_atom.html">compute chunk/atom</A> command. Note that if
|
|
this is not the case, the MSD calculation does not have a sensible
|
|
meaning.
|
|
</P>
|
|
<P>IMPORTANT NOTE: The initial coordinates of the atoms in each chunk are
|
|
stored in "unwrapped" form, by using the image flags associated with
|
|
each atom. See the <A HREF = "dump.html">dump custom</A> command for a discussion
|
|
of "unwrapped" coordinates. See the Atoms section of the
|
|
<A HREF = "read_data.html">read_data</A> 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 <A HREF = "set.html">set
|
|
image</A> command.
|
|
</P>
|
|
<P>IMPORTANT NOTE: Unlike the <A HREF = "compute_msd.html">compute msd</A> command,
|
|
this compute does not store the initial center-of-mass coorindates of
|
|
its molecules in a restart file. Thus you cannot continue the MSD per
|
|
chunk calculation of this compute when running from a <A HREF = "read_restart.html">restart
|
|
file</A>.
|
|
</P>
|
|
<P>The simplest way to output the results of the compute com/msd
|
|
calculation to a file is to use the <A HREF = "fix_ave_time.html">fix ave/time</A>
|
|
command, for example:
|
|
</P>
|
|
<PRE>compute cc1 all chunk/atom molecule
|
|
compute myChunk all com/msd cc1
|
|
fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector
|
|
</PRE>
|
|
<P><B>Output info:</B>
|
|
</P>
|
|
<P>This compute calculates a global array where the number of rows = the
|
|
number of chunks <I>Nchunk</I> as calculated by the specified <A HREF = "compute_chunk_atom.html">compute
|
|
chunk/atom</A> command. The number of columns =
|
|
4 for dx,dy,dz and the total displacement. These values can be
|
|
accessed by any command that uses global array values from a compute
|
|
as input. See <A HREF = "Section_howto.html#howto_15">this section</A> for an
|
|
overview of LAMMPS output options.
|
|
</P>
|
|
<P>The array values are "intensive". The array values will be in
|
|
distance^2 <A HREF = "units.html">units</A>.
|
|
</P>
|
|
<P><B>Restrictions:</B> none
|
|
</P>
|
|
<P><B>Related commands:</B>
|
|
</P>
|
|
<P><A HREF = "compute_msd.html">compute msd</A>
|
|
</P>
|
|
<P><B>Default:</B> none
|
|
</P>
|
|
</HTML>
|