forked from lijiext/lammps
121 lines
4.6 KiB
Plaintext
121 lines
4.6 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
fix wall/piston command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID wall/piston face ... keyword value ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
wall/piston = style name of this fix command :l
|
|
face = {zlo} :l
|
|
zero or more keyword/value pairs may be appended :l
|
|
keyword = {pos} or {vel} or {ramp} or {units} :l
|
|
{pos} args = z
|
|
z = z coordinate at which the piston begins (distance units)
|
|
{vel} args = vz
|
|
vz = final velocity of the piston (velocity units)
|
|
{ramp} = use a linear velocity ramp from 0 to vz
|
|
{temp} 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)
|
|
{units} value = {lattice} or {box}
|
|
{lattice} = the wall position is defined in lattice units
|
|
{box} = the wall position is defined in simulation box units :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix xwalls all wall/piston zlo
|
|
fix walls all wall/piston zlo pos 1.0 vel 10.0 units box
|
|
fix top all wall/piston zlo vel 10.0 ramp :pre
|
|
|
|
[Description:]
|
|
|
|
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.
|
|
|
|
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 "fix nve"_fix_nve.html), 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.
|
|
|
|
Currently the {face} keyword can only be {zlo}. 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.
|
|
|
|
The initial position of the wall can be specified by the {pos} keyword.
|
|
|
|
The final velocity of the wall can be specified by the {vel} keyword
|
|
|
|
The {ramp} keyword will cause the wall/piston to adjust the velocity
|
|
linearly from zero velocity to {vel} over the course of the run. If
|
|
the {ramp} keyword is omitted then the wall/piston moves at a constant
|
|
velocity defined by {vel}.
|
|
|
|
The {temp} 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.
|
|
|
|
The {units} keyword determines the meaning of the distance units used
|
|
to define a wall position, but only when a numeric constant is used.
|
|
|
|
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:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
|
are relevant to this fix. No global or per-atom quantities are stored
|
|
by this fix for access by various "output
|
|
commands"_Section_howto.html#howoto_15. No parameter of this fix can
|
|
be used with the {start/stop} keywords of the "run"_run.html command.
|
|
This fix is not invoked during "energy minimization"_minimize.html.
|
|
|
|
[Restrictions:]
|
|
|
|
This fix style is part of the SHOCK package. It is only enabled if
|
|
LAMMPS was built with that package. See the "Making
|
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
[Related commands:]
|
|
|
|
"fix wall/reflect"_fix_wall.html command, "fix
|
|
append/atoms"_fix_append_atoms.html command
|
|
|
|
[Default:]
|
|
|
|
The keyword defaults are pos = 0, vel = 0, units = lattice.
|