Merge remote-tracking branch 'lammps-ro/master' into lammps-icms

Resolved Conflicts:
	doc/Manual.html
	doc/Manual.txt
This commit is contained in:
Axel Kohlmeyer
2014-05-28 08:18:20 -04:00
10 changed files with 69 additions and 16 deletions

View File

@ -1,7 +1,7 @@
<HTML>
<HEAD>
<TITLE>LAMMPS-ICMS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="23 May 2014 version">
<META NAME="docnumber" CONTENT="27 May 2014 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>
@ -22,7 +22,7 @@
<CENTER><H3>LAMMPS-ICMS Documentation
</H3></CENTER>
<CENTER><H4>23 May 2014 version
<CENTER><H4>27 May 2014 version
</H4></CENTER>
<H4>Version info:
</H4>

View File

@ -1,6 +1,6 @@
<HEAD>
<TITLE>LAMMPS-ICMS Users Manual</TITLE>
<META NAME="docnumber" CONTENT="23 May 2014 version">
<META NAME="docnumber" CONTENT="27 May 2014 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>
@ -18,7 +18,7 @@
<H1></H1>
LAMMPS-ICMS Documentation :c,h3
23 May 2014 version :c,h4
27 May 2014 version :c,h4
Version info: :h4

View File

@ -103,12 +103,12 @@ fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0
<P>Treat one or more sets of atoms as independent rigid bodies. This
means that each timestep the total force and torque on each rigid body
is computed as the sum of the forces and torques on its constituent
particles and the coordinates, velocities, and orientations of the
atoms in each body are updated so that the body moves and rotates as a
particles. The coordinates, velocities, and orientations of the atoms
in each body are then updated so that the body moves and rotates as a
single entity.
</P>
<P>Examples of large rigid bodies are a large colloidal particle, or
portions of a large biomolecule such as a protein.
<P>Examples of large rigid bodies are a colloidal particle, or portions
of a biomolecule such as a protein.
</P>
<P>Example of small rigid bodies are patchy nanoparticles, such as those
modeled in <A HREF = "#Zhang">this paper</A> by Sharon Glotzer's group, clumps of
@ -183,6 +183,16 @@ command), setting the force on them to 0.0 (via the <A HREF = "fix_setforce.html
setforce</A> command), and integrating them as usual
(e.g. via the <A HREF = "fix_nve.html">fix nve</A> command).
</P>
<P>IMPORTANT NOTE: The aggregate properties of each rigid body are
calculated at the start of each simulation run. These include its
center of mass, moments of inertia, and net velocity and angular
momentum. This means that before or between runs, per-atom properties
can be changed, e.g. via the <A HREF = "set.html">set</A> or
<A HREF = "velocity.html">velocity</A> command, which will affect the bodies. An
exception is if the <I>infile</I> keyword is used, then all the body
properties (except net velocity and angular momentum) are only
calculated once so that values from the file are valid.
</P>
<HR>
<P>Each rigid body must have two or more atoms. An atom can belong to at

View File

@ -85,12 +85,12 @@ fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 :pre
Treat one or more sets of atoms as independent rigid bodies. This
means that each timestep the total force and torque on each rigid body
is computed as the sum of the forces and torques on its constituent
particles and the coordinates, velocities, and orientations of the
atoms in each body are updated so that the body moves and rotates as a
particles. The coordinates, velocities, and orientations of the atoms
in each body are then updated so that the body moves and rotates as a
single entity.
Examples of large rigid bodies are a large colloidal particle, or
portions of a large biomolecule such as a protein.
Examples of large rigid bodies are a colloidal particle, or portions
of a biomolecule such as a protein.
Example of small rigid bodies are patchy nanoparticles, such as those
modeled in "this paper"_#Zhang by Sharon Glotzer's group, clumps of
@ -165,6 +165,16 @@ command), setting the force on them to 0.0 (via the "fix
setforce"_fix_setforce.html command), and integrating them as usual
(e.g. via the "fix nve"_fix_nve.html command).
IMPORTANT NOTE: The aggregate properties of each rigid body are
calculated at the start of each simulation run. These include its
center of mass, moments of inertia, and net velocity and angular
momentum. This means that before or between runs, per-atom properties
can be changed, e.g. via the "set"_set.html or
"velocity"_velocity.html command, which will affect the bodies. An
exception is if the {infile} keyword is used, then all the body
properties (except net velocity and angular momentum) are only
calculated once so that values from the file are valid.
:line
Each rigid body must have two or more atoms. An atom can belong to at

View File

@ -76,11 +76,21 @@ points suffer from inaccuracies. The basic problem is that the
outward normal of the surface is not continuous at these points. This
can cause particles to feel no force (they don't "see" the wall) when
in one location, then move a distance epsilon, and suddenly feel a
large force because they now "see" the wall. In the worst-case
large force because they now "see" the wall. In a worst-case
scenario, this can blow particles out of the simulation box. Thus, as
a general rule you should not use the fix wall/region command with
<I>union</I> or <I>interesect</I> regions that have convex points or edges.
</P>
<P>IMPORTANT NOTE: Similarly, you should not define <I>union</I> or
<I>intersert</I> regions for use with this command that share a common
face, even if the face is smooth. E.g. two regions of style block in
a <I>union</I> region, where the two blocks have the same face. This is
because LAMMPS discards points that are part of multiple sub-regions
when calculating wall/particle interactions, to avoid double-counting
the interaction. Having two coincident faces could cause the face to
become invisible to the particles. The solution is to make the two
faces differ by epsilon in their position.
</P>
<P>The energy of wall-particle interactions depends on the specified
style.
</P>

View File

@ -73,11 +73,21 @@ points suffer from inaccuracies. The basic problem is that the
outward normal of the surface is not continuous at these points. This
can cause particles to feel no force (they don't "see" the wall) when
in one location, then move a distance epsilon, and suddenly feel a
large force because they now "see" the wall. In the worst-case
large force because they now "see" the wall. In a worst-case
scenario, this can blow particles out of the simulation box. Thus, as
a general rule you should not use the fix wall/region command with
{union} or {interesect} regions that have convex points or edges.
IMPORTANT NOTE: Similarly, you should not define {union} or
{intersert} regions for use with this command that share a common
face, even if the face is smooth. E.g. two regions of style block in
a {union} region, where the two blocks have the same face. This is
because LAMMPS discards points that are part of multiple sub-regions
when calculating wall/particle interactions, to avoid double-counting
the interaction. Having two coincident faces could cause the face to
become invisible to the particles. The solution is to make the two
faces differ by epsilon in their position.
The energy of wall-particle interactions depends on the specified
style.

View File

@ -1738,7 +1738,6 @@ void FixRigidSmall::setup_bodies_static()
if (atom->line_flag) orientflag = 1;
if (atom->tri_flag) orientflag = 4;
if (atom->mu_flag) dorientflag = 1;
grow_arrays(atom->nmax);
for (i = 0; i < nlocal; i++) {
eflags[i] = 0;

View File

@ -45,6 +45,8 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg)
nevery = force->inumeric(FLERR,arg[3]);
if (nevery < 0) error->all(FLERR,"Illegal fix adapt command");
dynamic_group_allow = 1;
// count # of adaptations
nadapt = 0;
@ -266,6 +268,13 @@ void FixAdapt::init()
{
int i,j;
// allow a dynamic group only if ATOM attribute not used
if (group->dynamic[igroup])
for (int i = 0; i < nadapt; i++)
if (adapt[i].which == ATOM)
error->all(FLERR,"Cannot use dynamic group with fix adapt atom");
// setup and error checks
anypair = 0;

View File

@ -1166,6 +1166,11 @@ void Input::comm_style()
"Cannot switch to comm style brick from "
"irregular tiling of proc domains");
comm = new CommBrick(lmp);
// NOTE: this will lose load balancing info in old CommBrick
if (domain->box_exist) {
comm->set_proc_grid();
domain->set_local_box();
}
} else if (strcmp(arg[0],"tiled") == 0) {
error->all(FLERR,"Comm_style tiled not yet supported");
comm = new CommTiled(lmp);

View File

@ -1 +1 @@
#define LAMMPS_VERSION "23 May 2014"
#define LAMMPS_VERSION "27 May 2014"