lammps/doc/fix_wall_piston.html

134 lines
5.2 KiB
HTML

<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/piston command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID wall/piston face arg ... keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>wall/piston = style name of this fix command
<LI>one face/arg pair must be appended
<LI>face = <I>zlo</I>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>pos</I> or <I>vel</I> or <I>ramp</I> or <I>units</I>
<PRE> <I>pos</I> args = z
z = z coordinate at which the piston begins (distance units)
<I>vel</I> args = vz
vz = final velocity of the piston (velocity units)
<I>ramp</I> = use a linear velocity ramp from 0 to vz
<I>temp</I> args = target damp seed extent
target = target velocity for region immediately ahead of the piston
damp = damping paramter (time units)
seed = random number seed for langevin kicks
extent = extent of thermostated region (distance units)
<I>units</I> value = <I>lattice</I> or <I>box</I>
<I>lattice</I> = the wall position is defined in lattice units
<I>box</I> = the wall position is defined in simulation box units
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix xwalls all wall/piston zlo
fix walls all wall/piston zlo pos 1.0 0.0 0.0 vel 0.0 0.0 10.0 units box
fix top all wall/piston zlo vel 0.0 0.0 10.0 ramp
</PRE>
<P><B>Description:</B>
</P>
<P>Bound the simulation with a moving wall which reflect particles
in the specified group and drive the system with an effective infinite-mass
piston capable of driving shock waves.
</P>
<P>A momentum mirror technique is used, which means that if an atom (or the wall)
moves such that an atom is 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
put back inside the face by the same delta, and the velocity relative to
the moving wall is flipped in z. For instance, a stationary particle hit with a
piston wall with velocity vz, will end the timestep with a velocity of 2*vz.
</P>
<P>Currently only face <I>zlo</I> may be specified.
This creates a piston moving in the positive z direction.
Particles with z coordinate less than the wall position
are reflected to a z coordinate
greater than the wall position.
If the piston velocity is vpz and the particle velocity
before reflection is vzi, the particle velocity after
reflection is -vzi + 2*vpz.
</P>
<P>The initial position of the wall can be specified by the <I>pos</I> keyword.
</P>
<P>The final velocity of the wall can be specified by the <I>vel</I> keyword
</P>
<P>The <I>ramp</I> keyword will cause the wall/piston to adjust the velocity linearly
from zero velocity to <I>vel</I> over the course of the run. If the <I>ramp</I> keyword is omitted
then the wall/piston moves at a constant velocity defined by <I>vel</I>.
</P>
<P>The <I>temp</I> keyword will cause the region immediately in front of the wall/piston
to be thermostated with a Langevin thermostat. This region moves with the piston.
The damping and kicking are measured in the reference frame of the piston.
So, a temperature of zero would mean all particles were moving at exactly the speed
of the wall/piston.
</P>
<P>The <I>units</I> keyword determines the meaning of the distance units used
to define a wall position, but only when a numeric constant is used.
</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>
<P>No information about this fix is written to <A HREF = "restart.html">binary restart
files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options
are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#howoto_15">output
commands</A>. No parameter of this fix can
be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P><B>Restrictions:</B>
</P>
<P>This fix style is part of the SHOCK package. It is only enabled if
LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
LAMMPS</A> section for more info.
</P>
<P>The face that has the wall/piston must be boundary type 'm' (shrink-wrapped
with minimum a minimum value). The opposing face can be
any boundary type other than periodic.
</P>
<P>A wall/piston should not be used with rigid bodies such as those
defined by a "fix rigid" command. This is because the wall/piston
displaces atoms directly rather than exerting a force on them.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_wall.html">fix wall/reflect</A> command
</P>
<P><A HREF = "fix_append_atoms.html">fix append/atoms</A> command
</P>
<P><B>Default:</B> <I>pos</I> = 0, <I>vel</I> = 0, <I>units</I> = lattice.
</P>
<HR>
</HTML>