Commit a89246fb authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

Merge branch 'master' into coulomb-refactoring

parents f739a94e f871ecdc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
<!-- HTML_ONLY -->
<HEAD>
<TITLE>LAMMPS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="7 Mar 2017 version">
<META NAME="docnumber" CONTENT="10 Mar 2017 version">
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation.  This software and manual is distributed under the GNU General Public License.">
</HEAD>
@@ -21,7 +21,7 @@
<H1></H1>

LAMMPS Documentation :c,h3
7 Mar 2017 version :c,h4
10 Mar 2017 version :c,h4

Version info: :h4

+677 B (553 KiB)

File changed.

No diff preview for this file type.

+23 −15
Original line number Diff line number Diff line
@@ -286,24 +286,32 @@ above. It performs a recursive coordinate bisectioning (RCB) of the
simulation domain. The basic idea is as follows.

The simulation domain is cut into 2 boxes by an axis-aligned cut in
the longest dimension, leaving one new box on either side of the cut.
All the processors are also partitioned into 2 groups, half assigned
to the box on the lower side of the cut, and half to the box on the
upper side.  (If the processor count is odd, one side gets an extra
processor.)  The cut is positioned so that the number of particles in
the lower box is exactly the number that the processors assigned to
that box should own for load balance to be perfect.  This also makes
load balance for the upper box perfect.  The positioning is done
iteratively, by a bisectioning method.  Note that counting particles
on either side of the cut requires communication between all
processors at each iteration.
one of the dimensions, leaving one new sub-box on either side of the
cut.  Which dimension is chosen for the cut depends on the particle
(weight) distribution within the parent box.  Normally the longest
dimension of the box is cut, but if all (or most) of the particles are
at one end of the box, a cut may be performed in another dimension to
induce sub-boxes that are more cube-ish (3d) or square-ish (2d) in
shape.

After the cut is made, all the processors are also partitioned into 2
groups, half assigned to the box on the lower side of the cut, and
half to the box on the upper side.  (If the processor count is odd,
one side gets an extra processor.)  The cut is positioned so that the
number of (weighted) particles in the lower box is exactly the number
that the processors assigned to that box should own for load balance
to be perfect.  This also makes load balance for the upper box
perfect.  The positioning of the cut is done iteratively, by a
bisectioning method (median search).  Note that counting particles on
either side of the cut requires communication between all processors
at each iteration.

That is the procedure for the first cut.  Subsequent cuts are made
recursively, in exactly the same manner.  The subset of processors
assigned to each box make a new cut in the longest dimension of that
box, splitting the box, the subset of processors, and the particles
in the box in two.  The recursion continues until every processor is
assigned a sub-box of the entire simulation domain, and owns the
assigned to each box make a new cut in one dimension of that box,
splitting the box, the subset of processors, and the particles in the
box in two.  The recursion continues until every processor is assigned
a sub-box of the entire simulation domain, and owns the (weighted)
particles in that sub-box.

:line
+2 −2
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre

change_box all x final -10 20 boundary f s s
create_atoms 1 single -5 5 5
change_box boundary s s s      # this will work :pre
change_box all boundary s s s      # this will work :pre

NOTE: Unlike the earlier "displace_box" version of this command, atom
remapping is NOT performed by default.  This command allows remapping
+11 −0
Original line number Diff line number Diff line
@@ -134,6 +134,17 @@ not overlap existing atoms inappropriately, especially if molecules
are being added.  The "delete_atoms"_delete_atoms.html command can be
used to remove overlapping atoms or molecules.

NOTE: You cannot use any of the styles explained above to create atoms
that are outside the simulation box; they will just be ignored by
LAMMPS.  This is true even if you are using shrink-wrapped box
boundaries, as specified by the "boundary"_boundary.html command.
However, you can first use the "change_box"_change_box.html command to
temporarily expand the box, then add atoms via create_atoms, then
finally use change_box command again if needed to re-shrink-wrap the
new atoms.  See the "change_box"_change_box.html doc page for an
example of how to do this, using the create_atoms {single} style to
insert a new atom outside the current simulation box.

:line

Individual atoms are inserted by this command, unless the {mol}
Loading