forked from lijiext/lammps
115 lines
4.6 KiB
Plaintext
115 lines
4.6 KiB
Plaintext
"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} or {average} :l
|
|
{com} value = {yes} or {no}
|
|
{average} value = {yes} or {no} :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
compute 1 all msd
|
|
compute 1 upper msd com yes average yes :pre
|
|
|
|
[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. For computation of the non-Gaussian
|
|
parameter of mean-squared displacement, see the "compute
|
|
msd/nongauss"_compute_msd_nongauss.html command.
|
|
|
|
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 element is the total
|
|
squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and
|
|
averaged over atoms in the group.
|
|
|
|
The slope of the mean-squared displacement (MSD) versus time is
|
|
proportional to the diffusion coefficient of the diffusing atoms.
|
|
|
|
The displacement of an atom is from its reference position. This is
|
|
normally the original position at the time
|
|
the compute command was issued, unless the {average} keyword is set to {yes}.
|
|
The value of the displacement will be
|
|
0.0 for atoms not in the specified 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 calculated.
|
|
|
|
If the {average} option is set to {yes} then the reference position of
|
|
an atom is based on the average position of that atom, corrected for
|
|
center-of-mass motion if requested. The average position is a running
|
|
average over all previous calls to the compute, including the current
|
|
call. So on the first call it is current position, on the second call
|
|
it is the arithmetic average of the current position and the position
|
|
on the first call, and so on. Note that when using this option, the
|
|
precise value of the mean square displacement will depend on the
|
|
number of times the compute is called. So, for example, changing the
|
|
frequency of thermo output may change the computed displacement. Also,
|
|
the precise values will be changed if a single simulation is broken up
|
|
into two parts, using either multiple run commands or a restart
|
|
file. It only makes sense to use this option if the atoms are not
|
|
diffusing, so that their average positions relative to the center of
|
|
mass of the system are stationary. The most common case is crystalline
|
|
solids undergoing thermal motion.
|
|
|
|
NOTE: Initial coordinates are stored 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.
|
|
|
|
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 fix this compute creates to store per-atom
|
|
quantities will also have the same ID, and thus be initialized
|
|
correctly with atom reference positions from the restart file. When
|
|
{average} is set to yes, then the atom reference positions are
|
|
restored correctly, but not the number of samples used obtain them. As
|
|
a result, the reference positions from the restart file are combined
|
|
with subsequent positions as if they were from a single sample,
|
|
instead of many, which will change the values of msd somewhat.
|
|
|
|
[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#howto_15 for an overview of LAMMPS output
|
|
options.
|
|
|
|
The vector values are "intensive". The vector values will be in
|
|
distance^2 "units"_units.html.
|
|
|
|
[Restrictions:] none
|
|
|
|
[Related commands:]
|
|
|
|
"compute msd/nongauss"_compute_msd_nongauss.html, "compute
|
|
displace_atom"_compute_displace_atom.html, "fix
|
|
store/state"_fix_store_state.html, "compute
|
|
msd/chunk"_compute_msd_chunk.html
|
|
|
|
[Default:]
|
|
|
|
The option default are com = no, average = no.
|