2009-12-04 07:58:51 +08:00
|
|
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
|
|
:link(ld,Manual.html)
|
|
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
compute msd command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
compute ID group-ID msd keyword values ... :pre
|
|
|
|
|
|
|
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
|
|
|
msd = style name of this compute command :l
|
|
|
|
zero or more keyword/value pairs may be appended :l
|
|
|
|
keyword = {com} :l
|
|
|
|
{com} value = {yes} or {no} :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
2009-12-04 08:42:15 +08:00
|
|
|
compute 1 all msd
|
|
|
|
compute 1 upper msd com yes :pre
|
2009-12-04 07:58:51 +08:00
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
Define a computation that calculates the mean-squared displacement
|
|
|
|
(MSD) of the group of atoms, including all effects due to atoms
|
|
|
|
passing thru periodic boundaries.
|
|
|
|
|
|
|
|
A vector of four quantites is calculated by this compute. The first 3
|
|
|
|
elements of the vector are the squared dx,dy,dz displacements, summed
|
|
|
|
and averaged over atoms in the group. The 4th component is the total
|
|
|
|
squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and
|
|
|
|
averaged over atoms in the group.
|
|
|
|
|
2009-12-04 08:42:15 +08:00
|
|
|
The slope of the mean-squared displacement (MSD) versus time is
|
|
|
|
proportional to the diffusion coefficient of the diffusing atoms.
|
2009-12-04 07:58:51 +08:00
|
|
|
|
|
|
|
The displacement of an atom is from its original position at the time
|
|
|
|
the compute command was issued. To store the original coordinates,
|
2009-12-22 08:22:16 +08:00
|
|
|
the compute creates its own fix of style "store/coord", as if this
|
2009-12-04 07:58:51 +08:00
|
|
|
command had been issued:
|
|
|
|
|
2009-12-22 08:22:16 +08:00
|
|
|
fix compute-ID_store_coord group-ID store/coord :pre
|
2009-12-04 07:58:51 +08:00
|
|
|
|
2009-12-22 08:22:16 +08:00
|
|
|
See the "fix store/coord"_fix_store_coord.html command for
|
2009-12-04 07:58:51 +08:00
|
|
|
details. Note that the ID of the new fix is the compute-ID +
|
2009-12-22 08:22:16 +08:00
|
|
|
underscore + "store_coord", and the group for the new fix is
|
2009-12-04 07:58:51 +08:00
|
|
|
the same as the compute group.
|
|
|
|
|
|
|
|
If the {com} option is set to {yes} then the effect of any drift
|
|
|
|
in the center-of-mass of the group of atoms is subtracted out before
|
|
|
|
the displacment of each atom is calcluated. The {com} option
|
2009-12-22 08:22:16 +08:00
|
|
|
is also passed to the created fix store/coord.
|
2009-12-04 07:58:51 +08:00
|
|
|
|
2009-12-22 08:22:16 +08:00
|
|
|
IMPORTANT NOTE: Fix store/coord stores the initial coordinates in
|
2009-12-04 07:58:51 +08:00
|
|
|
"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.
|
|
|
|
|
|
|
|
IMPORTANT NOTE: If an atom is part of a rigid body (see the "fix
|
|
|
|
rigid"_fix_rigid.html command), it's periodic image flags are altered,
|
2009-12-04 08:42:15 +08:00
|
|
|
and its contribution to the MSD may not reflect its true contribution.
|
|
|
|
See the "fix rigid"_fix_rigid.html command for details. Thus, to
|
|
|
|
compute the MSD of rigid bodies as they cross periodic boundaries, you
|
|
|
|
will need to post-process a "dump file"_dump.html containing
|
|
|
|
coordinates of the atoms in the bodies.
|
2009-12-04 07:58:51 +08:00
|
|
|
|
|
|
|
IMPORTANT NOTE: If you want the quantities calculated by this compute
|
|
|
|
to be continuous when running from a "restart file"_read_restart.html,
|
|
|
|
then you should use the same ID for this compute, as in the original
|
|
|
|
run. This is so that the created fix will also have the same ID, and
|
|
|
|
thus be initialized correctly with atom coordinates from the restart
|
|
|
|
file.
|
|
|
|
|
|
|
|
[Output info:]
|
|
|
|
|
|
|
|
This compute calculates a global vector of length 4, which can be
|
|
|
|
accessed by indices 1-4 by any command that uses global vector values
|
|
|
|
from a compute as input. See "this section"_Section_howto.html#4_15
|
|
|
|
for an overview of LAMMPS output options.
|
|
|
|
|
|
|
|
The vector values are "intensive", meaning they are independent of the
|
|
|
|
number of atoms in the simulation.
|
|
|
|
|
2010-01-24 07:20:05 +08:00
|
|
|
The vector values will be in distance^2 "units"_units.html.
|
|
|
|
|
2009-12-04 07:58:51 +08:00
|
|
|
[Restrictions:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"compute displace_atom"_compute_displace_atom.html, "fix
|
2009-12-22 08:22:16 +08:00
|
|
|
store/coord"_fix_store_coord.html, "compute
|
2009-12-22 01:34:52 +08:00
|
|
|
msd/molecule"_compute_msd_molecule.html
|
2009-12-04 07:58:51 +08:00
|
|
|
|
|
|
|
[Default:]
|
|
|
|
|
|
|
|
The option default is com = no.
|