File: fix_wall_piston.txt

package info (click to toggle)
lammps 0~20140523.gite5e877d-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 193,012 kB
  • ctags: 48,147
  • sloc: cpp: 458,874; python: 21,769; fortran: 16,023; ansic: 12,503; perl: 3,687; sh: 3,221; makefile: 1,366; f90: 1,177; xml: 788; objc: 238; lisp: 169; tcl: 61; csh: 16; awk: 14
file content (120 lines) | stat: -rw-r--r-- 4,737 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
"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 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 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.