"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 displace/atom command :h3

[Syntax:]

compute ID group-ID displace/atom :pre

ID, group-ID are documented in "compute"_compute.html command
displace/atom = style name of this compute command :ul

[Examples:]

compute 1 all displace/atom :pre

[Description:]

Define a computation that calculates the current displacement of each
atom in the group from its original coordinates, including all effects
due to atoms passing thru periodic boundaries.

A vector of four quantites per atom is calculated by this compute.
The first 3 elements of the vector are the dx,dy,dz displacements.
The 4th component is the total displacement, i.e. sqrt(dx*dx + dy*dy +
dz*dz).

The displacement of an atom is from its original position at the time
the compute command was issued.  To store the original coordinates,
the compute creates its own fix of style "store/state", as if this
command had been issued:

fix compute-ID_store_state group-ID store/state xu yu zu :pre

See the "fix store/state"_fix_store_state.html command for details.
Note that the ID of the new fix is the compute-ID + underscore +
"store/state", and the group for the new fix is the same as the
compute group.

The value of the displacement will be 0.0 for atoms not in the
specified compute group.

IMPORTANT NOTE: Fix store/state stores the initial coordinates 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.

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,
and the computed displacement may not reflect its true displacement.
See the "fix rigid"_fix_rigid.html command for details.  Thus, to
compute the displacement 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.

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 per-atom array with 4 columns, which can be
accessed by indices 1-4 by any command that uses per-atom values from
a compute as input.  See "Section_howto
15"_Section_howto.html#howto_15 for an overview of LAMMPS output
options.

The per-atom array values will be in distance "units"_units.html.

[Restrictions:] none

[Related commands:]

"compute msd"_compute_msd.html, "dump custom"_dump.html, "fix
store/state"_fix_store_state.html

[Default:] none
