lammps/doc/displace_box.txt

182 lines
7.6 KiB
Plaintext
Raw Normal View History

"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
displace_box command :h3
[Syntax:]
displace_box group-ID parameter args ... keyword value ... :pre
group-ID = ID of group of atoms to displace :ulb,l
one or more parameter/arg pairs may be appended :l
parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
{x}, {y}, {z} args = style value(s)
style = {final} or {delta} or {scale} or {volume}
{final} values = lo hi
lo hi = box boundaries at end of run (distance units)
{delta} values = dlo dhi
dlo dhi = change in box boundaries at end of run (distance units)
{scale} values = factor
factor = multiplicative factor for change in box length at end of run
{volume} value = none = adjust this dim to preserve volume of system
{xy}, {xz}, {yz} args = style value
style = {final} or {delta}
{final} value = tilt
tilt = tilt factor at end of run (distance units)
{delta} value = dtilt
dtilt = change in tilt factor at end of run (distance units) :pre
zero or more keyword/value pairs may be appended to the args :l
keyword = {remap} or {units} :l
{remap} value = {x} or {none}
x = remap coords of atoms in group into deforming box
none = no remapping of coords
{units} value = {lattice} or {box}
lattice = distances are defined in lattice units
box = distances are defined in simulation box units :pre
:ule
[Examples:]
displace_box all xy final -2.0 z final 0.0 5.0 units box
displace_box all x scale 1.1 y volume z volume :pre
[Description:]
Change the volume and/or shape of the simulation box. Orthogonal
simulation boxes have 3 adjustable parameters (x,y,z). Triclinic
(non-orthogonal) simulation boxes have 6 adjustable parameters
(x,y,z,xy,xz,yz). Any or all of them can be adjusted independently
and simultaneously by this command. This fix can be used to expand or
contract a box, or to apply a shear strain to a non-orthogonal box.
Any parameter varied by this command must refer to a periodic
dimension - see the "boundary"_boundary.html command. For parameters
"xy", "xz", and "yz" this means both affected dimensions must be
periodic, e.g. x and y for "xy". Dimensions not varied by this
command can be periodic or non-periodic.
The size and shape of the initial simulation box are specified by the
"create_box"_create_box.html or "read_data"_read_data.html or
"read_restart"_read_restart.html command used to setup the simulation,
or they are the values from the end of the previous run. The
"create_box"_create_box.html, "read data"_read_data.html, and
"read_restart"_read_restart.html commands also determine whether the
simulation box is orthogonal or triclinic and their doc pages explain
the meaning of the xy,xz,yz tilt factors. If the displace_box command
changes the xy,xz,yz tilt factors, then the simulation box must be
triclinic, even if its initial tilt factors are 0.0.
:line
For the {x}, {y}, and {z} parameters, this is the meaning of their
styles and values.
For style {final}, the final lo and hi box boundaries of a dimension
are specified. The values can be in lattice or box distance units.
See the discsussion of the units keyword below.
For style {delta}, plus or minus changes in the lo/hi box boundaries
of a dimension are specified. The values can be in lattice or box
distance units. See the discussion of the units keyword below.
For style {scale}, a multiplicative factor to apply to the box length
of a dimension is specified. For example, if the initial box length
is 10, and the factor is 1.1, then the final box length will be 11. A
factor less than 1.0 means compression.
The {volume} style changes the specified dimension in such a way that
the box volume remains constant while other box dimensions are changed
explicitly via the styles discussed above. For example, "x scale 1.1
y scale 1.1 z volume" will shrink the z box length as the x,y box
lengths increase, to keep the volume constant (product of x,y,z
lengths). If "x scale 1.1 z volume" is specified and parameter {y} is
unspecified, then the z box length will shrink as x increases to keep
the product of x,z lengths constant. If "x scale 1.1 y volume z
volume" is specified, then both the y,z box lengths will shrink as x
increases to keep the volume constant (product of x,y,z lengths). In
this case, the y,z box lengths shrink so as to keep their relative
aspect ratio constant.
For solids or liquids, note that when one dimension of the box is
expanded by this command, it may be physically undesirable to hold the
other 2 box lengths constant (unspecified by this command) since that
implies a density change. Using the {volume} style for those 2
dimensions to keep the box volume constant may make more physical
sense, but may also not be correct for materials and potentials whose
Poisson ratio is not 0.5.
For the {scale} and {volume} styles, the box length is expanded or
compressed around its mid point.
:line
For the {xy}, {xz}, and {yz} parameters, this is the meaning of their
styles and values. Note that changing the tilt factors of a triclinic
box does not change its volume.
For style {final}, the final tilt factor is specified. The value
can be in lattice or box distance units. See the discussion of the
units keyword below.
For style {delta}, a plus or minus change in the tilt factor is
specified. The value can be in lattice or box distance units. See
the discsussion of the units keyword below.
All of these styles change the xy, xz, yz tilt factors. In LAMMPS,
tilt factors (xy,xz,yz) for triclinic boxes are always bounded by half
the distance of the parallel box length. For example, if xlo = 2 and
xhi = 12, then the x box length is 10 and the xy tilt factor must be
between -5 and 5. Similarly, both xz and yz must be between
-(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation,
since if the maximum tilt factor is 5 (as in this example), then
configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all
equivalent. Any tilt factor specified by this command must be within
these limits.
:line
The {remap} keyword determines whether atom positions are re-mapped to
the new box. If {remap} is set to {x} (the default), atoms in the fix
group are re-mapped; otherwise they are not. If {remap} is set to
{none}, then this remapping does not take place.
The {units} keyword determines the meaning of the distance units used
to define various arguments. 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 spacing.
:line
The simulation box size or shape can be changed by arbitrarily large
amounts by this command. This is not a problem, except that the
mapping of processors to the simulation box is not changed by this
command from its initial 3d configuration; see the
"processors"_processors.html command. Thus, if the box size or shape
changes dramatically, the simulation may not be as well load-balanced
(atoms per processor) as the initial mapping tried to achieve.
[Restrictions:]
Any box dimension varied by this fix must be periodic.
This command requires inter-processor communication to migrate atoms
once they have moved. This means that your system must be ready to
perform a simulation before using this command (force fields are
setup, atom masses are set, etc).
[Related commands:]
"fix deform"_fix_deform.html
[Default:]
The option defaults are remap = x and units = lattice.