LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

displace_box command

Syntax:

displace_box group-ID parameter args ... keyword value ... 

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 

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 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 or read_data or read_restart command used to setup the simulation, or they are the values from the end of the previous run. The create_box, read data, and read_restart 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.


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 discussion 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.


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 discussion 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.


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 command, e.g. Angstroms for units = real or metal. A lattice value means the distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing.


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 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

Default:

The option defaults are remap = x and units = lattice.