git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@16053 f3b2605a-c512-4ea7-a41b...
[lammps.git] / doc / src / compute_msd_chunk.txt
blob7382ca87dea37aeb3a4705c258664d186cd15979
1 "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
3 :link(lws,http://lammps.sandia.gov)
4 :link(ld,Manual.html)
5 :link(lc,Section_commands.html#comm)
7 :line
9 compute msd/chunk command :h3
11 [Syntax:]
13 compute ID group-ID msd/chunk chunkID :pre
15 ID, group-ID are documented in "compute"_compute.html command
16 msd/chunk = style name of this compute command
17 chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul
19 [Examples:]
21 compute 1 all msd/chunk molchunk :pre
23 [Description:]
25 Define a computation that calculates the mean-squared displacement
26 (MSD) for multiple chunks of atoms.
28 In LAMMPS, chunks are collections of atoms defined by a "compute
29 chunk/atom"_compute_chunk_atom.html command, which assigns each atom
30 to a single chunk (or no chunk).  The ID for this command is specified
31 as chunkID.  For example, a single chunk could be the atoms in a
32 molecule or atoms in a spatial bin.  See the "compute
33 chunk/atom"_compute_chunk_atom.html doc page and "Section
34 6.23"_Section_howto.html#howto_23 for details of how chunks can be
35 defined and examples of how they can be used to measure properties of
36 a system.
38 Four quantites are calculated by this compute for each chunk.  The
39 first 3 quantities are the squared dx,dy,dz displacements of the
40 center-of-mass.  The 4th component is the total squared displacement,
41 i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass.  These
42 calculations include all effects due to atoms passing thru periodic
43 boundaries.
45 Note that only atoms in the specified group contribute to the
46 calculation.  The "compute chunk/atom"_compute_chunk_atom.html command
47 defines its own group; atoms will have a chunk ID = 0 if they are not
48 in that group, signifying they are not assigned to a chunk, and will
49 thus also not contribute to this calculation.  You can specify the
50 "all" group for this command if you simply want to include atoms with
51 non-zero chunk IDs.
53 The slope of the mean-squared displacement (MSD) versus time is
54 proportional to the diffusion coefficient of the diffusing chunks.
56 The displacement of the center-of-mass of the chunk is from its
57 original center-of-mass position, calculated on the timestep this
58 compute command was first invoked.
60 NOTE: The number of chunks {Nchunk} calculated by the "compute
61 chunk/atom"_compute_chunk_atom.html command must remain constant each
62 time this compute is invoked, so that the displacement for each chunk
63 from its original position can be computed consistently.  If {Nchunk}
64 does not remain constant, an error will be generated.  If needed, you
65 can enforce a constant {Nchunk} by using the {nchunk once} or {ids
66 once} options when specifying the "compute
67 chunk/atom"_compute_chunk_atom.html command.
69 NOTE: This compute stores the original position (of the
70 center-of-mass) of each chunk.  When a displacement is calculated on a
71 later timestep, it is assumed that the same atoms are assigned to the
72 same chunk ID.  However LAMMPS has no simple way to insure this is the
73 case, though you can use the {ids once} option when specifying the
74 "compute chunk/atom"_compute_chunk_atom.html command.  Note that if
75 this is not the case, the MSD calculation does not have a sensible
76 meaning.
78 NOTE: The initial coordinates of the atoms in each chunk are stored in
79 "unwrapped" form, by using the image flags associated with each atom.
80 See the "dump custom"_dump.html command for a discussion of
81 "unwrapped" coordinates.  See the Atoms section of the
82 "read_data"_read_data.html command for a discussion of image flags and
83 how they are set for each atom.  You can reset the image flags
84 (e.g. to 0) before invoking this compute by using the "set
85 image"_set.html command.
87 NOTE: If you want the quantities calculated by this compute to be
88 continuous when running from a "restart file"_read_restart.html, then
89 you should use the same ID for this compute, as in the original run.
90 This is so that the fix this compute creates to store per-chunk
91 quantities will also have the same ID, and thus be initialized
92 correctly with chunk reference positions from the restart file.
94 The simplest way to output the results of the compute com/msd
95 calculation to a file is to use the "fix ave/time"_fix_ave_time.html
96 command, for example:
98 compute cc1 all chunk/atom molecule
99 compute myChunk all com/msd cc1
100 fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre
102 [Output info:]
104 This compute calculates a global array where the number of rows = the
105 number of chunks {Nchunk} as calculated by the specified "compute
106 chunk/atom"_compute_chunk_atom.html command.  The number of columns =
107 4 for dx,dy,dz and the total displacement.  These values can be
108 accessed by any command that uses global array values from a compute
109 as input.  See "this section"_Section_howto.html#howto_15 for an
110 overview of LAMMPS output options.
112 The array values are "intensive".  The array values will be in
113 distance^2 "units"_units.html.
115 [Restrictions:] none
117 [Related commands:]
119 "compute msd"_compute_msd.html
121 [Default:] none