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

This commit is contained in:
sjplimp 2010-01-08 22:54:29 +00:00
parent e3c029753d
commit 1670ca2d57
12 changed files with 595 additions and 52 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,9 @@
\documentstyle[12pt]{article}
\begin{document}
$$
E = \epsilon \hspace{0.1cm} r^2 \qquad r < r_c
$$
\end{document}

View File

@ -327,8 +327,8 @@ of each style or click on the style itself for a full description:
<TR ALIGN="center"><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nvt.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD><TD ><A HREF = "fix_planeforce.html">planeforce</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_poems.html">poems</A></TD><TD ><A HREF = "fix_pour.html">pour</A></TD><TD ><A HREF = "fix_press_berendsen.html">press/berendsen</A></TD><TD ><A HREF = "fix_print.html">print</A></TD><TD ><A HREF = "fix_reax_bonds.html">reax/bonds</A></TD><TD ><A HREF = "fix_recenter.html">recenter</A></TD><TD ><A HREF = "fix_rigid.html">rigid</A></TD><TD ><A HREF = "fix_setforce.html">setforce</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_shake.html">shake</A></TD><TD ><A HREF = "fix_spring.html">spring</A></TD><TD ><A HREF = "fix_spring_rg.html">spring/rg</A></TD><TD ><A HREF = "fix_spring_self.html">spring/self</A></TD><TD ><A HREF = "fix_store_coord.html">store/coord</A></TD><TD ><A HREF = "fix_store_force.html">store/force</A></TD><TD ><A HREF = "fix_temp_berendsen.html">temp/berendsen</A></TD><TD ><A HREF = "fix_temp_rescale.html">temp/rescale</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_thermal_conductivity.html">thermal/conductivity</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_ttm.html">ttm</A></TD><TD ><A HREF = "fix_viscosity.html">viscosity</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD><TD ><A HREF = "fix_wall.html">wall/colloid</A></TD><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD><TD ><A HREF = "fix_wall.html">wall/lj126</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_wall.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A>
<TR ALIGN="center"><TD ><A HREF = "fix_thermal_conductivity.html">thermal/conductivity</A></TD><TD ><A HREF = "fix_tmd.html">tmd</A></TD><TD ><A HREF = "fix_ttm.html">ttm</A></TD><TD ><A HREF = "fix_viscosity.html">viscosity</A></TD><TD ><A HREF = "fix_viscous.html">viscous</A></TD><TD ><A HREF = "fix_wall.html">wall/colloid</A></TD><TD ><A HREF = "fix_wall_gran.html">wall/gran</A></TD><TD ><A HREF = "fix_wall.html">wall/harmonic</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "fix_wall.html">wall/lj126</A></TD><TD ><A HREF = "fix_wall.html">wall/lj93</A></TD><TD ><A HREF = "fix_wall_reflect.html">wall/reflect</A>
</TD></TR></TABLE></DIV>
<P>These are fix styles contributed by users, which can be used if

View File

@ -442,6 +442,7 @@ of each style or click on the style itself for a full description:
"viscous"_fix_viscous.html,
"wall/colloid"_fix_wall.html,
"wall/gran"_fix_wall_gran.html,
"wall/harmonic"_fix_wall.html,
"wall/lj126"_fix_wall.html,
"wall/lj93"_fix_wall.html,
"wall/reflect"_fix_wall_reflect.html :tb(c=8,ea=c)

View File

@ -218,10 +218,11 @@ list of fix styles available in LAMMPS:
<LI><A HREF = "fix_ttm.html">ttm</A> - two-temperature model for electronic/atomic coupling
<LI><A HREF = "fix_viscosity.html">viscosity</A> - Muller-Plathe momentum exchange for viscosity calculation
<LI><A HREF = "fix_viscous.html">viscous</A> - viscous damping for granular simulations
<LI><A HREF = "fix_wall_colloid.html">wall/colloid</A> - Lennard-Jones wall interacting with finite-size particles
<LI><A HREF = "fix_wall.html">wall/colloid</A> - Lennard-Jones wall interacting with finite-size particles
<LI><A HREF = "fix_wall_gran.html">wall/gran</A> - frictional wall(s) for granular simulations
<LI><A HREF = "fix_wall_lj126.html">wall/lj126</A> - Lennard-Jones 12-6 wall
<LI><A HREF = "fix_wall_lj93.html">wall/lj93</A> - Lennard-Jones 9-3 wall
<LI><A HREF = "fix_wall.html">wall/harmonic</A> - harmonic spring wall
<LI><A HREF = "fix_wall.html">wall/lj126</A> - Lennard-Jones 12-6 wall
<LI><A HREF = "fix_wall.html">wall/lj93</A> - Lennard-Jones 9-3 wall
<LI><A HREF = "fix_wall_reflect.html">wall/reflect</A> - reflecting wall(s)
</UL>
<P>There are also additional fix styles submitted by users which are

View File

@ -223,10 +223,11 @@ list of fix styles available in LAMMPS:
"viscosity"_fix_viscosity.html - Muller-Plathe momentum exchange for \
viscosity calculation
"viscous"_fix_viscous.html - viscous damping for granular simulations
"wall/colloid"_fix_wall_colloid.html - Lennard-Jones wall interacting with finite-size particles
"wall/colloid"_fix_wall.html - Lennard-Jones wall interacting with finite-size particles
"wall/gran"_fix_wall_gran.html - frictional wall(s) for granular simulations
"wall/lj126"_fix_wall_lj126.html - Lennard-Jones 12-6 wall
"wall/lj93"_fix_wall_lj93.html - Lennard-Jones 9-3 wall
"wall/harmonic"_fix_wall.html - harmonic spring wall
"wall/lj126"_fix_wall.html - Lennard-Jones 12-6 wall
"wall/lj93"_fix_wall.html - Lennard-Jones 9-3 wall
"wall/reflect"_fix_wall_reflect.html - reflecting wall(s) :ul
There are also additional fix styles submitted by users which are

View File

@ -21,7 +21,7 @@
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>style = <I>wall/lj93</I> or <I>wall/lj126</I> or <I>wall/colloid</I>
<LI>style = <I>wall/lj93</I> or <I>wall/lj126</I> or <I>wall/colloid</I> or <I>wall/harmonic</I>
<LI>one or more keyword/value pairs may be appended
@ -29,7 +29,7 @@
<PRE> <I>xlo</I>, <I>xhi</I>, <I>ylo</I>, <I>yhi</I>, <I>zlo</I>, <I>zhi</I> values = coord epsilon sigma cutoff
coord = position of wall (distance units)
epsilon = strength factor for wall-particle interaction (energy units)
epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
sigma = size factor for wall-particle interaction (distance units)
cutoff = distance from wall at which wall-particle interaction is cut off (distance units)
<I>vel</I> value = v
@ -72,6 +72,11 @@ the <A HREF = "pair_colloid.html">pair_style colloid</A> potential:
</P>
<CENTER><IMG SRC = "Eqs/fix_wall_colloid.jpg">
</CENTER>
<P>For style <I>wall/harmonic</I>, the energy E is given by a harmonic spring
potential:
</P>
<CENTER><IMG SRC = "Eqs/fix_wall_harmonic.jpg">
</CENTER>
<P>In all cases, <I>r</I> is the distance from the particle to the wall at
position <I>coord</I>, and Rc is the <I>cutoff</I> distance at which the
particle and wall no longer interact. The energy of the wall
@ -80,28 +85,48 @@ potential is shifted so that the wall-particle interaction energy is
</P>
<P>For the <I>wall/lj93</I> and <I>wall/lj126</I> styles, <I>epsilon</I> and <I>sigma</I> are
the usual Lennard-Jones parameters, which determine the strength and
size of the particle as it interacts with the wall. Note that this
<I>epsilon</I> and <I>sigma</I> may be different than any <I>epsilon</I> or <I>sigma</I>
values defined for a pair style that computes particle-particle
interactions.
size of the particle as it interacts with the wall. Epsilon has
energy units. Note that this <I>epsilon</I> and <I>sigma</I> may be different
than any <I>epsilon</I> or <I>sigma</I> values defined for a pair style that
computes particle-particle interactions.
</P>
<P>The <I>wall/lj93</I> interaction is derived by integrating over a 3d
half-lattice of Lennard-Jones 12/6 particles. The <I>wall/lj126</I>
interaction is effectively a harder, more repulsive wall interaction.
</P>
<P>For the <I>wall/colloid</I> style, <I>epsilon</I> is effectively a Hamaker
constant for the colloid-wall interaction, <I>R</I> is the radius of the
colloid particle, <I>D</I> is the distance from the surface of the colloid
particle to the wall (r-R), and <I>sigma</I> is the size of the constituent
LJ particle inside the colloid particle. Note that the cutoff
distance Rc in this case is the distance from the colloid particle
center to the wall.
constant with energy units for the colloid-wall interaction, <I>R</I> is
the radius of the colloid particle, <I>D</I> is the distance from the
surface of the colloid particle to the wall (r-R), and <I>sigma</I> is the
size of a constituent LJ particle inside the colloid particle. Note
that the cutoff distance Rc in this case is the distance from the
colloid particle center to the wall.
</P>
<P>The <I>wall/colloid</I> interaction is derived by integrating over
constituent LJ particles of size <I>sigma</I> within the colloid particle
and a 3d half-lattice of Lennard-Jones 12/6 particles of size <I>sigma</I>
in the wall.
</P>
<P>For the <I>wall/harmonic</I> style, <I>epsilon</I> is effectively the spring
constant K, and has units (energy/distance^2). The input parameter
<I>sigma</I> is ignored. The minimum energy position of the harmonic
spring is at the <I>cutoff</I>. This is a repulsive-only spring since the
interaction is truncated at the <I>cutoff</I>
</P>
<P>IMPORTANT NOTE: For all of the styles, you must insure that r is
always > 0 for all particles in the group, or LAMMPS will generate an
error. This means you cannot start your simulation with particles at
the wall position <I>coord</I> (r = 0) or with particles on the wrong side
of the wall (r < 0). For the <I>wall/lj93</I> and <I>wall/lj126</I> styles, the
energy of the wall/particle interaction (and hence the force on the
particle) blows up as r -> 0. The <I>wall/colloid</I> style is even more
restrictive, since the energy blows up as D = r-R -> 0. This means
the finite-size particles of radius R must be a distance larger than R
from the wall position <I>coord</I>. The <I>harmonic</I> style is a softer
potential and does not blow up as r -> 0, but you must use a large
enough <I>epsilon</I> that particles always reamin on the correct side of
the wall (r > 0).
</P>
<P>If the <I>vel</I> keyword is specified, the position of all walls will move
during the simulation in a perpendicular direction, based on their
initial <I>coord</I> position, the specified velocity <I>vel</I>, and the time
@ -195,8 +220,9 @@ together.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_wall_reflect.html">fix wall/reflect</A>, <A HREF = "fix_wall_gran.html">fix
wall/gran</A>
<P><A HREF = "fix_wall_reflect.html">fix wall/reflect</A>,
<A HREF = "fix_wall_gran.html">fix wall/gran</A>,
<A HREF = "fix_wall_region.html">fix wall/region</A>
</P>
<P><B>Default:</B>
</P>

View File

@ -15,12 +15,12 @@ fix wall/colloid command :h3
fix ID group-ID style keyword values ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
style = {wall/lj93} or {wall/lj126} or {wall/colloid} :l
style = {wall/lj93} or {wall/lj126} or {wall/colloid} or {wall/harmonic} :l
one or more keyword/value pairs may be appended :l
keyword = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} or {vel} or {wiggle/sin} or {wiggle/cos} or {units} :l
{xlo}, {xhi}, {ylo}, {yhi}, {zlo}, {zhi} values = coord epsilon sigma cutoff
coord = position of wall (distance units)
epsilon = strength factor for wall-particle interaction (energy units)
epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
sigma = size factor for wall-particle interaction (distance units)
cutoff = distance from wall at which wall-particle interaction is cut off (distance units)
{vel} value = v
@ -62,6 +62,11 @@ the "pair_style colloid"_pair_colloid.html potential:
:c,image(Eqs/fix_wall_colloid.jpg)
For style {wall/harmonic}, the energy E is given by a harmonic spring
potential:
:c,image(Eqs/fix_wall_harmonic.jpg)
In all cases, {r} is the distance from the particle to the wall at
position {coord}, and Rc is the {cutoff} distance at which the
particle and wall no longer interact. The energy of the wall
@ -70,28 +75,48 @@ potential is shifted so that the wall-particle interaction energy is
For the {wall/lj93} and {wall/lj126} styles, {epsilon} and {sigma} are
the usual Lennard-Jones parameters, which determine the strength and
size of the particle as it interacts with the wall. Note that this
{epsilon} and {sigma} may be different than any {epsilon} or {sigma}
values defined for a pair style that computes particle-particle
interactions.
size of the particle as it interacts with the wall. Epsilon has
energy units. Note that this {epsilon} and {sigma} may be different
than any {epsilon} or {sigma} values defined for a pair style that
computes particle-particle interactions.
The {wall/lj93} interaction is derived by integrating over a 3d
half-lattice of Lennard-Jones 12/6 particles. The {wall/lj126}
interaction is effectively a harder, more repulsive wall interaction.
For the {wall/colloid} style, {epsilon} is effectively a Hamaker
constant for the colloid-wall interaction, {R} is the radius of the
colloid particle, {D} is the distance from the surface of the colloid
particle to the wall (r-R), and {sigma} is the size of the constituent
LJ particle inside the colloid particle. Note that the cutoff
distance Rc in this case is the distance from the colloid particle
center to the wall.
constant with energy units for the colloid-wall interaction, {R} is
the radius of the colloid particle, {D} is the distance from the
surface of the colloid particle to the wall (r-R), and {sigma} is the
size of a constituent LJ particle inside the colloid particle. Note
that the cutoff distance Rc in this case is the distance from the
colloid particle center to the wall.
The {wall/colloid} interaction is derived by integrating over
constituent LJ particles of size {sigma} within the colloid particle
and a 3d half-lattice of Lennard-Jones 12/6 particles of size {sigma}
in the wall.
For the {wall/harmonic} style, {epsilon} is effectively the spring
constant K, and has units (energy/distance^2). The input parameter
{sigma} is ignored. The minimum energy position of the harmonic
spring is at the {cutoff}. This is a repulsive-only spring since the
interaction is truncated at the {cutoff}
IMPORTANT NOTE: For all of the styles, you must insure that r is
always > 0 for all particles in the group, or LAMMPS will generate an
error. This means you cannot start your simulation with particles at
the wall position {coord} (r = 0) or with particles on the wrong side
of the wall (r < 0). For the {wall/lj93} and {wall/lj126} styles, the
energy of the wall/particle interaction (and hence the force on the
particle) blows up as r -> 0. The {wall/colloid} style is even more
restrictive, since the energy blows up as D = r-R -> 0. This means
the finite-size particles of radius R must be a distance larger than R
from the wall position {coord}. The {harmonic} style is a softer
potential and does not blow up as r -> 0, but you must use a large
enough {epsilon} that particles always reamin on the correct side of
the wall (r > 0).
If the {vel} keyword is specified, the position of all walls will move
during the simulation in a perpendicular direction, based on their
initial {coord} position, the specified velocity {vel}, and the time
@ -185,8 +210,9 @@ together.
[Related commands:]
"fix wall/reflect"_fix_wall_reflect.html, "fix
wall/gran"_fix_wall_gran.html
"fix wall/reflect"_fix_wall_reflect.html,
"fix wall/gran"_fix_wall_gran.html,
"fix wall/region"_fix_wall_region.html
[Default:]

190
doc/fix_wall_region.html Normal file
View File

@ -0,0 +1,190 @@
<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>fix wall/region command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID wall/region region-ID style epsilon sigma cutoff
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>wall/region = style name of this fix command
<LI>region-ID = region whose boundary will act as wall
<LI>style = <I>lj93</I> or <I>lj126</I> or <I>colloid</I> or <I>harmonic</I>
<LI>epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
<LI>sigma = size factor for wall-particle interaction (distance units)
<LI>cutoff = distance from wall at which wall-particle interaction is cut off (distance units)
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix wall all wall/region mySphere lj93 1.0 1.0 2.5
</PRE>
<P><B>Description:</B>
</P>
<P>Treat the surface of the geometric region defined by the <I>region-ID</I>
as a bounding wall which interacts with nearby particles according to
the specified style. The distance between a particle and the surface
is the distance to the nearest point on the surface and the force the
wall exerts on the particle is along the direction between that point
and the particle, which is the direction normal to the surface at that
point.
</P>
<P>Regions are defined using the <A HREF = "region.html">region</A> command. Note that
the region volume can be interior or exterior to the bounding surface,
which will determine in which direction the surface interacts with
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.
</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.
It is up to you to insure that periodic or non-periodic boundaries are
specified appropriately via the <A HREF = "boundary.html">boundary</A> command when
using a region as a wall that bounds particle motion.
</P>
<P>IMPORTANT NOTE: For primitive regions with sharp corners and/or edges
(e.g. a block or cylinder), wall/particle forces are computed
accurately for both interior and exterior regions. For <I>union</I> and
<I>intersect</I> regions, additional sharp corners and edges may be present
due to the intersection of the surfaces of 2 or more primitive
volumes. These corners and edges can be of two types: concave or
convex. Concave points/edges are like the corners of a cube as seen
by particles in the interior of a cube. Wall/particle forces around
these features are computed correctly. Convex points/edges are like
the corners of a cube as seen by particles exterior to the cube,
i.e. the points jut into the volume where particles are present.
LAMMPS does NOT compute the location of these convex points directly,
and hence wall/particle forces in the cutoff volume around these
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
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>The energy of wall-particle interactions depends on the specified
style.
</P>
<P>For style <I>lj93</I>, the energy E is given by the 9/3 potential:
</P>
<CENTER><IMG SRC = "Eqs/fix_wall_lj93.jpg">
</CENTER>
<P>For style <I>lj126</I>, the energy E is given by the 12/6 potential:
</P>
<CENTER><IMG SRC = "Eqs/pair_lj.jpg">
</CENTER>
<P>For style <I>colloid</I>, the energy E is given by an integrated form of
the <A HREF = "pair_colloid.html">pair_style colloid</A> potential:
</P>
<CENTER><IMG SRC = "Eqs/fix_wall_colloid.jpg">
</CENTER>
<P>For style <I>wall/harmonic</I>, the energy E is given by a harmonic spring
potential:
</P>
<CENTER><IMG SRC = "Eqs/fix_wall_harmonic.jpg">
</CENTER>
<P>In all cases, <I>r</I> is the distance from the particle to the region
surface, and Rc is the <I>cutoff</I> distance at which the particle and
surface no longer interact. The energy of the wall potential is
shifted so that the wall-particle interaction energy is 0.0 at the
cutoff distance.
</P>
<P>For the <I>lj93</I> and <I>lj126</I> styles, <I>epsilon</I> and <I>sigma</I> are the usual
Lennard-Jones parameters, which determine the strength and size of the
particle as it interacts with the wall. Epsilon has energy units.
Note that this <I>epsilon</I> and <I>sigma</I> may be different than any
<I>epsilon</I> or <I>sigma</I> values defined for a pair style that computes
particle-particle interactions.
</P>
<P>The <I>lj93</I> interaction is derived by integrating over a 3d
half-lattice of Lennard-Jones 12/6 particles. The <I>lj126</I> interaction
is effectively a harder, more repulsive wall interaction.
</P>
<P>For the <I>colloid</I> style, <I>epsilon</I> is effectively a Hamaker constant
with energy units for the colloid-wall interaction, <I>R</I> is the radius
of the colloid particle, <I>D</I> is the distance from the surface of the
colloid particle to the wall (r-R), and <I>sigma</I> is the size of a
constituent LJ particle inside the colloid particle. Note that the
cutoff distance Rc in this case is the distance from the colloid
particle center to the wall.
</P>
<P>The <I>colloid</I> interaction is derived by integrating over constituent
LJ particles of size <I>sigma</I> within the colloid particle and a 3d
half-lattice of Lennard-Jones 12/6 particles of size <I>sigma</I> in the
wall.
</P>
<P>For the <I>wall/harmonic</I> style, <I>epsilon</I> is effectively the spring
constant K, and has units (energy/distance^2). The input parameter
<I>sigma</I> is ignored. The minimum energy position of the harmonic
spring is at the <I>cutoff</I>. This is a repulsive-only spring since the
interaction is truncated at the <I>cutoff</I>
</P>
<P>IMPORTANT NOTE: For all of the styles, you must insure that r is
always > 0 for all particles in the group, or LAMMPS will generate an
error. This means you cannot start your simulation with particles on
the region surface (r = 0) or with particles on the wrong side of the
region surface (r < 0). For the <I>wall/lj93</I> and <I>wall/lj126</I> styles,
the energy of the wall/particle interaction (and hence the force on
the particle) blows up as r -> 0. The <I>wall/colloid</I> style is even
more restrictive, since the energy blows up as D = r-R -> 0. This
means the finite-size particles of radius R must be a distance larger
than R from the region surface. The <I>harmonic</I> style is a softer
potential and does not blow up as r -> 0, but you must use a large
enough <I>epsilon</I> that particles always reamin on the correct side of
the region surface (r > 0).
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>.
</P>
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this
fix to add the energy of interaction between atoms and the wall to the
system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic
output</A>.
</P>
<P>This fix computes a scalar energy and a 3-length vector of forces,
which can be accessed by various <A HREF = "Section_howto.html#4_15">output
commands</A>. The scalar and vector values
calculated by this fix are "extensive", meaning they scale with the
number of atoms in the simulation. The scalar energy is the sum of
energy interactions for all particles interacting with the wall
represented by the region surface. The 3 vector quantities are the
x,y,z components of the total force acting on the wall due to the
particles.
</P>
<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of
the <A HREF = "run.html">run</A> command.
</P>
<P>The forces due to this fix are imposed during an energy minimization,
invoked by the <A HREF = "minimize.html">minimize</A> command.
</P>
<P>IMPORTANT NOTE: If you want the atom/wall interaction energy to be
included in the total potential energy of the system (the quantity
being minimized), you MUST enable the <A HREF = "fix_modify.html">fix_modify</A>
<I>energy</I> option for this fix.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_wall.html">fix wall/lj93</A>,
<A HREF = "fix_wall.html">fix wall/lj126</A>,
<A HREF = "fix_wall.html">fix wall/colloid</A>,
<A HREF = "fix_wall_gran.html">fix wall/gran</A>
</P>
<P><B>Default:</B> none
</P>
</HTML>

185
doc/fix_wall_region.txt Normal file
View File

@ -0,0 +1,185 @@
"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
fix wall/region command :h3
[Syntax:]
fix ID group-ID wall/region region-ID style epsilon sigma cutoff :pre
ID, group-ID are documented in "fix"_fix.html command
wall/region = style name of this fix command
region-ID = region whose boundary will act as wall
style = {lj93} or {lj126} or {colloid} or {harmonic}
epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
sigma = size factor for wall-particle interaction (distance units)
cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :ul
[Examples:]
fix wall all wall/region mySphere lj93 1.0 1.0 2.5 :pre
[Description:]
Treat the surface of the geometric region defined by the {region-ID}
as a bounding wall which interacts with nearby particles according to
the specified style. The distance between a particle and the surface
is the distance to the nearest point on the surface and the force the
wall exerts on the particle is along the direction between that point
and the particle, which is the direction normal to the surface at that
point.
Regions are defined using the "region"_region.html command. Note that
the region volume can be interior or exterior to the bounding surface,
which will determine in which direction the surface interacts with
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.
IMPORTANT NOTE: As discussed on the "region"_region.html command doc
page, regions in LAMMPS do not get wrapped across periodic boundaries.
It is up to you to insure that periodic or non-periodic boundaries are
specified appropriately via the "boundary"_boundary.html command when
using a region as a wall that bounds particle motion.
IMPORTANT NOTE: For primitive regions with sharp corners and/or edges
(e.g. a block or cylinder), wall/particle forces are computed
accurately for both interior and exterior regions. For {union} and
{intersect} regions, additional sharp corners and edges may be present
due to the intersection of the surfaces of 2 or more primitive
volumes. These corners and edges can be of two types: concave or
convex. Concave points/edges are like the corners of a cube as seen
by particles in the interior of a cube. Wall/particle forces around
these features are computed correctly. Convex points/edges are like
the corners of a cube as seen by particles exterior to the cube,
i.e. the points jut into the volume where particles are present.
LAMMPS does NOT compute the location of these convex points directly,
and hence wall/particle forces in the cutoff volume around these
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
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.
The energy of wall-particle interactions depends on the specified
style.
For style {lj93}, the energy E is given by the 9/3 potential:
:c,image(Eqs/fix_wall_lj93.jpg)
For style {lj126}, the energy E is given by the 12/6 potential:
:c,image(Eqs/pair_lj.jpg)
For style {colloid}, the energy E is given by an integrated form of
the "pair_style colloid"_pair_colloid.html potential:
:c,image(Eqs/fix_wall_colloid.jpg)
For style {wall/harmonic}, the energy E is given by a harmonic spring
potential:
:c,image(Eqs/fix_wall_harmonic.jpg)
In all cases, {r} is the distance from the particle to the region
surface, and Rc is the {cutoff} distance at which the particle and
surface no longer interact. The energy of the wall potential is
shifted so that the wall-particle interaction energy is 0.0 at the
cutoff distance.
For the {lj93} and {lj126} styles, {epsilon} and {sigma} are the usual
Lennard-Jones parameters, which determine the strength and size of the
particle as it interacts with the wall. Epsilon has energy units.
Note that this {epsilon} and {sigma} may be different than any
{epsilon} or {sigma} values defined for a pair style that computes
particle-particle interactions.
The {lj93} interaction is derived by integrating over a 3d
half-lattice of Lennard-Jones 12/6 particles. The {lj126} interaction
is effectively a harder, more repulsive wall interaction.
For the {colloid} style, {epsilon} is effectively a Hamaker constant
with energy units for the colloid-wall interaction, {R} is the radius
of the colloid particle, {D} is the distance from the surface of the
colloid particle to the wall (r-R), and {sigma} is the size of a
constituent LJ particle inside the colloid particle. Note that the
cutoff distance Rc in this case is the distance from the colloid
particle center to the wall.
The {colloid} interaction is derived by integrating over constituent
LJ particles of size {sigma} within the colloid particle and a 3d
half-lattice of Lennard-Jones 12/6 particles of size {sigma} in the
wall.
For the {wall/harmonic} style, {epsilon} is effectively the spring
constant K, and has units (energy/distance^2). The input parameter
{sigma} is ignored. The minimum energy position of the harmonic
spring is at the {cutoff}. This is a repulsive-only spring since the
interaction is truncated at the {cutoff}
IMPORTANT NOTE: For all of the styles, you must insure that r is
always > 0 for all particles in the group, or LAMMPS will generate an
error. This means you cannot start your simulation with particles on
the region surface (r = 0) or with particles on the wrong side of the
region surface (r < 0). For the {wall/lj93} and {wall/lj126} styles,
the energy of the wall/particle interaction (and hence the force on
the particle) blows up as r -> 0. The {wall/colloid} style is even
more restrictive, since the energy blows up as D = r-R -> 0. This
means the finite-size particles of radius R must be a distance larger
than R from the region surface. The {harmonic} style is a softer
potential and does not blow up as r -> 0, but you must use a large
enough {epsilon} that particles always reamin on the correct side of
the region surface (r > 0).
[Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart
files"_restart.html.
The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the energy of interaction between atoms and the wall to the
system's potential energy as part of "thermodynamic
output"_thermo_style.html.
This fix computes a scalar energy and a 3-length vector of forces,
which can be accessed by various "output
commands"_Section_howto.html#4_15. The scalar and vector values
calculated by this fix are "extensive", meaning they scale with the
number of atoms in the simulation. The scalar energy is the sum of
energy interactions for all particles interacting with the wall
represented by the region surface. The 3 vector quantities are the
x,y,z components of the total force acting on the wall due to the
particles.
No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command.
The forces due to this fix are imposed during an energy minimization,
invoked by the "minimize"_minimize.html command.
IMPORTANT NOTE: If you want the atom/wall interaction energy to be
included in the total potential energy of the system (the quantity
being minimized), you MUST enable the "fix_modify"_fix_modify.html
{energy} option for this fix.
[Restrictions:] none
[Related commands:]
"fix wall/lj93"_fix_wall.html,
"fix wall/lj126"_fix_wall.html,
"fix wall/colloid"_fix_wall.html,
"fix wall/gran"_fix_wall_gran.html
[Default:] none

View File

@ -32,7 +32,7 @@
radius = cylinder radius (distance units)
lo,hi = bounds of cylinder in dim (distance units)
<I>plane</I> args = px py pz nx ny nz
px,py,pz = point on the plane
px,py,pz = point on the plane (distance units)
nx,ny,nz = direction normal to plane (distance units)
<I>prism</I> args = xlo xhi ylo yhi zlo zhi xy xz yz
xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units)
@ -77,6 +77,8 @@ commands use regions. For example, the region can be filled with
atoms via the <A HREF = "create_atoms.html">create_atoms</A> command. Or the atoms
in the region can be identified as a group via the <A HREF = "group.html">group</A>
command, or deleted via the <A HREF = "delete_atoms.html">delete_atoms</A> command.
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>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
@ -87,11 +89,26 @@ it should encompass the simulation box even if it changes size. If a
region is defined before the simulation box has been created (via
<A HREF = "create_box.html">create_box</A> or <A HREF = "read_data.html">read_data</A> or
<A HREF = "read_restart.html">read_restart</A> commands), then an EDGE or INF
parameter cannot be used.
parameter cannot be used. For a <I>prism</I> region, a non-zero tilt
factor in any pair of dimensions cannot be used if both the lo/hi
values in either of those dimensions are INF. E.g. if the xy tilt is
non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi.
</P>
<P>IMPORTANT NOTE: Regions in LAMMPS do not get wrapped across periodic
boundaries, as specified by the <A HREF = "boundary.html">boundary</A> command. For
example, a spherical region that is defined so that it overlaps a
periodic boundary is not treated as 2 half-spheres, one on either side
of the simulation box.
</P>
<P>IMPORTANT NOTE: Regions in LAMMPS are always 3d geometric objects,
regardless of whether the <A HREF = "dimension.html">dimension</A> of a simulation
is 2d or 3d. Thus when using regions in a 2d simulation, you should
be careful to define the region so that its intersection with the 2d
x-y plane of the simulation is the 2d geometric object you want.
</P>
<P>For style <I>cone</I>, an axis-aligned cone is defined which is like a
<I>cylinder</I> except that two different radii (one at each end) can be
defined. Either of the radii can be 0.0.
defined. Either of the radii (but not both) can be 0.0.
</P>
<P>For style <I>cone</I> and <I>cylinder</I>, the c1,c2 params are coordinates in
the 2 other dimensions besides the cylinder axis dimension. For dim =
@ -100,6 +117,12 @@ Thus the third example above specifies a cylinder with its axis in the
y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and
extending in the y-direction from -5.0 to the upper box boundary.
</P>
<P>For style <I>plane</I>, a plane is defined which contain the point
(px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does
not have to be of unit length. The "inside" of the plane is the
half-space in the direction of the normal vector; see the discussion
of the <I>side</I> option below.
</P>
<P>For style <I>prism</I>, a parallelepiped is defined (it's too hard to spell
parallelepiped in an input script!). Think of the parallelepiped as
initially an axis-aligned orthogonal box with the same xyz lo/hi
@ -138,12 +161,41 @@ region would be all the volume in the simulation box that was outside
both of the spheres.
</P>
<P>The <I>units</I> keyword determines the meaning of the distance units used
to define the region. 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 spacing.
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:
</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
ylo/yhi and zlo/zhi.
<LI>For style <I>cone</I>, the lattice spacing in argument <I>dim</I> is applied to
lo and hi. The spacings in the two radial dimensions are applied to
c1 and c2. The two cone radii are scaled by the lattice
spacing in the dimension corresponding to c1.
<LI>For style <I>cylinder</I>, the lattice spacing in argument <I>dim</I> is applied
to lo and hi. The spacings in the two radial dimensions are applied
to c1 and c2. The cylinder radius is scaled by the lattice
spacing in the dimension corresponding to c1.
<LI>For style <I>plane</I>, the lattice spacing in dimension x is applied to
px and nx, similarly the spacings in dimensions y,z are applied to
py/ny and pz/nz.
<LI>For style <I>prism</I>, the lattice spacing in dimension x is applied to
xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing
in dimension x is applied to xy and xz, and the spacing in dimension y
to yz.
<LI>For style <I>sphere</I>, 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.
</UL>
<P><B>Restrictions:</B>
</P>
<P>A prism cannot be of 0.0 thickness in any dimension; use a small z

View File

@ -27,7 +27,7 @@ style = {block} or {cone} or {cylinder} or {plane} or {prism} or {sphere} or {un
radius = cylinder radius (distance units)
lo,hi = bounds of cylinder in dim (distance units)
{plane} args = px py pz nx ny nz
px,py,pz = point on the plane
px,py,pz = point on the plane (distance units)
nx,ny,nz = direction normal to plane (distance units)
{prism} args = xlo xhi ylo yhi zlo zhi xy xz yz
xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units)
@ -68,6 +68,8 @@ commands use regions. For example, the region can be filled with
atoms via the "create_atoms"_create_atoms.html command. Or the atoms
in the region can be identified as a group via the "group"_group.html
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.
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
@ -78,11 +80,26 @@ it should encompass the simulation box even if it changes size. If a
region is defined before the simulation box has been created (via
"create_box"_create_box.html or "read_data"_read_data.html or
"read_restart"_read_restart.html commands), then an EDGE or INF
parameter cannot be used.
parameter cannot be used. For a {prism} region, a non-zero tilt
factor in any pair of dimensions cannot be used if both the lo/hi
values in either of those dimensions are INF. E.g. if the xy tilt is
non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi.
IMPORTANT NOTE: Regions in LAMMPS do not get wrapped across periodic
boundaries, as specified by the "boundary"_boundary.html command. For
example, a spherical region that is defined so that it overlaps a
periodic boundary is not treated as 2 half-spheres, one on either side
of the simulation box.
IMPORTANT NOTE: Regions in LAMMPS are always 3d geometric objects,
regardless of whether the "dimension"_dimension.html of a simulation
is 2d or 3d. Thus when using regions in a 2d simulation, you should
be careful to define the region so that its intersection with the 2d
x-y plane of the simulation is the 2d geometric object you want.
For style {cone}, an axis-aligned cone is defined which is like a
{cylinder} except that two different radii (one at each end) can be
defined. Either of the radii can be 0.0.
defined. Either of the radii (but not both) can be 0.0.
For style {cone} and {cylinder}, the c1,c2 params are coordinates in
the 2 other dimensions besides the cylinder axis dimension. For dim =
@ -91,6 +108,12 @@ Thus the third example above specifies a cylinder with its axis in the
y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and
extending in the y-direction from -5.0 to the upper box boundary.
For style {plane}, a plane is defined which contain the point
(px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does
not have to be of unit length. The "inside" of the plane is the
half-space in the direction of the normal vector; see the discussion
of the {side} option below.
For style {prism}, a parallelepiped is defined (it's too hard to spell
parallelepiped in an input script!). Think of the parallelepiped as
initially an axis-aligned orthogonal box with the same xyz lo/hi
@ -129,11 +152,40 @@ region would be all the volume in the simulation box that was outside
both of the spheres.
The {units} keyword determines the meaning of the distance units used
to define the region. 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 spacing.
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:
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
ylo/yhi and zlo/zhi. :ulb,l
For style {cone}, the lattice spacing in argument {dim} is applied to
lo and hi. The spacings in the two radial dimensions are applied to
c1 and c2. The two cone radii are scaled by the lattice
spacing in the dimension corresponding to c1. :l
For style {cylinder}, the lattice spacing in argument {dim} is applied
to lo and hi. The spacings in the two radial dimensions are applied
to c1 and c2. The cylinder radius is scaled by the lattice
spacing in the dimension corresponding to c1. :l
For style {plane}, the lattice spacing in dimension x is applied to
px and nx, similarly the spacings in dimensions y,z are applied to
py/ny and pz/nz. :l
For style {prism}, the lattice spacing in dimension x is applied to
xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing
in dimension x is applied to xy and xz, and the spacing in dimension y
to yz. :l
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
[Restrictions:]