2009-12-22 01:27:08 +08:00
|
|
|
<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/molecule command
|
|
|
|
</H3>
|
|
|
|
<P><B>Syntax:</B>
|
|
|
|
</P>
|
|
|
|
<PRE>compute ID group-ID msd/molecule
|
|
|
|
</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
|
|
|
|
</UL>
|
|
|
|
<P><B>Examples:</B>
|
|
|
|
</P>
|
|
|
|
<PRE>compute 1 all msd/molecule
|
|
|
|
</PRE>
|
|
|
|
<P><B>Description:</B>
|
|
|
|
</P>
|
|
|
|
<P>Define a computation that calculates the mean-squared displacement
|
|
|
|
(MSD) of individual molecules. The calculation includes all effects
|
|
|
|
due to atoms passing thru periodic boundaries.
|
|
|
|
</P>
|
|
|
|
<P>Four quantites are calculated by this compute for each molecule. 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.
|
|
|
|
</P>
|
|
|
|
<P>The slope of the mean-squared displacement (MSD) versus time is
|
|
|
|
proportional to the diffusion coefficient of the diffusing molecules.
|
|
|
|
</P>
|
|
|
|
<P>The displacement of the center-of-mass of the molecule is from its
|
|
|
|
original center-of-mass position at the time the compute command was
|
|
|
|
issued.
|
|
|
|
</P>
|
|
|
|
<P>The MSD for a particular molecule is only computed if one or more of
|
|
|
|
its atoms are in the specified group. Normally all atoms in the
|
|
|
|
molecule should be in the group, however this is not required. LAMMPS
|
|
|
|
will warn you if this is not the case. Only atoms in the group
|
|
|
|
contribute to the center-of-mass calculation for the molecule, which
|
|
|
|
is used to caculate its initial and current position.
|
|
|
|
</P>
|
|
|
|
<P>Let Nmolecules be the number of molecules for which the MSD is
|
|
|
|
calculated. If not all molecules have atoms in the group, then the
|
|
|
|
molecule with the lowest ID is the first of the Nmolecules. The next
|
|
|
|
lowest ID is the second, etc, up to Nmolecules.
|
|
|
|
</P>
|
|
|
|
<P>IMPORTANT NOTE: The initial coordinates of each molecule 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: If an atom is part of a rigid body (see the <A HREF = "fix_rigid.html">fix
|
|
|
|
rigid</A> command), it's periodic image flags are altered,
|
|
|
|
and its contribution to the MSD may not reflect its true contribution.
|
|
|
|
See the <A HREF = "fix_rigid.html">fix rigid</A> command for details. Thus, to
|
|
|
|
compute the MSD of rigid bodies as they cross periodic boundaries, you
|
|
|
|
will need to post-process a <A HREF = "dump.html">dump file</A> containing
|
|
|
|
coordinates of the atoms in the bodies.
|
|
|
|
</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
|
2009-12-22 01:34:52 +08:00
|
|
|
molecule calculation of this compute when running from a <A HREF = "read_restart.html">restart
|
2009-12-22 01:27:08 +08:00
|
|
|
file</A>.
|
|
|
|
</P>
|
|
|
|
<P><B>Output info:</B>
|
|
|
|
</P>
|
2009-12-22 01:34:52 +08:00
|
|
|
<P>This compute calculates a global array where the number of rows =
|
2009-12-22 01:27:08 +08:00
|
|
|
Nmolecules and 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#4_15">this
|
|
|
|
section</A> for an overview of LAMMPS output
|
|
|
|
options.
|
|
|
|
</P>
|
|
|
|
<P>The array values are "intensive", meaning they are independent of the
|
|
|
|
number of atoms in the simulation.
|
|
|
|
</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>
|