forked from lijiext/lammps
134 lines
5.2 KiB
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>
|