forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3643 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
322ed02798
commit
7b5a83562e
|
@ -117,7 +117,10 @@ each atom to (omega cross Rperp) where omega is its angular velocity
|
|||
around the rotation axis and Rperp is a perpendicular vector from the
|
||||
rotation axis to the atom. If the defined
|
||||
<A HREF = "atom_style.html">atom_style</A> assigns an angular velocity to each atom,
|
||||
then each atom's angular velocity is also set to omega.
|
||||
then each atom's angular velocity is also set to omega. Note that the
|
||||
direction of rotation for the atoms around the rotation axis is
|
||||
consistent with the right-hand rule: if the right-hand's thumb points
|
||||
along <I>R</I>, then the fingers wrap around in the direction of rotation.
|
||||
</P>
|
||||
<P>The <I>variable</I> style allows the position and velocity components of
|
||||
each atom to be set by formulas specified via the
|
||||
|
|
|
@ -108,7 +108,10 @@ each atom to (omega cross Rperp) where omega is its angular velocity
|
|||
around the rotation axis and Rperp is a perpendicular vector from the
|
||||
rotation axis to the atom. If the defined
|
||||
"atom_style"_atom_style.html assigns an angular velocity to each atom,
|
||||
then each atom's angular velocity is also set to omega.
|
||||
then each atom's angular velocity is also set to omega. Note that the
|
||||
direction of rotation for the atoms around the rotation axis is
|
||||
consistent with the right-hand rule: if the right-hand's thumb points
|
||||
along {R}, then the fingers wrap around in the direction of rotation.
|
||||
|
||||
The {variable} style allows the position and velocity components of
|
||||
each atom to be set by formulas specified via the
|
||||
|
|
|
@ -44,7 +44,10 @@ particles, i.e. the direction of the surface normal. Regions can
|
|||
either be primitive shapes (block, sphere, cylinder, etc) or
|
||||
combinations of primitive shapes specified via the <I>union</I> or
|
||||
<I>intersect</I> region styles. These latter styles can be used to
|
||||
construct particle containers with complex shapes.
|
||||
construct particle containers with complex shapes. Regions can also
|
||||
change over time via keywords like <I>linear</I>, <I>wiggle</I>, and <I>rotate</I>,
|
||||
which when used with this fix, have the effect of moving the region
|
||||
surface in a prescribed manner.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: As discussed on the <A HREF = "region.html">region</A> command doc
|
||||
page, regions in LAMMPS do not get wrapped across periodic boundaries.
|
||||
|
|
|
@ -41,7 +41,10 @@ particles, i.e. the direction of the surface normal. Regions can
|
|||
either be primitive shapes (block, sphere, cylinder, etc) or
|
||||
combinations of primitive shapes specified via the {union} or
|
||||
{intersect} region styles. These latter styles can be used to
|
||||
construct particle containers with complex shapes.
|
||||
construct particle containers with complex shapes. Regions can also
|
||||
change over time via keywords like {linear}, {wiggle}, and {rotate},
|
||||
which when used with this fix, have the effect of moving the region
|
||||
surface in a prescribed manner.
|
||||
|
||||
IMPORTANT NOTE: As discussed on the "region"_region.html command doc
|
||||
page, regions in LAMMPS do not get wrapped across periodic boundaries.
|
||||
|
|
|
@ -51,14 +51,23 @@
|
|||
</PRE>
|
||||
<LI>zero or more keyword/value pairs may be appended
|
||||
|
||||
<LI>keyword = <I>side</I> or <I>units</I>
|
||||
<LI>keyword = <I>side</I> or <I>units</I> or <I>vel</I> or <I>wiggle</I> or <I>rotate</I>
|
||||
|
||||
<PRE> <I>side</I> value = <I>in</I> or <I>out</I>
|
||||
<I>in</I> = the region is inside the specified geometry
|
||||
<I>out</I> = the region is outside the specified geometry
|
||||
<I>units</I> value = <I>lattice</I> or <I>box</I>
|
||||
<I>lattice</I> = the geometry is defined in lattice units
|
||||
<I>box</I> = the geometry is defined in simulation box units
|
||||
<I>box</I> = the geometry is defined in simulation box units
|
||||
<I>vel</I> args = Vx Vy Vz
|
||||
Vx,Vy,Vz = components of velocity vector (velocity units)
|
||||
<I>wiggle</I> args = Ax Ay Az period
|
||||
Ax,Ay,Az = components of amplitude vector (distance units)
|
||||
period = period of oscillation (time units)
|
||||
<I>rotate</I> args = Px Py Pz Rx Ry Rz period
|
||||
Px,Py,Pz = origin point of axis of rotation (distance units)
|
||||
Rx,Ry,Rz = axis of rotation vector
|
||||
period = period of rotation (time units)
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
|
@ -68,8 +77,14 @@
|
|||
region 2 sphere 0.0 0.0 0.0 5 side out
|
||||
region void cylinder y 2 3 5 -5.0 EDGE units box
|
||||
region 1 prism 0 10 0 10 0 10 2 0 0
|
||||
region outside union 4 side1 side2 side3 side4
|
||||
region outside union 4 side1 side2 side3 side4
|
||||
region 2 sphere 0.0 0.0 0.0 5 side out wiggle 1 1 0 10
|
||||
</PRE>
|
||||
<P>Note that the
|
||||
direction of rotation for the atoms around the rotation axis is
|
||||
consistent with the right-hand rule: if the right-hand's thumb points
|
||||
along <I>R</I>, then the fingers wrap around in the direction of rotation.
|
||||
</P>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>This command defines a geometric region of space. Various other
|
||||
|
@ -80,6 +95,15 @@ command, or deleted via the <A HREF = "delete_atoms.html">delete_atoms</A> comma
|
|||
Or the surface of the region can be used as a boundary wall via the
|
||||
<A HREF = "fix_wall_region.html">fix wall/region</A> command.
|
||||
</P>
|
||||
<P>Normally, regions in LAMMPS are "static", meaning their geometric
|
||||
extent does not change with time. If the <I>vel</I> or <I>wiggle</I> or
|
||||
<I>rotate</I> keyword is used, as described below, the region becomes
|
||||
"dynamic", meaning it's location or orientation changes with time.
|
||||
This may be useful, for example, when thermostatting a region, via the
|
||||
compute temp/region command, or when the fix wall/region command uses
|
||||
a region surface as a bounding wall on particle motion, i.e. a
|
||||
rotating container.
|
||||
</P>
|
||||
<P>The lo/hi values for <I>block</I> or <I>cone</I> or <I>cylinder</I> or <I>prism</I> styles
|
||||
can be specified as EDGE or INF. EDGE means they extend all the way
|
||||
to the global simulation box boundary. Note that this is the current
|
||||
|
@ -151,6 +175,8 @@ equivalent.
|
|||
listed regions combined. The <I>intersect</I> style creates a region
|
||||
consisting of the volume that is common to all the listed regions.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The <I>side</I> keyword determines whether the region is considered to be
|
||||
inside or outside of the specified geometry. Using this keyword in
|
||||
conjunction with <I>union</I> and <I>intersect</I> regions, complex geometries
|
||||
|
@ -162,12 +188,16 @@ both of the spheres.
|
|||
</P>
|
||||
<P>The <I>units</I> keyword determines the meaning of the distance units used
|
||||
to define the region for any argument above listed as having distance
|
||||
units. A <I>box</I> value selects standard distance units as defined by
|
||||
the <A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or
|
||||
metal. A <I>lattice</I> value means the distance units are in lattice
|
||||
spacings. The <A HREF = "lattice.html">lattice</A> command must have been
|
||||
previously used to define the lattice spacings which are used as
|
||||
follows:
|
||||
units. It also affects the scaling of the velocity vector specfied
|
||||
with the <I>vel</I> keyword, the amplitude vector specified with the
|
||||
<I>wiggle</I> keyword, and the rotation point specified with the <I>rotate</I>
|
||||
keyword, since they each involve a distance metric.
|
||||
</P>
|
||||
<P>A <I>box</I> value selects standard distance units as defined by the
|
||||
<A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or metal.
|
||||
A <I>lattice</I> value means the distance units are in lattice spacings.
|
||||
The <A HREF = "lattice.html">lattice</A> command must have been previously used to
|
||||
define the lattice spacings which are used as follows:
|
||||
</P>
|
||||
<UL><LI>For style <I>block</I>, the lattice spacing in dimension x is applied to
|
||||
xlo and xhi, similarly the spacings in dimensions y,z are applied to
|
||||
|
@ -196,6 +226,46 @@ to yz.
|
|||
applied to the sphere center x,y,z. The spacing in dimension x is
|
||||
applied to the sphere radius.
|
||||
</UL>
|
||||
<HR>
|
||||
|
||||
<P>If the <I>vel</I> or <I>wiggle</I> or <I>rotate</I> keywords are used, the region
|
||||
is "dynamic", meaning its location or orientation changes with time.
|
||||
No more than one of these keywords can be used at a time. These
|
||||
keywords cannot be used with a <I>union</I> or <I>intersect</I> style region.
|
||||
Instead, the keywords should be used to define the individual
|
||||
sub-regions of the <I>union</I> or <I>intersect</I> region. Normally, each
|
||||
sub-region should be "dynamic" in the same manner (e.g. rotate around
|
||||
the same point), though this is not a requirement.
|
||||
</P>
|
||||
<P>The <I>vel</I> style moves the region at a constant velocity, so that its
|
||||
position <I>X</I> = (x,y,z) as a function of time is given in vector
|
||||
notation as
|
||||
</P>
|
||||
<PRE>X(t) = X0 + V * delta
|
||||
</PRE>
|
||||
<P>where <I>X0</I> = (x0,y0,z0) is its position at the time the region is
|
||||
specified, <I>V</I> is the specified velocity vector with components
|
||||
(Vx,Vy,Vz), and <I>delta</I> is the time elapsed since the region was
|
||||
specified.
|
||||
</P>
|
||||
<P>The <I>wiggle</I> style moves the region in an oscillatory fashion, so that
|
||||
its position <I>X</I> = (x,y,z) as a function of time is given in vector
|
||||
notation as
|
||||
</P>
|
||||
<PRE>X(t) = X0 + A sin(omega*delta)
|
||||
</PRE>
|
||||
<P>where <I>X0</I> = (x0,y0,z0) is its position at the time the region is
|
||||
specified, <I>A</I> is the specified amplitude vector with components
|
||||
(Ax,Ay,Az), <I>omega</I> is 2 PI / <I>period</I>, and <I>delta</I> is the time
|
||||
elapsed since the region was specified.
|
||||
</P>
|
||||
<P>The <I>rotate</I> style rotates the region around a rotation axis <I>R</I> =
|
||||
(Rx,Ry,Rz) that goes thru a point <I>P</I> = (Px,Py,Pz). The <I>period</I> of
|
||||
the rotation is also specified. The direction of rotation for the
|
||||
region around the rotation axis is consistent with the right-hand
|
||||
rule: if your right-hand thumb points along <I>R</I>, then your fingers
|
||||
wrap around the axis in the direction of rotation.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>A prism cannot be of 0.0 thickness in any dimension; use a small z
|
||||
|
|
|
@ -44,13 +44,22 @@ style = {block} or {cone} or {cylinder} or {plane} or {prism} or {sphere} or {un
|
|||
N = # of regions to follow, must be 2 or greater
|
||||
reg-ID1,reg-ID2, ... = IDs of regions to intersect :pre
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {side} or {units} :l
|
||||
keyword = {side} or {units} or {vel} or {wiggle} or {rotate} :l
|
||||
{side} value = {in} or {out}
|
||||
{in} = the region is inside the specified geometry
|
||||
{out} = the region is outside the specified geometry
|
||||
{units} value = {lattice} or {box}
|
||||
{lattice} = the geometry is defined in lattice units
|
||||
{box} = the geometry is defined in simulation box units :pre
|
||||
{box} = the geometry is defined in simulation box units
|
||||
{vel} args = Vx Vy Vz
|
||||
Vx,Vy,Vz = components of velocity vector (velocity units)
|
||||
{wiggle} args = Ax Ay Az period
|
||||
Ax,Ay,Az = components of amplitude vector (distance units)
|
||||
period = period of oscillation (time units)
|
||||
{rotate} args = Px Py Pz Rx Ry Rz period
|
||||
Px,Py,Pz = origin point of axis of rotation (distance units)
|
||||
Rx,Ry,Rz = axis of rotation vector
|
||||
period = period of rotation (time units) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
@ -59,7 +68,13 @@ region 1 block -3.0 5.0 INF 10.0 INF INF
|
|||
region 2 sphere 0.0 0.0 0.0 5 side out
|
||||
region void cylinder y 2 3 5 -5.0 EDGE units box
|
||||
region 1 prism 0 10 0 10 0 10 2 0 0
|
||||
region outside union 4 side1 side2 side3 side4 :pre
|
||||
region outside union 4 side1 side2 side3 side4
|
||||
region 2 sphere 0.0 0.0 0.0 5 side out wiggle 1 1 0 10 :pre
|
||||
|
||||
Note that the
|
||||
direction of rotation for the atoms around the rotation axis is
|
||||
consistent with the right-hand rule: if the right-hand's thumb points
|
||||
along {R}, then the fingers wrap around in the direction of rotation.
|
||||
|
||||
[Description:]
|
||||
|
||||
|
@ -71,6 +86,15 @@ command, or deleted via the "delete_atoms"_delete_atoms.html command.
|
|||
Or the surface of the region can be used as a boundary wall via the
|
||||
"fix wall/region"_fix_wall_region.html command.
|
||||
|
||||
Normally, regions in LAMMPS are "static", meaning their geometric
|
||||
extent does not change with time. If the {vel} or {wiggle} or
|
||||
{rotate} keyword is used, as described below, the region becomes
|
||||
"dynamic", meaning it's location or orientation changes with time.
|
||||
This may be useful, for example, when thermostatting a region, via the
|
||||
compute temp/region command, or when the fix wall/region command uses
|
||||
a region surface as a bounding wall on particle motion, i.e. a
|
||||
rotating container.
|
||||
|
||||
The lo/hi values for {block} or {cone} or {cylinder} or {prism} styles
|
||||
can be specified as EDGE or INF. EDGE means they extend all the way
|
||||
to the global simulation box boundary. Note that this is the current
|
||||
|
@ -142,6 +166,8 @@ The {union} style creates a region consisting of the volume of all the
|
|||
listed regions combined. The {intersect} style creates a region
|
||||
consisting of the volume that is common to all the listed regions.
|
||||
|
||||
:line
|
||||
|
||||
The {side} keyword determines whether the region is considered to be
|
||||
inside or outside of the specified geometry. Using this keyword in
|
||||
conjunction with {union} and {intersect} regions, complex geometries
|
||||
|
@ -153,12 +179,16 @@ both of the spheres.
|
|||
|
||||
The {units} keyword determines the meaning of the distance units used
|
||||
to define the region for any argument above listed as having distance
|
||||
units. A {box} value selects standard distance units as defined by
|
||||
the "units"_units.html command, e.g. Angstroms for units = real or
|
||||
metal. A {lattice} value means the distance units are in lattice
|
||||
spacings. The "lattice"_lattice.html command must have been
|
||||
previously used to define the lattice spacings which are used as
|
||||
follows:
|
||||
units. It also affects the scaling of the velocity vector specfied
|
||||
with the {vel} keyword, the amplitude vector specified with the
|
||||
{wiggle} keyword, and the rotation point specified with the {rotate}
|
||||
keyword, since they each involve a distance metric.
|
||||
|
||||
A {box} value selects standard distance units as defined by the
|
||||
"units"_units.html command, e.g. Angstroms for units = real or metal.
|
||||
A {lattice} value means the distance units are in lattice spacings.
|
||||
The "lattice"_lattice.html command must have been previously used to
|
||||
define the lattice spacings which are used as follows:
|
||||
|
||||
For style {block}, the lattice spacing in dimension x is applied to
|
||||
xlo and xhi, similarly the spacings in dimensions y,z are applied to
|
||||
|
@ -187,6 +217,46 @@ For style {sphere}, the lattice spacing in dimensions x,y,z are
|
|||
applied to the sphere center x,y,z. The spacing in dimension x is
|
||||
applied to the sphere radius. :l,ule
|
||||
|
||||
:line
|
||||
|
||||
If the {vel} or {wiggle} or {rotate} keywords are used, the region
|
||||
is "dynamic", meaning its location or orientation changes with time.
|
||||
No more than one of these keywords can be used at a time. These
|
||||
keywords cannot be used with a {union} or {intersect} style region.
|
||||
Instead, the keywords should be used to define the individual
|
||||
sub-regions of the {union} or {intersect} region. Normally, each
|
||||
sub-region should be "dynamic" in the same manner (e.g. rotate around
|
||||
the same point), though this is not a requirement.
|
||||
|
||||
The {vel} style moves the region at a constant velocity, so that its
|
||||
position {X} = (x,y,z) as a function of time is given in vector
|
||||
notation as
|
||||
|
||||
X(t) = X0 + V * delta :pre
|
||||
|
||||
where {X0} = (x0,y0,z0) is its position at the time the region is
|
||||
specified, {V} is the specified velocity vector with components
|
||||
(Vx,Vy,Vz), and {delta} is the time elapsed since the region was
|
||||
specified.
|
||||
|
||||
The {wiggle} style moves the region in an oscillatory fashion, so that
|
||||
its position {X} = (x,y,z) as a function of time is given in vector
|
||||
notation as
|
||||
|
||||
X(t) = X0 + A sin(omega*delta) :pre
|
||||
|
||||
where {X0} = (x0,y0,z0) is its position at the time the region is
|
||||
specified, {A} is the specified amplitude vector with components
|
||||
(Ax,Ay,Az), {omega} is 2 PI / {period}, and {delta} is the time
|
||||
elapsed since the region was specified.
|
||||
|
||||
The {rotate} style rotates the region around a rotation axis {R} =
|
||||
(Rx,Ry,Rz) that goes thru a point {P} = (Px,Py,Pz). The {period} of
|
||||
the rotation is also specified. The direction of rotation for the
|
||||
region around the rotation axis is consistent with the right-hand
|
||||
rule: if your right-hand thumb points along {R}, then your fingers
|
||||
wrap around the axis in the direction of rotation.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
A prism cannot be of 0.0 thickness in any dimension; use a small z
|
||||
|
|
|
@ -51,6 +51,10 @@ include the "ave" fixes such as <A HREF = "fix_ave_spatial.html">fix
|
|||
ave/spatial</A>. Also <A HREF = "fix_dt_reset.html">fix
|
||||
dt/reset</A> and <A HREF = "fix_deposity.html">fix deposit</A>.
|
||||
</P>
|
||||
<P>This command cannot be used when any dynamic regions are defined via
|
||||
the <A HREF = "region.html">region</A> command, which have time-dependent position
|
||||
and orientation.
|
||||
</P>
|
||||
<P>There are other fixes which use the current timestep which may produce
|
||||
unexpected behavior, but LAMMPS allows them to be in place when
|
||||
resetting the timestep. For example, commands which thermostat the
|
||||
|
|
|
@ -48,6 +48,10 @@ include the "ave" fixes such as "fix
|
|||
ave/spatial"_fix_ave_spatial.html. Also "fix
|
||||
dt/reset"_fix_dt_reset.html and "fix deposit"_fix_deposity.html.
|
||||
|
||||
This command cannot be used when any dynamic regions are defined via
|
||||
the "region"_region.html command, which have time-dependent position
|
||||
and orientation.
|
||||
|
||||
There are other fixes which use the current timestep which may produce
|
||||
unexpected behavior, but LAMMPS allows them to be in place when
|
||||
resetting the timestep. For example, commands which thermostat the
|
||||
|
|
Loading…
Reference in New Issue