2007-03-27 05:33:10 +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
|
|
|
|
|
|
|
|
communicate command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
2008-02-15 07:13:41 +08:00
|
|
|
communicate style keyword value ... :pre
|
2007-03-27 05:33:10 +08:00
|
|
|
|
2008-02-15 07:13:41 +08:00
|
|
|
style = {single} or {multi} :ulb,l
|
|
|
|
zero or more keyword/value pairs may be appended :l
|
2009-11-10 02:30:55 +08:00
|
|
|
keyword = {cutoff} or {group} or {vel} :l
|
|
|
|
{cutoff} value = Rcut (distance units) = communicate atoms from this far away
|
2008-08-21 21:53:06 +08:00
|
|
|
{group} value = group-ID = only communicate atoms in the group
|
2009-11-10 02:30:55 +08:00
|
|
|
{vel} value = {yes} or {no} = do or do not communicate velocity info with ghost atoms :pre
|
2008-02-15 07:13:41 +08:00
|
|
|
:ule
|
2007-03-27 05:33:10 +08:00
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
2008-02-15 07:13:41 +08:00
|
|
|
communicate multi
|
2008-08-21 21:53:06 +08:00
|
|
|
communicate multi group solvent
|
2010-01-15 03:44:28 +08:00
|
|
|
communicate single vel yes
|
|
|
|
communicate single cutoff 5.0 vel yes :pre
|
2007-03-27 05:33:10 +08:00
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
This command sets the style of inter-processor communication that
|
|
|
|
occurs each timestep as atom coordinates and other properties are
|
2008-02-16 03:09:18 +08:00
|
|
|
exchanged between neighboring processors and stored as properties of
|
|
|
|
ghost atoms.
|
2007-03-27 05:33:10 +08:00
|
|
|
|
|
|
|
The default style is {single} which means each processor acquires
|
|
|
|
information for ghost atoms that are within a single distance from its
|
|
|
|
sub-domain. The distance is the maximum of the neighbor cutoff for
|
|
|
|
all atom type pairs.
|
|
|
|
|
|
|
|
For many systems this is an efficient algorithm, but for systems with
|
|
|
|
widely varying cutoffs for different type pairs, the {multi} style can
|
|
|
|
be faster. In this case, each atom type is assigned its own distance
|
|
|
|
cutoff for communication purposes, and fewer atoms will be
|
|
|
|
communicated. See the "neighbor multi"_neighbor.html command for a
|
|
|
|
neighbor list construction option that may also be beneficial for
|
|
|
|
simulations of this kind.
|
|
|
|
|
2008-08-21 22:03:21 +08:00
|
|
|
The {cutoff} option allows you to set a ghost cutoff distance, which
|
|
|
|
is the distance from the borders of a processor's sub-domain at which
|
2008-08-21 21:53:06 +08:00
|
|
|
ghost atoms are acquired from other processors. By default the ghost
|
2008-08-21 22:03:21 +08:00
|
|
|
cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin. See
|
|
|
|
the "neighbor"_neighbor.html command for more information about the
|
|
|
|
skin distance. If the specified Rcut is greater than the neighbor
|
|
|
|
cutoff, then extra ghost atoms will be acquired. If it is smaller,
|
|
|
|
the ghost cutoff is set to the neighbor cutoff.
|
2008-08-21 21:53:06 +08:00
|
|
|
|
|
|
|
These are simulation scenarios in which it may be useful to set a
|
|
|
|
ghost cutoff > neighbor cutoff:
|
|
|
|
|
|
|
|
a single polymer chain with bond interactions, but no pairwise interactions
|
|
|
|
bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff
|
|
|
|
ghost atoms beyond the pairwise cutoff are needed for some computation :ul
|
|
|
|
|
|
|
|
In the first scenario, a pairwise potential may not be defined. Thus
|
|
|
|
the pairwise neighbor cutoff will be 0.0. But ghost atoms are still
|
|
|
|
needed for computing bond, angle, etc interactions between atoms on
|
|
|
|
different processors. The appropriate ghost cutoff depends on the
|
|
|
|
"newton bond"_newton.html setting. For newton bond {off}, the
|
|
|
|
distance needs to be the furthest distance between any two atoms in
|
|
|
|
the bond, angle, etc. E.g. the distance between 1-4 atoms in a
|
|
|
|
dihedral. For newton bond {on}, the distance between the central atom
|
|
|
|
in the bond, angle, etc and any other atom is sufficient. E.g. the
|
|
|
|
distance between 2-4 atoms in a dihedral.
|
|
|
|
|
|
|
|
In the second scenario, a pairwise potential is defined, but its
|
|
|
|
neighbor cutoff is not sufficiently long enough to enable bond, angle,
|
|
|
|
etc terms to be computed. As in the previous scenario, an appropriate
|
|
|
|
ghost cutoff should be set.
|
|
|
|
|
|
|
|
In the last scenario, a "fix"_fix.html or "compute"_compute.html or
|
|
|
|
"pairwise potential"_pair_style.html needs to calculate with ghost
|
|
|
|
atoms beyond the normal pairwise cutoff for some computation it
|
|
|
|
performs (e.g. locate neighbors of ghost atoms in a multibody pair
|
|
|
|
potential). Setting the ghost cutoff appropriately can insure it will
|
|
|
|
find the needed atoms.
|
|
|
|
|
2009-11-10 02:30:55 +08:00
|
|
|
The {group} option will limit communication to atoms in the specified
|
|
|
|
group. This can be useful for models where no ghost atoms are needed
|
|
|
|
for some kinds of particles. All atoms (not just those in the
|
|
|
|
specified group) will still migrate to new processors as they move.
|
|
|
|
The group specified with this option must also be specified via the
|
|
|
|
"atom_modify first"_atom_modify.html command.
|
|
|
|
|
|
|
|
The {vel} option enables velocity information to be communicated with
|
|
|
|
ghost particles. Depending on the "atom_style"_atom_style.html,
|
|
|
|
velocity info includes the translational velocity, angular velocity,
|
|
|
|
and angular momentum of a particle. If the {vel} option is set to
|
|
|
|
{yes}, then ghost atoms store these quantities; if {no} then they do
|
|
|
|
not. The {yes} setting is needed by some pair styles which require
|
|
|
|
the velocity state of both the I and J particles to compute a pairwise
|
|
|
|
I,J interaction.
|
|
|
|
|
2007-03-27 05:33:10 +08:00
|
|
|
[Restrictions:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"neighbor"_neighbor.html
|
|
|
|
|
|
|
|
[Default:]
|
|
|
|
|
2009-11-10 02:30:55 +08:00
|
|
|
The default settings are style = single, group = all, cutoff = 0.0,
|
2010-06-15 22:02:14 +08:00
|
|
|
vel = no. The cutoff default of 0.0 means that ghost cutoff =
|
2008-08-21 22:03:21 +08:00
|
|
|
neighbor cutoff = pairwise force cutoff + neighbor skin.
|