diff --git a/doc/Section_commands.html b/doc/Section_commands.html index aacf28ffe1..009c3eb2c8 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -315,20 +315,20 @@ in the command's documentation.

- - - - - - - - - - - - - - + + + + + + + + + + + + +
angle_coeffangle_styleatom_modifyatom_stylebalancebond_coeff
bond_styleboundarychange_boxclearcommunicatecompute
compute_modifycreate_atomscreate_boxdelete_atomsdelete_bondsdielectric
dihedral_coeffdihedral_styledimensiondisplace_atomsdumpdump image
dump_modifyechofixfix_modifygroupif
improper_coeffimproper_styleincludejumpkspace_modifykspace_style
labellatticelogmassminimizemin_modify
min_stylenebneigh_modifyneighbornewtonnext
packagepair_coeffpair_modifypair_stylepair_writepartition
prdprintprocessorsquitread_dataread_dump
read_restartregionreplicatererunreset_timesteprestart
runrun_stylesetshellspecial_bondssuffix
tadtemperthermothermo_modifythermo_styletimestep
uncomputeundumpunfixunitsvariablevelocity
write_restart +
bond_styleboundaryboxchange_boxclearcommunicate
computecompute_modifycreate_atomscreate_boxdelete_atomsdelete_bonds
dielectricdihedral_coeffdihedral_styledimensiondisplace_atomsdump
dump imagedump_modifyechofixfix_modifygroup
ifimproper_coeffimproper_styleincludejumpkspace_modify
kspace_stylelabellatticelogmassminimize
min_modifymin_stylenebneigh_modifyneighbornewton
nextpackagepair_coeffpair_modifypair_stylepair_write
partitionprdprintprocessorsquitread_data
read_dumpread_restartregionreplicatererunreset_timestep
restartrunrun_stylesetshellspecial_bonds
suffixtadtemperthermothermo_modifythermo_style
timestepuncomputeundumpunfixunitsvariable
velocitywrite_restart

diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 051c5ff739..8158fdcae5 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -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, diff --git a/doc/Section_howto.html b/doc/Section_howto.html index 4ee014bda1..ea4e93f11c 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -789,24 +789,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:

@@ -868,27 +866,48 @@ The 9 parameters, as well as lx,ly,lz, can be output via the thermo_style custom 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 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 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 or read_data commands, +as well as when the box shape changes dynamically during a simulation, +e.g. via the fix deform or fix npt +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 +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 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 command. Setting the tilt +keyword to large allows any tilt factors to be specified. +

+

Box flips that may occur using the fix deform or +fix npt 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 diff --git a/doc/Section_howto.txt b/doc/Section_howto.txt index 8c22a42931..fb94ceeaf8 100644 --- a/doc/Section_howto.txt +++ b/doc/Section_howto.txt @@ -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 diff --git a/doc/box.html b/doc/box.html new file mode 100644 index 0000000000..162087c7ff --- /dev/null +++ b/doc/box.html @@ -0,0 +1,69 @@ + +

LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

box command +

+

Syntax: +

+
box keyword value ... 
+
+ +

Examples: +

+
box tilt large
+box tilt small 
+
+

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 or +read_data commands. Tilt factors determine how +skewed the triclinic box is; see this +section 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 or create_box command or +read_restart command. +

+

Related commands: none +

+

Default: +

+

The default value is tilt = small. +

+ diff --git a/doc/box.txt b/doc/box.txt new file mode 100644 index 0000000000..a6207ae993 --- /dev/null +++ b/doc/box.txt @@ -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. diff --git a/doc/change_box.html b/doc/change_box.html index 898afe960d..059444bc1a 100644 --- a/doc/change_box.html +++ b/doc/change_box.html @@ -42,7 +42,7 @@ 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 diff --git a/doc/change_box.txt b/doc/change_box.txt index 1a492a2c39..4dc41b9938 100644 --- a/doc/change_box.txt +++ b/doc/change_box.txt @@ -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 diff --git a/doc/fix_box_relax.html b/doc/fix_box_relax.html index 4d74d1f328..d6884195dd 100644 --- a/doc/fix_box_relax.html +++ b/doc/fix_box_relax.html @@ -110,16 +110,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.


diff --git a/doc/fix_box_relax.txt b/doc/fix_box_relax.txt index fabdd54fed..a1575ce477 100644 --- a/doc/fix_box_relax.txt +++ b/doc/fix_box_relax.txt @@ -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 diff --git a/doc/fix_deform.html b/doc/fix_deform.html index 6be57e95ca..0d04734e1a 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -68,12 +68,14 @@
  • zero or more keyword/value pairs may be appended -
  • keyword = remap or units +
  • keyword = remap or flip or units
      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 
    @@ -420,8 +422,11 @@ fix 2 all deform 1 xy variable v_displace v_rate remap v
     
     

    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 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 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 fix nvt/sllod.

    +

    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 command, e.g. Angstroms for @@ -537,6 +553,6 @@ xy) that is shrink-wrapped via the boundary comamn

    Default:

    -

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

    The option defaults are remap = x, flip = yes, and units = lattice.

    diff --git a/doc/fix_deform.txt b/doc/fix_deform.txt index 5a3a2ae584..26b9bd8e57 100644 --- a/doc/fix_deform.txt +++ b/doc/fix_deform.txt @@ -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. diff --git a/doc/fix_nh.html b/doc/fix_nh.html index 6b4c7b1f12..f854be41fb 100644 --- a/doc/fix_nh.html +++ b/doc/fix_nh.html @@ -28,7 +28,7 @@
  • style_name = nvt or npt or nph
    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)
    @@ -53,9 +53,10 @@ keyword = temp or iso or aniso or tri or x or
         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) 
     
    @@ -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 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 @@ -321,11 +334,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. 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. 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.

    -

    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 command which performs diff --git a/doc/fix_nh.txt b/doc/fix_nh.txt index e917dd5be1..3df6fd87f0 100644 --- a/doc/fix_nh.txt +++ b/doc/fix_nh.txt @@ -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