lammps/doc/fix_wall.html

176 lines
7.6 KiB
HTML
Raw Normal View History

<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/lj93 command
</H3>
<H3>fix wall/lj126 command
</H3>
<H3>fix wall/colloid command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID style keyword values ...
</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>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> or <I>vel</I> or <I>wiggle</I>
<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)
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
v = velocity of wall in perpendicular direction (velocity units)
<I>wiggle</I> values = amplitude period
amplitude = size of oscillation (distance units)
period = time of oscillation (time units)
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix wallhi all wall/lj93 xhi 10.0 1.0 1.0 2.5
fix wallhi all wall/lj126 xhi 10.0 1.0 1.0 2.5 vel 1.0
fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858
</PRE>
<P><B>Description:</B>
</P>
<P>Bound the simulation domain on one or more of its faces with a flat
wall that interacts with the atoms in the group by generating a force
on the atom in a direction perpendicular to the wall. The energy E of
wall-particle interactions depends on the style.
</P>
<P>For style <I>wall/lj93</I>, the energy is given by the 9/3 potential:
</P>
<CENTER><IMG SRC = "Eqs/fix_wall_lj93.jpg">
</CENTER>
<P>For style <I>wall/lj126</I>, the energy is given by the 12/6 potential:
</P>
<CENTER><IMG SRC = "Eqs/pair_lj.jpg">
</CENTER>
<P>For style <I>wall/colloid</I>, the energy 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>In all cases, <I>r</I> is the distance from the particle to the wall
<I>coord</I>, and Rc is the <I>cutoff</I> distance at which the particle and
wall no longer interact, as specified in the command. The energy of
the wall potential is shifted so that the energy of the wall-particle
interaction is 0.0 at the cutoff distance.
</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>sigma</I> may be different than any <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.
</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 with the same
<I>sigma</I> in the wall.
</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 position (coord), the specified velocity (vel), and the time
elapsed since the beginning of the simulation. See the note below
about making a wall move continuously across multiple runs. A
positive velocity means each wall moves inward, towards the center of
the box. I.e. an <I>xlo</I> wall will move in the +x direction; an <I>xhi</I>
wall will move in the -x direction. A negative velocity means each
wall moves outward, away from the center of the box. If you want
different walls to move with different velocities, then you need to
use multiple fix wall commands.
</P>
<P>If the <I>wiggle</I> keyword is specified, the position of all walls will
oscillate sinusoidally during the simulation in the perpendicular
direction, according to the equation:
</P>
<PRE>position = pos0 + A sin (omega * delta)
</PRE>
<P>where <I>pos0</I> is the position at the time the beginning of the
simulation, <I>A</I> is the <I>amplitude</I>, <I>omega</I> is 2 PI / <I>period</I>, and
<I>delta</I> is the time elapsed since the beginning of the simulation.
See the note below about making a wall oscillate continuously across
multiple runs. A positive amplitude means each wall initially moves
inward, towards the center of the box. I.e. an <I>xlo</I> wall will move
initially in the +x direction; an <I>xhi</I> wall will move in the -x
direction. A negative velocity means each wall moves initially
outward, away from the center of the box. If you want different walls
to oscillate with different amplitudes or periods, then you need to
use multiple fix wall commands.
</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 each 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-vector of forces (on the
walls), 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. Note that if you define multiple
walls, then the energy and force will be summed over all the walls.
If you want the energy/force on a per-wall basis, you need to use
multiple fix wall commands.
</P>
<P>This fix can change the position of each wall, due to the <I>vel</I> or
<I>wiggle</I> keywords, continuously over multiple runs, using the <I>start</I>
and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. If you do not do
this, the wall position will be reset to <I>coord</I> at the beginning of
each run.
</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>
</P>
<P>Any dimension (xyz) that has a wall must be non-periodic.
</P>
<P>You cannot use both the <I>vel</I> and <I>wiggle</I> keywords together.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_wall_reflect.html<A HREF = "fix_wall_gran.html">>fix wall/reflect</A> wall/gran</A>
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are no velocity and no wiggle.
</P>
</HTML>