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

This commit is contained in:
sjplimp 2010-06-01 15:06:27 +00:00
parent a9cdb2f856
commit a9bf968ce5
2 changed files with 127 additions and 20 deletions

View File

@ -13,26 +13,49 @@
</H3> </H3>
<P><B>Syntax:</B> <P><B>Syntax:</B>
</P> </P>
<PRE>fix ID group-ID wall/reflect keyword ... <PRE>fix ID group-ID wall/reflect face arg ... keyword value ...
</PRE> </PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>wall/reflect = style name of this fix command <LI>wall/reflect = style name of this fix command
<LI>one or more keyword/value pairs may be appended
<LI>keyword = <I>xlo</I> or <I>xhi</I> or <I>ylo</I> or <I>yhi</I> or <I>zlo</I> or <I>zhi</I> <LI>one or more face/arg pairs may be appended
<LI>face = <I>xlo</I> or <I>xhi</I> or <I>ylo</I> or <I>yhi</I> or <I>zlo</I> or <I>zhi</I>
<PRE> <I>xlo</I>,<I>ylo</I>,<I>zlo</I> arg = EDGE or constant or variable
EDGE = current lo edge of simulation box
constant = number like 0.0 or -30.0 (distance units)
variable = <A HREF = "variable.html">equal-style variable</A> like v_x or v_wiggle
<I>xhi</I>,<I>yhi</I>,<I>zhi</I> arg = EDGE or constant or variable
EDGE = current hi edge of simulation box
constant = number like 50.0 or 100.3 (distance units)
variable = <A HREF = "variable.html">equal-style variable</A> like v_x or v_wiggle
</PRE>
<LI>zero or more keyword/avlue pairs may be appended
<LI>keyword = <I>units</I>
<PRE> <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
</PRE>
</UL> </UL>
<P><B>Examples:</B> <P><B>Examples:</B>
</P> </P>
<PRE>fix xwalls all wall/reflect xlo xhi <PRE>fix xwalls all wall/reflect xlo EDGE xhi EDGE
fix walls all wall/reflect xlo ylo zlo xhi yhi zhi fix walls all wall/reflect xlo 0.0 ylo 10.0 units box
fix top all wall/reflect zhi v_pressdown
</PRE> </PRE>
<P><B>Description:</B> <P><B>Description:</B>
</P> </P>
<P>Bound the simulation with one or more walls which reflect particles <P>Bound the simulation with one or more walls which reflect particles
when they attempt to move thru them. in the specified group when they attempt to move thru them.
</P> </P>
<P>Reflection means that if an atom moves outside the box on a timestep <P>Reflection means that if an atom moves outside the wall on a timestep
by a distance delta (e.g. due to <A HREF = "fix_nve.html">fix nve</A>), then it is by a distance delta (e.g. due to <A HREF = "fix_nve.html">fix nve</A>), then it is
put back inside the box by the same delta and the sign of the put back inside the face by the same delta, and the sign of the
corresponding component of its velocity is flipped. corresponding component of its velocity is flipped.
</P> </P>
<P>When used in conjunction with <A HREF = "fix_nve.html">fix nve</A> and <A HREF = "run_style.html">run_style <P>When used in conjunction with <A HREF = "fix_nve.html">fix nve</A> and <A HREF = "run_style.html">run_style
@ -43,6 +66,41 @@ the corresponding timestep asymmetrically, energy conservation is only
satisfied to O(dt), rather than to O(dt^2) as it would be for satisfied to O(dt), rather than to O(dt^2) as it would be for
velocity-Verlet integration without reflective walls. velocity-Verlet integration without reflective walls.
</P> </P>
<P>Up to 6 walls or faces can be specified in a single command: <I>xlo</I>,
<I>xhi</I>, <I>ylo</I>, <I>yhi</I>, <I>zlo</I>, <I>zhi</I>. A <I>lo</I> face only reflects
particles that move to a coordinate less than the face position. A
<I>hi</I> face only reflects particles that move to a coordinate higher
than the face position.
</P>
<P>The position of each face can be specified in one of 3 ways: as the
EDGE of the simulation box, as a constant value, or as a variable. If
EDGE is used, then the corresponding boundary of the current
simulation box is used. If a numeric constant is specified then the
wall is placed at that position in the appropriate dimension (x, y, or
z). In both the EDGE and constant cases, the wall will never move.
If the face position is specified with a variable name v_ID, then ID
should be the name of an <A HREF = "variable.html">equal-style variable</A> that has
been previously defined. In this case the variable is evaluated each
timestep and the result is the current position of the reflecting
wall. Equal-style variables can specify formulas with various
mathematical functions, and include <A HREF = "thermo_style.html">thermo_style</A>
command keywords for the simulation box parameters and timestep and
elapsed time. Thus it is easy to specify a time-dependent wall
position.
</P>
<P>The <I>units</I> keyword determines the meaning of the distance units used
to define a face position, but only when a numeric constant is used.
It is not relevant when EDGE or a variable is used to specify a face
position.
</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.
</P>
<HR>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P> </P>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart <P>No information about this fix is written to <A HREF = "restart.html">binary restart

View File

@ -10,26 +10,41 @@ fix wall/reflect command :h3
[Syntax:] [Syntax:]
fix ID group-ID wall/reflect keyword ... :pre fix ID group-ID wall/reflect face arg ... keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command ID, group-ID are documented in "fix"_fix.html command :ulb,l
wall/reflect = style name of this fix command wall/reflect = style name of this fix command :l
one or more keyword/value pairs may be appended one or more face/arg pairs may be appended :l
keyword = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :ul face = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :l
{xlo},{ylo},{zlo} arg = EDGE or constant or variable
EDGE = current lo edge of simulation box
constant = number like 0.0 or -30.0 (distance units)
variable = "equal-style variable"_variable.html like v_x or v_wiggle
{xhi},{yhi},{zhi} arg = EDGE or constant or variable
EDGE = current hi edge of simulation box
constant = number like 50.0 or 100.3 (distance units)
variable = "equal-style variable"_variable.html like v_x or v_wiggle :pre
zero or more keyword/avlue pairs may be appended :l
keyword = {units} :l
{units} value = {lattice} or {box}
{lattice} = the geometry is defined in lattice units
{box} = the geometry is defined in simulation box units :pre
:ule
[Examples:] [Examples:]
fix xwalls all wall/reflect xlo xhi fix xwalls all wall/reflect xlo EDGE xhi EDGE
fix walls all wall/reflect xlo ylo zlo xhi yhi zhi :pre fix walls all wall/reflect xlo 0.0 ylo 10.0 units box
fix top all wall/reflect zhi v_pressdown :pre
[Description:] [Description:]
Bound the simulation with one or more walls which reflect particles Bound the simulation with one or more walls which reflect particles
when they attempt to move thru them. in the specified group when they attempt to move thru them.
Reflection means that if an atom moves outside the box on a timestep Reflection means that if an atom moves outside the wall on a timestep
by a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is by a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is
put back inside the box by the same delta and the sign of the put back inside the face by the same delta, and the sign of the
corresponding component of its velocity is flipped. corresponding component of its velocity is flipped.
When used in conjunction with "fix nve"_fix_nve.html and "run_style When used in conjunction with "fix nve"_fix_nve.html and "run_style
@ -40,6 +55,40 @@ the corresponding timestep asymmetrically, energy conservation is only
satisfied to O(dt), rather than to O(dt^2) as it would be for satisfied to O(dt), rather than to O(dt^2) as it would be for
velocity-Verlet integration without reflective walls. velocity-Verlet integration without reflective walls.
Up to 6 walls or faces can be specified in a single command: {xlo},
{xhi}, {ylo}, {yhi}, {zlo}, {zhi}. A {lo} face reflects particles
that move to a coordinate less than the face position, back in the
{hi} direction. A {hi} face reflects particles that move to a
coordinate higher than the face position, back in the {lo} direction.
The position of each face can be specified in one of 3 ways: as the
EDGE of the simulation box, as a constant value, or as a variable. If
EDGE is used, then the corresponding boundary of the current
simulation box is used. If a numeric constant is specified then the
wall is placed at that position in the appropriate dimension (x, y, or
z). In both the EDGE and constant cases, the wall will never move.
If the face position is specified with a variable name v_ID, then ID
should be the name of an "equal-style variable"_variable.html. In
this case the variable is evaluated each timestep and the result
becomes the current position of the reflecting wall. Equal-style
variables can specify formulas with various mathematical functions,
and include "thermo_style"_thermo_style.html command keywords for the
simulation box parameters and timestep and elapsed time. Thus it is
easy to specify a time-dependent wall position.
The {units} keyword determines the meaning of the distance units used
to define a face position, but only when a numeric constant is used.
It is not relevant when EDGE or a variable is used to specify a face
position.
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.
:line
[Restart, fix_modify, output, run start/stop, minimize info:] [Restart, fix_modify, output, run start/stop, minimize info:]
No information about this fix is written to "binary restart No information about this fix is written to "binary restart