forked from lijiext/lammps
132 lines
5.2 KiB
HTML
132 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 ... 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>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 the <I>face</I> keyword can only be <I>zlo</I>. 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 's'
|
|
(shrink-wrapped). 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, <A HREF = "fix_append_atoms.html">fix
|
|
append/atoms</A> command
|
|
</P>
|
|
<P><B>Default:</B>
|
|
</P>
|
|
<P>The keyword defaults are pos = 0, vel = 0, units = lattice.
|
|
</P>
|
|
</HTML>
|