git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@439 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2007-03-26 21:33:10 +00:00
parent 24b44fb5c5
commit 99ca832b7c
6 changed files with 174 additions and 47 deletions

View File

@ -245,11 +245,12 @@ in the command's documentation.
</P>
<P>Settings:
</P>
<P><A HREF = "dipole.html">dipole</A>, <A HREF = "group.html">group</A>, <A HREF = "mass.html">mass</A>,
<A HREF = "min_modify.html">min_modify</A>, <A HREF = "min_style.html">min_style</A>,
<A HREF = "neigh_modify.html">neigh_modify</A>, <A HREF = "neighbor.html">neighbor</A>,
<A HREF = "reset_timestep.html">reset_timestep</A>, <A HREF = "run_style.html">run_style</A>,
<A HREF = "set.html">set</A>, <A HREF = "timestep.html">timestep</A>, <A HREF = "velocity.html">velocity</A>
<P><A HREF = "communicate.html">communicate</A>, <A HREF = "dipole.html">dipole</A>,
<A HREF = "group.html">group</A>, <A HREF = "mass.html">mass</A>, <A HREF = "min_modify.html">min_modify</A>,
<A HREF = "min_style.html">min_style</A>, <A HREF = "neigh_modify.html">neigh_modify</A>,
<A HREF = "neighbor.html">neighbor</A>, <A HREF = "reset_timestep.html">reset_timestep</A>,
<A HREF = "run_style.html">run_style</A>, <A HREF = "set.html">set</A>, <A HREF = "timestep.html">timestep</A>,
<A HREF = "velocity.html">velocity</A>
</P>
<P>Fixes:
</P>
@ -295,17 +296,18 @@ in the command's documentation.
</P>
<DIV ALIGN=center><TABLE WIDTH="0%" BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "angle_coeff.html">angle_coeff</A></TD><TD ><A HREF = "angle_style.html">angle_style</A></TD><TD ><A HREF = "atom_modify.html">atom_modify</A></TD><TD ><A HREF = "atom_style.html">atom_style</A></TD><TD ><A HREF = "bond_coeff.html">bond_coeff</A></TD><TD ><A HREF = "bond_style.html">bond_style</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "boundary.html">boundary</A></TD><TD ><A HREF = "clear.html">clear</A></TD><TD ><A HREF = "compute.html">compute</A></TD><TD ><A HREF = "compute_modify.html">compute_modify</A></TD><TD ><A HREF = "create_atoms.html">create_atoms</A></TD><TD ><A HREF = "create_box.html">create_box</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "delete_atoms.html">delete_atoms</A></TD><TD ><A HREF = "delete_bonds.html">delete_bonds</A></TD><TD ><A HREF = "dielectric.html">dielectric</A></TD><TD ><A HREF = "dihedral_coeff.html">dihedral_coeff</A></TD><TD ><A HREF = "dihedral_style.html">dihedral_style</A></TD><TD ><A HREF = "dimension.html">dimension</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "dipole.html">dipole</A></TD><TD ><A HREF = "displace_atoms.html">displace_atoms</A></TD><TD ><A HREF = "dump.html">dump</A></TD><TD ><A HREF = "dump_modify.html">dump_modify</A></TD><TD ><A HREF = "echo.html">echo</A></TD><TD ><A HREF = "fix.html">fix</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_modify.html">fix_modify</A></TD><TD ><A HREF = "group.html">group</A></TD><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD><TD ><A HREF = "improper_style.html">improper_style</A></TD><TD ><A HREF = "include.html">include</A></TD><TD ><A HREF = "jump.html">jump</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD><TD ><A HREF = "kspace_style.html">kspace_style</A></TD><TD ><A HREF = "label.html">label</A></TD><TD ><A HREF = "lattice.html">lattice</A></TD><TD ><A HREF = "log.html">log</A></TD><TD ><A HREF = "mass.html">mass</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "minimize.html">minimize</A></TD><TD ><A HREF = "min_modify.html">min_modify</A></TD><TD ><A HREF = "min_style.html">min_style</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD><TD ><A HREF = "newton.html">newton</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "next.html">next</A></TD><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD><TD ><A HREF = "print.html">print</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "restart.html">restart</A></TD><TD ><A HREF = "run.html">run</A></TD><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shell.html">shell</A></TD><TD ><A HREF = "special_bonds.html">special_bonds</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "temper.html">temper</A></TD><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD><TD ><A HREF = "timestep.html">timestep</A></TD><TD ><A HREF = "uncompute.html">uncompute</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "undump.html">undump</A></TD><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD><TD ><A HREF = "velocity.html">velocity</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
<TR ALIGN="center"><TD ><A HREF = "boundary.html">boundary</A></TD><TD ><A HREF = "clear.html">clear</A></TD><TD ><A HREF = "communicate.html">communicate</A></TD><TD ><A HREF = "compute.html">compute</A></TD><TD ><A HREF = "compute_modify.html">compute_modify</A></TD><TD ><A HREF = "create_atoms.html">create_atoms</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "create_box.html">create_box</A></TD><TD ><A HREF = "delete_atoms.html">delete_atoms</A></TD><TD ><A HREF = "delete_bonds.html">delete_bonds</A></TD><TD ><A HREF = "dielectric.html">dielectric</A></TD><TD ><A HREF = "dihedral_coeff.html">dihedral_coeff</A></TD><TD ><A HREF = "dihedral_style.html">dihedral_style</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "dimension.html">dimension</A></TD><TD ><A HREF = "dipole.html">dipole</A></TD><TD ><A HREF = "displace_atoms.html">displace_atoms</A></TD><TD ><A HREF = "dump.html">dump</A></TD><TD ><A HREF = "dump_modify.html">dump_modify</A></TD><TD ><A HREF = "echo.html">echo</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix.html">fix</A></TD><TD ><A HREF = "fix_modify.html">fix_modify</A></TD><TD ><A HREF = "group.html">group</A></TD><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD><TD ><A HREF = "improper_style.html">improper_style</A></TD><TD ><A HREF = "include.html">include</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "jump.html">jump</A></TD><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD><TD ><A HREF = "kspace_style.html">kspace_style</A></TD><TD ><A HREF = "label.html">label</A></TD><TD ><A HREF = "lattice.html">lattice</A></TD><TD ><A HREF = "log.html">log</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "mass.html">mass</A></TD><TD ><A HREF = "minimize.html">minimize</A></TD><TD ><A HREF = "min_modify.html">min_modify</A></TD><TD ><A HREF = "min_style.html">min_style</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "newton.html">newton</A></TD><TD ><A HREF = "next.html">next</A></TD><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD><TD ><A HREF = "restart.html">restart</A></TD><TD ><A HREF = "run.html">run</A></TD><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shell.html">shell</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "special_bonds.html">special_bonds</A></TD><TD ><A HREF = "temper.html">temper</A></TD><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD><TD ><A HREF = "timestep.html">timestep</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "uncompute.html">uncompute</A></TD><TD ><A HREF = "undump.html">undump</A></TD><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD><TD ><A HREF = "velocity.html">velocity</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "write_restart.html">write_restart</A>
</TD></TR></TABLE></DIV>
<HR>

View File

@ -242,11 +242,12 @@ Force fields:
Settings:
"dipole"_dipole.html, "group"_group.html, "mass"_mass.html,
"min_modify"_min_modify.html, "min_style"_min_style.html,
"neigh_modify"_neigh_modify.html, "neighbor"_neighbor.html,
"reset_timestep"_reset_timestep.html, "run_style"_run_style.html,
"set"_set.html, "timestep"_timestep.html, "velocity"_velocity.html
"communicate"_communicate.html, "dipole"_dipole.html,
"group"_group.html, "mass"_mass.html, "min_modify"_min_modify.html,
"min_style"_min_style.html, "neigh_modify"_neigh_modify.html,
"neighbor"_neighbor.html, "reset_timestep"_reset_timestep.html,
"run_style"_run_style.html, "set"_set.html, "timestep"_timestep.html,
"velocity"_velocity.html
Fixes:
@ -298,6 +299,7 @@ in the command's documentation.
"bond_style"_bond_style.html,
"boundary"_boundary.html,
"clear"_clear.html,
"communicate"_communicate.html,
"compute"_compute.html,
"compute_modify"_compute_modify.html,
"create_atoms"_create_atoms.html,

53
doc/communicate.html Normal file
View File

@ -0,0 +1,53 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>communicate command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>communicate style
</PRE>
<UL><LI>style = <I>single</I> or <I>multi</I>
</UL>
<P><B>Examples:</B>
</P>
<PRE>communicate multi
</PRE>
<P><B>Description:</B>
</P>
<P>This command sets the style of inter-processor communication that
occurs each timestep as atom coordinates and other properties are
exchanged between neighboring processors.
</P>
<P>The default style is <I>single</I> 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.
</P>
<P>For many systems this is an efficient algorithm, but for systems with
widely varying cutoffs for different type pairs, the <I>multi</I> 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 <A HREF = "neighbor.html">neighbor multi</A> command for a
neighbor list construction option that may also be beneficial for
simulations of this kind.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "neighbor.html">neighbor</A>
</P>
<P><B>Default:</B>
</P>
<P>style = single
</P>
</HTML>

48
doc/communicate.txt Normal file
View File

@ -0,0 +1,48 @@
"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:]
communicate style :pre
style = {single} or {multi} :ul
[Examples:]
communicate multi :pre
[Description:]
This command sets the style of inter-processor communication that
occurs each timestep as atom coordinates and other properties are
exchanged between neighboring processors.
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.
[Restrictions:] none
[Related commands:]
"neighbor"_neighbor.html
[Default:]
style = single

View File

@ -16,31 +16,42 @@
<PRE>neighbor skin style
</PRE>
<UL><LI>skin = extra distance beyond force cutoff (distance units)
<LI>style = <I>bin</I> or <I>nsq</I>
<LI>style = <I>bin</I> or <I>nsq</I> or <I>multi</I>
</UL>
<P><B>Examples:</B>
</P>
<PRE>neighbor 0.3 bin
neighbor 2.0 nsq
</PRE>
<P><B>Description: </B>
<P><B>Description:</B>
</P>
<P>This command sets parameters that affect the building of the pairwise
neighbor list. All atom pairs within a cutoff distance equal to the
their force cutoff plus the <I>skin</I> distance are stored in the list.
Typically, the larger the skin distance, the less often neighbor lists
need to be built, but more pairs must be checked for possible force
interactions every timestep.
interactions every timestep. The default value for <I>skin</I> depends on
the choice of units for the simulation (see below).
</P>
<P>The <I>style</I> value chooses what algorithm is used to build the list.
<I>Binning</I> is an operation that scales linearly with N, the number of
atoms on a processor. It is almost always faster than the <I>nsq</I> style
which scales as N^2. For unsolvated small molecules in a non-periodic
box, the <I>nsq</I> choice can sometimes be faster. Either style should
give the same answers.
<P>The <I>style</I> value selects what algorithm is used to build the list.
The <I>bin</I> style creates the list by binning which is an operation that
scales linearly with N/P, the number of atoms per processor where N =
total number of atoms and P = number of processors. It is almost
always faster than the <I>nsq</I> style which scales as (N/P)^2. For
unsolvated small molecules in a non-periodic box, the <I>nsq</I> choice can
sometimes be faster. Either style should give the same answers.
</P>
<P>The default values for <I>skin</I> and <I>style</I> depend on the choice of
units for the simulation.
<P>The <I>multi</I> style is a modified binning algorithm that is useful for
systems with a wide range of cutoff distances, e.g. due to different
size particles. For the <I>bin</I> style, the bin size is set to 1/2 of
the largest cutoff distance between any pair of atom types and a
single set of bins is defined to search over for all atom types. This
can be inefficient if one pair of types has a very long cutoff, but
other type pairs have a much shorter cutoff. For style <I>multi</I> the
bin size is set to 1/2 of the shortest cutoff distance and multiple
sets of bins are defined to search over for different atom types.
This imposes some extra setup overhead, but the searches themselves
may be much faster for the short-cutoff cases.
</P>
<P>The <A HREF = "neigh_modify.html">neigh_modify</A> command has additional options
that control how often neighbor lists are built and which pairs are
@ -59,7 +70,7 @@ section</A> for details.
</P>
<P><B>Default:</B>
</P>
<PRE>0.3 bin for lj units
2.0 bin for real or metal units
<PRE>0.3 bin for lj units (0.3 sigma)
2.0 bin for real or metal units (2.0 Angstroms)
</PRE>
</HTML>

View File

@ -13,31 +13,42 @@ neighbor command :h3
neighbor skin style :pre
skin = extra distance beyond force cutoff (distance units)
style = {bin} or {nsq} :ul
style = {bin} or {nsq} or {multi} :ul
[Examples:]
neighbor 0.3 bin
neighbor 2.0 nsq :pre
[Description: ]
[Description:]
This command sets parameters that affect the building of the pairwise
neighbor list. All atom pairs within a cutoff distance equal to the
their force cutoff plus the {skin} distance are stored in the list.
Typically, the larger the skin distance, the less often neighbor lists
need to be built, but more pairs must be checked for possible force
interactions every timestep.
interactions every timestep. The default value for {skin} depends on
the choice of units for the simulation (see below).
The {style} value chooses what algorithm is used to build the list.
{Binning} is an operation that scales linearly with N, the number of
atoms on a processor. It is almost always faster than the {nsq} style
which scales as N^2. For unsolvated small molecules in a non-periodic
box, the {nsq} choice can sometimes be faster. Either style should
give the same answers.
The {style} value selects what algorithm is used to build the list.
The {bin} style creates the list by binning which is an operation that
scales linearly with N/P, the number of atoms per processor where N =
total number of atoms and P = number of processors. It is almost
always faster than the {nsq} style which scales as (N/P)^2. For
unsolvated small molecules in a non-periodic box, the {nsq} choice can
sometimes be faster. Either style should give the same answers.
The default values for {skin} and {style} depend on the choice of
units for the simulation.
The {multi} style is a modified binning algorithm that is useful for
systems with a wide range of cutoff distances, e.g. due to different
size particles. For the {bin} style, the bin size is set to 1/2 of
the largest cutoff distance between any pair of atom types and a
single set of bins is defined to search over for all atom types. This
can be inefficient if one pair of types has a very long cutoff, but
other type pairs have a much shorter cutoff. For style {multi} the
bin size is set to 1/2 of the shortest cutoff distance and multiple
sets of bins are defined to search over for different atom types.
This imposes some extra setup overhead, but the searches themselves
may be much faster for the short-cutoff cases.
The "neigh_modify"_neigh_modify.html command has additional options
that control how often neighbor lists are built and which pairs are
@ -56,5 +67,5 @@ section"_Section_start.html#2_7 for details.
[Default:]
0.3 bin for lj units
2.0 bin for real or metal units :pre
0.3 bin for lj units (0.3 sigma)
2.0 bin for real or metal units (2.0 Angstroms) :pre