forked from lijiext/lammps
122 lines
4.7 KiB
Plaintext
122 lines
4.7 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 arg ... keyword value ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
wall/piston = style name of this fix command :l
|
|
one face/arg pair must be appended :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 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
|
|
|
|
[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 only face {zlo} 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.
|
|
|
|
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 'm' (shrink-wrapped
|
|
with minimum a minimum value). 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:] {pos} = 0, {vel} = 0, {units} = lattice.
|
|
|
|
:line
|