git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@8553 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2012-08-07 18:17:03 +00:00
parent 16114b3b95
commit 4fefccb438
14 changed files with 354 additions and 121 deletions

View File

@ -315,20 +315,20 @@ in the command's documentation.
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "angle_coeff.html">angle_coeff</A></TD><TD ><A HREF = "angle_style.html">angle_style</A></TD><TD ><A HREF = "atom_modify.html">atom_modify</A></TD><TD ><A HREF = "atom_style.html">atom_style</A></TD><TD ><A HREF = "balance.html">balance</A></TD><TD ><A HREF = "bond_coeff.html">bond_coeff</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "bond_style.html">bond_style</A></TD><TD ><A HREF = "boundary.html">boundary</A></TD><TD ><A HREF = "change_box.html">change_box</A></TD><TD ><A HREF = "clear.html">clear</A></TD><TD ><A HREF = "communicate.html">communicate</A></TD><TD ><A HREF = "compute.html">compute</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_modify.html">compute_modify</A></TD><TD ><A HREF = "create_atoms.html">create_atoms</A></TD><TD ><A HREF = "create_box.html">create_box</A></TD><TD ><A HREF = "delete_atoms.html">delete_atoms</A></TD><TD ><A HREF = "delete_bonds.html">delete_bonds</A></TD><TD ><A HREF = "dielectric.html">dielectric</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "dihedral_coeff.html">dihedral_coeff</A></TD><TD ><A HREF = "dihedral_style.html">dihedral_style</A></TD><TD ><A HREF = "dimension.html">dimension</A></TD><TD ><A HREF = "displace_atoms.html">displace_atoms</A></TD><TD ><A HREF = "dump.html">dump</A></TD><TD ><A HREF = "dump_image.html">dump image</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "dump_modify.html">dump_modify</A></TD><TD ><A HREF = "echo.html">echo</A></TD><TD ><A HREF = "fix.html">fix</A></TD><TD ><A HREF = "fix_modify.html">fix_modify</A></TD><TD ><A HREF = "group.html">group</A></TD><TD ><A HREF = "if.html">if</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD><TD ><A HREF = "improper_style.html">improper_style</A></TD><TD ><A HREF = "include.html">include</A></TD><TD ><A HREF = "jump.html">jump</A></TD><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD><TD ><A HREF = "kspace_style.html">kspace_style</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "label.html">label</A></TD><TD ><A HREF = "lattice.html">lattice</A></TD><TD ><A HREF = "log.html">log</A></TD><TD ><A HREF = "mass.html">mass</A></TD><TD ><A HREF = "minimize.html">minimize</A></TD><TD ><A HREF = "min_modify.html">min_modify</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "min_style.html">min_style</A></TD><TD ><A HREF = "neb.html">neb</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD><TD ><A HREF = "newton.html">newton</A></TD><TD ><A HREF = "next.html">next</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "package.html">package</A></TD><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD><TD ><A HREF = "partition.html">partition</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "prd.html">prd</A></TD><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "quit.html">quit</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD><TD ><A HREF = "read_dump.html">read_dump</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "rerun.html">rerun</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD><TD ><A HREF = "restart.html">restart</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "run.html">run</A></TD><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shell.html">shell</A></TD><TD ><A HREF = "special_bonds.html">special_bonds</A></TD><TD ><A HREF = "suffix.html">suffix</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "tad.html">tad</A></TD><TD ><A HREF = "temper.html">temper</A></TD><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD><TD ><A HREF = "timestep.html">timestep</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "uncompute.html">uncompute</A></TD><TD ><A HREF = "undump.html">undump</A></TD><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD><TD ><A HREF = "velocity.html">velocity</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "write_restart.html">write_restart</A>
<TR ALIGN="center"><TD ><A HREF = "bond_style.html">bond_style</A></TD><TD ><A HREF = "boundary.html">boundary</A></TD><TD ><A HREF = "box.html">box</A></TD><TD ><A HREF = "change_box.html">change_box</A></TD><TD ><A HREF = "clear.html">clear</A></TD><TD ><A HREF = "communicate.html">communicate</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute.html">compute</A></TD><TD ><A HREF = "compute_modify.html">compute_modify</A></TD><TD ><A HREF = "create_atoms.html">create_atoms</A></TD><TD ><A HREF = "create_box.html">create_box</A></TD><TD ><A HREF = "delete_atoms.html">delete_atoms</A></TD><TD ><A HREF = "delete_bonds.html">delete_bonds</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "dielectric.html">dielectric</A></TD><TD ><A HREF = "dihedral_coeff.html">dihedral_coeff</A></TD><TD ><A HREF = "dihedral_style.html">dihedral_style</A></TD><TD ><A HREF = "dimension.html">dimension</A></TD><TD ><A HREF = "displace_atoms.html">displace_atoms</A></TD><TD ><A HREF = "dump.html">dump</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "dump_image.html">dump image</A></TD><TD ><A HREF = "dump_modify.html">dump_modify</A></TD><TD ><A HREF = "echo.html">echo</A></TD><TD ><A HREF = "fix.html">fix</A></TD><TD ><A HREF = "fix_modify.html">fix_modify</A></TD><TD ><A HREF = "group.html">group</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "if.html">if</A></TD><TD ><A HREF = "improper_coeff.html">improper_coeff</A></TD><TD ><A HREF = "improper_style.html">improper_style</A></TD><TD ><A HREF = "include.html">include</A></TD><TD ><A HREF = "jump.html">jump</A></TD><TD ><A HREF = "kspace_modify.html">kspace_modify</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "kspace_style.html">kspace_style</A></TD><TD ><A HREF = "label.html">label</A></TD><TD ><A HREF = "lattice.html">lattice</A></TD><TD ><A HREF = "log.html">log</A></TD><TD ><A HREF = "mass.html">mass</A></TD><TD ><A HREF = "minimize.html">minimize</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "min_modify.html">min_modify</A></TD><TD ><A HREF = "min_style.html">min_style</A></TD><TD ><A HREF = "neb.html">neb</A></TD><TD ><A HREF = "neigh_modify.html">neigh_modify</A></TD><TD ><A HREF = "neighbor.html">neighbor</A></TD><TD ><A HREF = "newton.html">newton</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "next.html">next</A></TD><TD ><A HREF = "package.html">package</A></TD><TD ><A HREF = "pair_coeff.html">pair_coeff</A></TD><TD ><A HREF = "pair_modify.html">pair_modify</A></TD><TD ><A HREF = "pair_style.html">pair_style</A></TD><TD ><A HREF = "pair_write.html">pair_write</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "partition.html">partition</A></TD><TD ><A HREF = "prd.html">prd</A></TD><TD ><A HREF = "print.html">print</A></TD><TD ><A HREF = "processors.html">processors</A></TD><TD ><A HREF = "quit.html">quit</A></TD><TD ><A HREF = "read_data.html">read_data</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "read_dump.html">read_dump</A></TD><TD ><A HREF = "read_restart.html">read_restart</A></TD><TD ><A HREF = "region.html">region</A></TD><TD ><A HREF = "replicate.html">replicate</A></TD><TD ><A HREF = "rerun.html">rerun</A></TD><TD ><A HREF = "reset_timestep.html">reset_timestep</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "restart.html">restart</A></TD><TD ><A HREF = "run.html">run</A></TD><TD ><A HREF = "run_style.html">run_style</A></TD><TD ><A HREF = "set.html">set</A></TD><TD ><A HREF = "shell.html">shell</A></TD><TD ><A HREF = "special_bonds.html">special_bonds</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "suffix.html">suffix</A></TD><TD ><A HREF = "tad.html">tad</A></TD><TD ><A HREF = "temper.html">temper</A></TD><TD ><A HREF = "thermo.html">thermo</A></TD><TD ><A HREF = "thermo_modify.html">thermo_modify</A></TD><TD ><A HREF = "thermo_style.html">thermo_style</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "timestep.html">timestep</A></TD><TD ><A HREF = "uncompute.html">uncompute</A></TD><TD ><A HREF = "undump.html">undump</A></TD><TD ><A HREF = "unfix.html">unfix</A></TD><TD ><A HREF = "units.html">units</A></TD><TD ><A HREF = "variable.html">variable</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "velocity.html">velocity</A></TD><TD ><A HREF = "write_restart.html">write_restart</A>
</TD></TR></TABLE></DIV>
<HR>

View File

@ -317,6 +317,7 @@ in the command's documentation.
"bond_coeff"_bond_coeff.html,
"bond_style"_bond_style.html,
"boundary"_boundary.html,
"box"_box.html,
"change_box"_change_box.html,
"clear"_clear.html,
"communicate"_communicate.html,

View File

@ -789,24 +789,22 @@ origin given by <B>a</B> = (xhi-xlo,0,0); <B>b</B> = (xy,yhi-ylo,0); <B>c</B> =
(xz,yz,zhi-zlo). <I>xy,xz,yz</I> can be 0.0 or positive or negative values
and are called "tilt factors" because they are the amount of
displacement applied to faces of an originally orthogonal box to
transform it into the parallelepiped. In LAMMPS the
triclinic simulation box edge vectors <B>a</B>, <B>b</B>, and <B>c</B> cannot be
arbitrary vectors. As indicated, <B>a</B> must lie on the positive x axis.
<B>b</B> must lie in the xy plane, with strictly positive y component. <B>c</B> may
have any orientation with strictly positive z component.
The requirement that <B>a</B>, <B>b</B>, and <B>c</B> have strictly positive x, y,
and z components, respectively, ensures
that <B>a</B>, <B>b</B>, and <B>c</B> form a complete right-handed basis.
These restrictions impose
no loss of generality, since it is possible to rotate/invert
any set of 3 crystal basis vectors so that they conform to the restrictions.
transform it into the parallelepiped. In LAMMPS the triclinic
simulation box edge vectors <B>a</B>, <B>b</B>, and <B>c</B> cannot be arbitrary
vectors. As indicated, <B>a</B> must lie on the positive x axis. <B>b</B> must
lie in the xy plane, with strictly positive y component. <B>c</B> may have
any orientation with strictly positive z component. The requirement
that <B>a</B>, <B>b</B>, and <B>c</B> have strictly positive x, y, and z components,
respectively, ensures that <B>a</B>, <B>b</B>, and <B>c</B> form a complete
right-handed basis. These restrictions impose no loss of generality,
since it is possible to rotate/invert any set of 3 crystal basis
vectors so that they conform to the restrictions.
</P>
<P>For example, assume that the 3 vectors <B>A</B>,<B>B</B>,<B>C</B> are the edge
vectors of a general parallelepiped, where there is no restriction
on <B>A</B>,<B>B</B>,<B>C</B> other than they form a complete right-handed basis i.e.
<B>A</B> x <B>B</B> . <B>C</B> > 0.
The equivalent LAMMPS <B>a</B>,<B>b</B>,<B>c</B> are a linear rotation of <B>A</B>, <B>B</B>, and
<B>C</B> and can be computed as follows:
vectors of a general parallelepiped, where there is no restriction on
<B>A</B>,<B>B</B>,<B>C</B> other than they form a complete right-handed basis i.e.
<B>A</B> x <B>B</B> . <B>C</B> > 0. The equivalent LAMMPS <B>a</B>,<B>b</B>,<B>c</B> are a linear
rotation of <B>A</B>, <B>B</B>, and <B>C</B> and can be computed as follows:
</P>
<CENTER><IMG SRC = "Eqs/transform.jpg">
</CENTER>
@ -868,27 +866,48 @@ The 9 parameters, as well as lx,ly,lz, can be output via the
<A HREF = "thermo_style.html">thermo_style custom</A> command.
</P>
<P>To avoid extremely tilted boxes (which would be computationally
inefficient), no tilt factor can skew the box more than half the
distance of the parallel box length, which is the 1st dimension in the
tilt factor (x for xz). 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 geometrically all
equivalent. If the box tilt exceeds this limit during a dynamics run
(e.g. via the <A HREF = "fix_deform.html">fix deform</A> command), then the box is
"flipped" to an equivalent shape with a tilt factor within the bounds,
so the run can continue. See the <A HREF = "fix_deform.html">fix deform</A> doc
page for further details.
inefficient), LAMMPS normally requires that no tilt factor can skew
the box more than half the distance of the parallel box length, which
is the 1st dimension in the tilt factor (x for xz). This is required
both when the simulation box is created, e.g. via the
<A HREF = "create_box.html">create_box</A> or <A HREF = "read_data.html">read_data</A> commands,
as well as when the box shape changes dynamically during a simulation,
e.g. via the <A HREF = "fix_deform.html">fix deform</A> or <A HREF = "fix_nh.html">fix npt</A>
commands.
</P>
<P>The one exception to this rule is if the 1st dimension in the tilt
<P>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 geometrically all equivalent. If the box tilt exceeds this
limit during a dynamics run (e.g. via the <A HREF = "fix_deform.html">fix deform</A>
command), then the box is "flipped" to an equivalent shape with a tilt
factor within the bounds, so the run can continue. See the <A HREF = "fix_deform.html">fix
deform</A> doc page for further details.
</P>
<P>One exception to this rule is if the 1st dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the
tilt factor are not enforced, since flipping the box in that dimension
does not change the atom positions due to non-periodicity. In this
mode, if you tilt the system to extreme angles, the simulation will
simply become inefficient, due to the highly skewed simulation box.
</P>
<P>The limitation on not creating a simulation box with a tilt factor
skewing the box more than half the distance of the parallel box length
can be overridden via the <A HREF = "box.html">box</A> command. Setting the <I>tilt</I>
keyword to <I>large</I> allows any tilt factors to be specified.
</P>
<P>Box flips that may occur using the <A HREF = "fix_deform.html">fix deform</A> or
<A HREF = "fix_nh.html">fix npt</A> commands can be turned off using the <I>flip no</I>
option with either of the commands.
</P>
<P>Note that if a simulation box has a large tilt factor, LAMMPS will run
less efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped sub-domain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
</P>
<P>Triclinic crystal structures are often defined using three lattice
constants <I>a</I>, <I>b</I>, and <I>c</I>, and three angles <I>alpha</I>, <I>beta</I> and
<I>gamma</I>. Note that in this nomenclature, the a, b, and c lattice

View File

@ -780,24 +780,22 @@ origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] =
(xz,yz,zhi-zlo). {xy,xz,yz} can be 0.0 or positive or negative values
and are called "tilt factors" because they are the amount of
displacement applied to faces of an originally orthogonal box to
transform it into the parallelepiped. In LAMMPS the
triclinic simulation box edge vectors [a], [b], and [c] cannot be
arbitrary vectors. As indicated, [a] must lie on the positive x axis.
[b] must lie in the xy plane, with strictly positive y component. [c] may
have any orientation with strictly positive z component.
The requirement that [a], [b], and [c] have strictly positive x, y,
and z components, respectively, ensures
that [a], [b], and [c] form a complete right-handed basis.
These restrictions impose
no loss of generality, since it is possible to rotate/invert
any set of 3 crystal basis vectors so that they conform to the restrictions.
transform it into the parallelepiped. In LAMMPS the triclinic
simulation box edge vectors [a], [b], and [c] cannot be arbitrary
vectors. As indicated, [a] must lie on the positive x axis. [b] must
lie in the xy plane, with strictly positive y component. [c] may have
any orientation with strictly positive z component. The requirement
that [a], [b], and [c] have strictly positive x, y, and z components,
respectively, ensures that [a], [b], and [c] form a complete
right-handed basis. These restrictions impose no loss of generality,
since it is possible to rotate/invert any set of 3 crystal basis
vectors so that they conform to the restrictions.
For example, assume that the 3 vectors [A],[B],[C] are the edge
vectors of a general parallelepiped, where there is no restriction
on [A],[B],[C] other than they form a complete right-handed basis i.e.
[A] x [B] . [C] > 0.
The equivalent LAMMPS [a],[b],[c] are a linear rotation of [A], [B], and
[C] and can be computed as follows:
vectors of a general parallelepiped, where there is no restriction on
[A],[B],[C] other than they form a complete right-handed basis i.e.
[A] x [B] . [C] > 0. The equivalent LAMMPS [a],[b],[c] are a linear
rotation of [A], [B], and [C] and can be computed as follows:
:c,image(Eqs/transform.jpg)
@ -859,27 +857,48 @@ The 9 parameters, as well as lx,ly,lz, can be output via the
"thermo_style custom"_thermo_style.html command.
To avoid extremely tilted boxes (which would be computationally
inefficient), no tilt factor can skew the box more than half the
distance of the parallel box length, which is the 1st dimension in the
tilt factor (x for xz). 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 geometrically all
equivalent. If the box tilt exceeds this limit during a dynamics run
(e.g. via the "fix deform"_fix_deform.html command), then the box is
"flipped" to an equivalent shape with a tilt factor within the bounds,
so the run can continue. See the "fix deform"_fix_deform.html doc
page for further details.
inefficient), LAMMPS normally requires that no tilt factor can skew
the box more than half the distance of the parallel box length, which
is the 1st dimension in the tilt factor (x for xz). This is required
both when the simulation box is created, e.g. via the
"create_box"_create_box.html or "read_data"_read_data.html commands,
as well as when the box shape changes dynamically during a simulation,
e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html
commands.
The one exception to this rule is if the 1st dimension in the tilt
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 geometrically all equivalent. If the box tilt exceeds this
limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html
command), then the box is "flipped" to an equivalent shape with a tilt
factor within the bounds, so the run can continue. See the "fix
deform"_fix_deform.html doc page for further details.
One exception to this rule is if the 1st dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the
tilt factor are not enforced, since flipping the box in that dimension
does not change the atom positions due to non-periodicity. In this
mode, if you tilt the system to extreme angles, the simulation will
simply become inefficient, due to the highly skewed simulation box.
The limitation on not creating a simulation box with a tilt factor
skewing the box more than half the distance of the parallel box length
can be overridden via the "box"_box.html command. Setting the {tilt}
keyword to {large} allows any tilt factors to be specified.
Box flips that may occur using the "fix deform"_fix_deform.html or
"fix npt"_fix_nh.html commands can be turned off using the {flip no}
option with either of the commands.
Note that if a simulation box has a large tilt factor, LAMMPS will run
less efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped sub-domain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
Triclinic crystal structures are often defined using three lattice
constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and
{gamma}. Note that in this nomenclature, the a, b, and c lattice

69
doc/box.html Normal file
View File

@ -0,0 +1,69 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>box command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>box keyword value ...
</PRE>
<UL><LI>one or more keyword/value pairs may be appended
<LI>keyword = <I>tilt</I>
<PRE> <I>tilt</I> value = <I>small</I> or <I>large</I>
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>box tilt large
box tilt small
</PRE>
<P><B>Description:</B>
</P>
<P>Set attributes of the simulation box.
</P>
<P>For triclinic (non-orthogonal) simulation boxes, the <I>tilt</I> keyword
allows simulation domains to be created with arbitrary tilt factors,
e.g. via the <A HREF = "create_box.html">create_box</A> or
<A HREF = "read_data.html">read_data</A> commands. Tilt factors determine how
skewed the triclinic box is; see <A HREF = "Section_howto.html#howto_12">this
section</A> of the manual for a discussion of
triclinic boxes in LAMMPS.
</P>
<P>LAMMPS normally requires that no tilt factor can skew the box more
than half the distance of the parallel box length, which is the 1st
dimension in the tilt factor (x for xz). If <I>tilt</I> is set to
<I>small</I>, which is the default, then an error will be
generated if a box is created which exceeds this limit. If <I>tilt</I>
is set to <I>large</I>, then no limit is enforced. You can create
a box with any tilt factors you wish.
</P>
<P>Note that if a simulation box has a large tilt factor, LAMMPS will run
less efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped sub-domain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
</P>
<P><B>Restrictions:</B>
</P>
<P>This command cannot be used after the simulation box is defined by a
<A HREF = "read_data.html">read_data</A> or <A HREF = "create_box.html">create_box</A> command or
<A HREF = "read_restart.html">read_restart</A> command.
</P>
<P><B>Related commands:</B> none
</P>
<P><B>Default:</B>
</P>
<P>The default value is tilt = small.
</P>
</HTML>

61
doc/box.txt Normal file
View File

@ -0,0 +1,61 @@
"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
box command :h3
[Syntax:]
box keyword value ... :pre
one or more keyword/value pairs may be appended :ulb,l
keyword = {tilt} :l
{tilt} value = {small} or {large} :pre
:ule
[Examples:]
box tilt large
box tilt small :pre
[Description:]
Set attributes of the simulation box.
For triclinic (non-orthogonal) simulation boxes, the {tilt} keyword
allows simulation domains to be created with arbitrary tilt factors,
e.g. via the "create_box"_create_box.html or
"read_data"_read_data.html commands. Tilt factors determine how
skewed the triclinic box is; see "this
section"_Section_howto.html#howto_12 of the manual for a discussion of
triclinic boxes in LAMMPS.
LAMMPS normally requires that no tilt factor can skew the box more
than half the distance of the parallel box length, which is the 1st
dimension in the tilt factor (x for xz). If {tilt} is set to
{small}, which is the default, then an error will be
generated if a box is created which exceeds this limit. If {tilt}
is set to {large}, then no limit is enforced. You can create
a box with any tilt factors you wish.
Note that if a simulation box has a large tilt factor, LAMMPS will run
less efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped sub-domain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
[Restrictions:]
This command cannot be used after the simulation box is defined by a
"read_data"_read_data.html or "create_box"_create_box.html command or
"read_restart"_read_restart.html command.
[Related commands:] none
[Default:]
The default value is tilt = small.

View File

@ -42,7 +42,7 @@
<I>s</I> is non-periodic and shrink-wrapped
<I>m</I> is non-periodic and shrink-wrapped with a minimum value
<I>ortho</I> args = none = change box to orthogonal
(triclinic</I> args = none = change box to triclinic
<I>triclinic</I> args = none = change box to triclinic
<I>set</I> args = none = store state of current box
<I>remap</I> args = none = remap atom coords from last saved state to current box
</PRE>

View File

@ -37,7 +37,7 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} or {boundary} or {ortho} o
{s} is non-periodic and shrink-wrapped
{m} is non-periodic and shrink-wrapped with a minimum value
{ortho} args = none = change box to orthogonal
(triclinic} args = none = change box to triclinic
{triclinic} args = none = change box to triclinic
{set} args = none = store state of current box
{remap} args = none = remap atom coords from last saved state to current box :pre

View File

@ -110,16 +110,17 @@ displaced by the same amount, different on each iteration.
</P>
<P>IMPORTANT NOTE: Appling an external pressure to tilt dimensions <I>xy</I>,
<I>xz</I>, <I>yz</I> can sometimes result in arbitrarily large values of the
tilt dimensions, i.e. a dramatically deformed simulation box. This
tilt factors, i.e. a dramatically deformed simulation box. This
typically indicates that there is something badly wrong with how the
simulation was constructed. The two most common sources of this error
are applying a shear stress to a liquid system or specifying an
external shear stress tensor that exceeds the yield stress of the
solid. In either case the minimization is either not going to
converge at all, or converge to a bogus conformation. Note that
LAMMPS will not throw an error when the tilt value becomes extreme,
but the final box may be unsuitable for running dynamics on, unless
fix deform is used first to remap the box to a valid tilt value.
solid. In either case the minimization may converge to a bogus
conformation or not converge at all. Also note that if the box shape
tilts to an extreme shape, LAMMPS will run less efficiently, due to
the large volume of communication needed to acquire ghost atoms around
a processor's irregular-shaped sub-domain. For extreme values of
tilt, LAMMPS may also lose atoms and generate an error.
</P>
<HR>

View File

@ -106,16 +106,17 @@ displaced by the same amount, different on each iteration.
IMPORTANT NOTE: Appling an external pressure to tilt dimensions {xy},
{xz}, {yz} can sometimes result in arbitrarily large values of the
tilt dimensions, i.e. a dramatically deformed simulation box. This
tilt factors, i.e. a dramatically deformed simulation box. This
typically indicates that there is something badly wrong with how the
simulation was constructed. The two most common sources of this error
are applying a shear stress to a liquid system or specifying an
external shear stress tensor that exceeds the yield stress of the
solid. In either case the minimization is either not going to
converge at all, or converge to a bogus conformation. Note that
LAMMPS will not throw an error when the tilt value becomes extreme,
but the final box may be unsuitable for running dynamics on, unless
fix deform is used first to remap the box to a valid tilt value.
solid. In either case the minimization may converge to a bogus
conformation or not converge at all. Also note that if the box shape
tilts to an extreme shape, LAMMPS will run less efficiently, due to
the large volume of communication needed to acquire ghost atoms around
a processor's irregular-shaped sub-domain. For extreme values of
tilt, LAMMPS may also lose atoms and generate an error.
:line

View File

@ -68,12 +68,14 @@
</PRE>
<LI>zero or more keyword/value pairs may be appended
<LI>keyword = <I>remap</I> or <I>units</I>
<LI>keyword = <I>remap</I> or <I>flip</I> or <I>units</I>
<PRE> <I>remap</I> value = <I>x</I> or <I>v</I> or <I>none</I>
x = remap coords of atoms in group into deforming box
v = remap velocities of all atoms when they cross periodic boundaries
none = no remapping of x or v
<I>flip</I> value = <I>yes</I> or <I>no</I>
allow or dis-allow box flips when the skew ratio exceeds +/- 0.5
<I>units</I> value = <I>lattice</I> or <I>box</I>
lattice = distances are defined in lattice units
box = distances are defined in simulation box units
@ -420,8 +422,11 @@ fix 2 all deform 1 xy variable v_displace v_rate remap v
<P>All of the tilt styles change the xy, xz, yz tilt factors during a
simulation. 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
are normally bounded by half the distance of the parallel box length.
See the discussion of the <I>flip</I> keyword below, to allow this bound to
be exceeded, if desired.
</P>
<P>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
@ -497,6 +502,17 @@ rigid particles, you can either thermostat them independently or
include a background fluid and thermostat the fluid via <A HREF = "fix_nvt_sllod.html">fix
nvt/sllod</A>.
</P>
<P>The <I>flip</I> keyword allows the tilt factors for a triclinic box to
exceed half the distance of the parallel box length, as discussed
above. If the <I>flip</I> value is set to <I>yes</I>, the bound is enforced by
flipping the box when it is exceeded. If the <I>flip</I> value is set to
<I>no</I>, the tilt will continue to change without flipping. Note that if
you apply large deformations, this means the box shape can tilt
dramatically LAMMPS will run less efficiently, due to the large volume
of communication needed to acquire ghost atoms around a processor's
irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may
also lose atoms and generate an error.
</P>
<P>The <I>units</I> keyword determines the meaning of the distance units used
to define various arguments. A <I>box</I> value selects standard distance
units as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for
@ -537,6 +553,6 @@ xy) that is shrink-wrapped via the <A HREF = "boundary.html">boundary</A> comamn
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are remap = x and units = lattice.
<P>The option defaults are remap = x, flip = yes, and units = lattice.
</P>
</HTML>

View File

@ -60,11 +60,13 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
v_name2 = variable with name2 for change rate as function of time :pre
zero or more keyword/value pairs may be appended :l
keyword = {remap} or {units} :l
keyword = {remap} or {flip} or {units} :l
{remap} value = {x} or {v} or {none}
x = remap coords of atoms in group into deforming box
v = remap velocities of all atoms when they cross periodic boundaries
none = no remapping of x or v
{flip} value = {yes} or {no}
allow or dis-allow box flips when the skew ratio exceeds +/- 0.5
{units} value = {lattice} or {box}
lattice = distances are defined in lattice units
box = distances are defined in simulation box units :pre
@ -410,7 +412,10 @@ fix 2 all deform 1 xy variable v_displace v_rate remap v :pre
All of the tilt styles change the xy, xz, yz tilt factors during a
simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes
are always bounded by half the distance of the parallel box length.
are normally bounded by half the distance of the parallel box length.
See the discussion of the {flip} keyword below, to allow this bound to
be exceeded, if desired.
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
@ -487,6 +492,17 @@ rigid particles, you can either thermostat them independently or
include a background fluid and thermostat the fluid via "fix
nvt/sllod"_fix_nvt_sllod.html.
The {flip} keyword allows the tilt factors for a triclinic box to
exceed half the distance of the parallel box length, as discussed
above. If the {flip} value is set to {yes}, the bound is enforced by
flipping the box when it is exceeded. If the {flip} value is set to
{no}, the tilt will continue to change without flipping. Note that if
you apply large deformations, this means the box shape can tilt
dramatically LAMMPS will run less efficiently, due to the large volume
of communication needed to acquire ghost atoms around a processor's
irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may
also lose atoms and generate an error.
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
@ -527,4 +543,4 @@ xy) that is shrink-wrapped via the "boundary"_boundary.html comamnd.
[Default:]
The option defaults are remap = x and units = lattice.
The option defaults are remap = x, flip = yes, and units = lattice.

View File

@ -28,7 +28,7 @@
<LI>style_name = <I>nvt</I> or <I>npt</I> or <I>nph</I>
<PRE>one or more keyword value pairs may be appended
keyword = <I>temp</I> or <I>iso</I> or <I>aniso</I> or <I>tri</I> or <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>couple</I> or <I>tchain</I> or <I>pchain</I> or <I>mtk</I> or <I>tloop</I> or <I>ploop</I> or <I>nreset</I> or <I>drag</I> or <I>dilate</I> or <I>scaleyz</I> or <I>scalexz</I> or <I>scalexy</I> or <I>fixedpoint</I>
keyword = <I>temp</I> or <I>iso</I> or <I>aniso</I> or <I>tri</I> or <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>couple</I> or <I>tchain</I> or <I>pchain</I> or <I>mtk</I> or <I>tloop</I> or <I>ploop</I> or <I>nreset</I> or <I>drag</I> or <I>dilate</I> or <I>scalexy</I> or <I>scaleyz</I> or <I>scalexz</I> or <I>flip</I> or <I>fixedpoint</I>
<I>temp</I> values = Tstart Tstop Tdamp
Tstart,Tstop = external temperature at start/end of run
Tdamp = temperature damping parameter (time units)
@ -53,9 +53,10 @@ keyword = <I>temp</I> or <I>iso</I> or <I>aniso</I> or <I>tri</I> or <I>x</I> or
Df = drag factor added to barostat/thermostat (0.0 = no drag)
<I>dilate</I> value = dilate-group-ID
dilate-group-ID = only dilate atoms in this group due to barostat volume changes
<I>scalexy</I> value = <I>yes</I> or <I>no</I> = scale xy with ly
<I>scaleyz</I> value = <I>yes</I> or <I>no</I> = scale yz with lz
<I>scalexz</I> value = <I>yes</I> or <I>no</I> = scale xz with lz
<I>scalexy</I> value = <I>yes</I> or <I>no</I> = scale xy with ly
<I>flip</I> value = <I>yes</I> or <I>no</I>
<I>fixedpoint</I> values = x y z
x,y,z = perform barostat dilation/contraction around this point (distance units)
</PRE>
@ -306,6 +307,18 @@ situations. In older versions of LAMMPS, scaling of tilt factors was
not performed. The old behavior can be recovered by setting all three
scale keywords to <I>no</I>.
</P>
<P>The <I>flip</I> keyword allows the tilt factors for a triclinic box to
exceed half the distance of the parallel box length, as discussed
below. If the <I>flip</I> value is set to <I>yes</I>, the bound is enforced by
flipping the box when it is exceeded. If the <I>flip</I> value is set to
<I>no</I>, the tilt will continue to change without flipping. Note that if
applied stress induces large deformations (e.g. in a liquid), this
means the box shape can tilt dramatically and LAMMPS will run less
efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped sub-domain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
</P>
<P>The <I>fixedpoint</I> keyword specifies the fixed point for barostat volume
changes. By default, it is the center of the box. Whatever point is
chosen will not move during the simulation. For example, if the lower
@ -321,11 +334,13 @@ positions.
<P>IMPORTANT NOTE: Using a barostat coupled to tilt dimensions <I>xy</I>,
<I>xz</I>, <I>yz</I> can sometimes result in arbitrarily large values of the
tilt dimensions, i.e. a dramatically deformed simulation box. LAMMPS
allows the tilt factors to grow a little beyond the normal limit of
half the box length (0.6 times the box length), and then performs a
box "flip" to an equivalent periodic cell. The flip operation is
described in more detail in the doc page for <A HREF = "fix_deform.html">fix
deform</A>. Both the barostat dynamics and the atom
allows the tilt factors to grow a small amount beyond the normal limit
of half the box length (0.6 times the box length), and then performs a
box "flip" to an equivalent periodic cell. See the discussion of the
<I>flip</I> keyword above, to allow this bound to be exceeded, if desired.
</P>
<P>The flip operation is described in more detail in the doc page for
<A HREF = "fix_deform.html">fix deform</A>. Both the barostat dynamics and the atom
trajectories are unaffected by this operation. However, if a tilt
factor is incremented by a large amount (1.5 times the box length) on
a single timestep, LAMMPS can not accomodate this event and will
@ -340,12 +355,12 @@ equilibrium liquids can not support a shear stress and that
equilibrium solids can not support shear stresses that exceed the
yield stress.
</P>
<P>The one exception to this rule is if the 1st dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the
tilt factor are not enforced, since flipping the box in that dimension
does not change the atom positions due to non-periodicity. In this
mode, if you tilt the system to extreme angles, the simulation will
simply become inefficient due to the highly skewed simulation box.
<P>One exception to this rule is if the 1st dimension in the tilt factor
(x for xy) is non-periodic. In that case, the limits on the tilt
factor are not enforced, since flipping the box in that dimension does
not change the atom positions due to non-periodicity. In this mode,
if you tilt the system to extreme angles, the simulation will simply
become inefficient due to the highly skewed simulation box.
</P>
<P>IMPORTANT NOTE: Unlike the <A HREF = "fix_temp_berendsen.html">fix
temp/berendsen</A> command which performs

View File

@ -19,7 +19,7 @@ fix ID group-ID style_name keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
style_name = {nvt} or {npt} or {nph} :l
one or more keyword value pairs may be appended
keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scaleyz} or {scalexz} or {scalexy} or {fixedpoint}
keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scalexy} or {scaleyz} or {scalexz} or {flip} or {fixedpoint}
{temp} values = Tstart Tstop Tdamp
Tstart,Tstop = external temperature at start/end of run
Tdamp = temperature damping parameter (time units)
@ -44,9 +44,10 @@ keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {y
Df = drag factor added to barostat/thermostat (0.0 = no drag)
{dilate} value = dilate-group-ID
dilate-group-ID = only dilate atoms in this group due to barostat volume changes
{scalexy} value = {yes} or {no} = scale xy with ly
{scaleyz} value = {yes} or {no} = scale yz with lz
{scalexz} value = {yes} or {no} = scale xz with lz
{scalexy} value = {yes} or {no} = scale xy with ly
{flip} value = {yes} or {no}
{fixedpoint} values = x y z
x,y,z = perform barostat dilation/contraction around this point (distance units) :pre
@ -297,6 +298,18 @@ situations. In older versions of LAMMPS, scaling of tilt factors was
not performed. The old behavior can be recovered by setting all three
scale keywords to {no}.
The {flip} keyword allows the tilt factors for a triclinic box to
exceed half the distance of the parallel box length, as discussed
below. If the {flip} value is set to {yes}, the bound is enforced by
flipping the box when it is exceeded. If the {flip} value is set to
{no}, the tilt will continue to change without flipping. Note that if
applied stress induces large deformations (e.g. in a liquid), this
means the box shape can tilt dramatically and LAMMPS will run less
efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped sub-domain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
The {fixedpoint} keyword specifies the fixed point for barostat volume
changes. By default, it is the center of the box. Whatever point is
chosen will not move during the simulation. For example, if the lower
@ -312,11 +325,13 @@ positions.
IMPORTANT NOTE: Using a barostat coupled to tilt dimensions {xy},
{xz}, {yz} can sometimes result in arbitrarily large values of the
tilt dimensions, i.e. a dramatically deformed simulation box. LAMMPS
allows the tilt factors to grow a little beyond the normal limit of
half the box length (0.6 times the box length), and then performs a
box "flip" to an equivalent periodic cell. The flip operation is
described in more detail in the doc page for "fix
deform"_fix_deform.html. Both the barostat dynamics and the atom
allows the tilt factors to grow a small amount beyond the normal limit
of half the box length (0.6 times the box length), and then performs a
box "flip" to an equivalent periodic cell. See the discussion of the
{flip} keyword above, to allow this bound to be exceeded, if desired.
The flip operation is described in more detail in the doc page for
"fix deform"_fix_deform.html. Both the barostat dynamics and the atom
trajectories are unaffected by this operation. However, if a tilt
factor is incremented by a large amount (1.5 times the box length) on
a single timestep, LAMMPS can not accomodate this event and will
@ -331,12 +346,12 @@ equilibrium liquids can not support a shear stress and that
equilibrium solids can not support shear stresses that exceed the
yield stress.
The one exception to this rule is if the 1st dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the
tilt factor are not enforced, since flipping the box in that dimension
does not change the atom positions due to non-periodicity. In this
mode, if you tilt the system to extreme angles, the simulation will
simply become inefficient due to the highly skewed simulation box.
One exception to this rule is if the 1st dimension in the tilt factor
(x for xy) is non-periodic. In that case, the limits on the tilt
factor are not enforced, since flipping the box in that dimension does
not change the atom positions due to non-periodicity. In this mode,
if you tilt the system to extreme angles, the simulation will simply
become inefficient due to the highly skewed simulation box.
IMPORTANT NOTE: Unlike the "fix
temp/berendsen"_fix_temp_berendsen.html command which performs