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

This commit is contained in:
sjplimp
2007-06-20 17:08:17 +00:00
parent 3cc0908415
commit b361a8c779
4 changed files with 311 additions and 132 deletions

View File

@ -25,7 +25,7 @@
<PRE>parameter = <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>xz</I> or <I>yz</I> <PRE>parameter = <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>xz</I> or <I>yz</I>
<I>x</I>, <I>y</I>, <I>z</I> args = style value(s) <I>x</I>, <I>y</I>, <I>z</I> args = style value(s)
style = <I>final</I> or <I>delta</I> or <I>scale</I> or <I>vel</I> or <I>rate</I> or <I>volume</I> style = <I>final</I> or <I>delta</I> or <I>scale</I> or <I>vel</I> or <I>erate</I> or <I>trate</I> or <I>volume</I>
<I>final</I> values = lo hi <I>final</I> values = lo hi
lo hi = box boundaries at end of run (distance units) lo hi = box boundaries at end of run (distance units)
<I>delta</I> values = dlo dhi <I>delta</I> values = dlo dhi
@ -35,11 +35,13 @@
<I>vel</I> value = V <I>vel</I> value = V
V = change box length at this velocity (distance/time units), V = change box length at this velocity (distance/time units),
effectively an engineering strain rate effectively an engineering strain rate
<I>rate</I> value = R <I>erate</I> value = R
R = engineering strain rate (1/time units)
<I>trate</I> value = R
R = true strain rate (1/time units) R = true strain rate (1/time units)
<I>volume</I> value = none = adjust this dim to preserve volume of system <I>volume</I> value = none = adjust this dim to preserve volume of system
<I>xy</I>, <I>xz</I>, <I>yz</I> args = style value <I>xy</I>, <I>xz</I>, <I>yz</I> args = style value
style = <I>final</I> or <I>delta</I> or <I>vel</I> or <I>rate</I> style = <I>final</I> or <I>delta</I> or <I>vel</I> or <I>erate</I> or <I>trate</I>
<I>final</I> value = tilt <I>final</I> value = tilt
tilt = tilt factor at end of run (distance units) tilt = tilt factor at end of run (distance units)
<I>delta</I> value = dtilt <I>delta</I> value = dtilt
@ -47,7 +49,10 @@
<I>vel</I> value = V <I>vel</I> value = V
V = change tilt factor at this velocity (distance/time units), V = change tilt factor at this velocity (distance/time units),
effectively an engineering shear strain rate effectively an engineering shear strain rate
<I>rate</I> value = R <I>erate</I> value = R
R = engineering shear strain rate (1/time units)
</PRE>
<PRE> <I>trate</I> value = R
R = true shear strain rate (1/time units) R = true shear strain rate (1/time units)
</PRE> </PRE>
<LI>zero or more keyword/value pairs may be appended to the args <LI>zero or more keyword/value pairs may be appended to the args
@ -67,8 +72,8 @@
<P><B>Examples:</B> <P><B>Examples:</B>
</P> </P>
<PRE>fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box <PRE>fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box
fix 1 all deform x rate 0.1 y volume z volume fix 1 all deform x trate 0.1 y volume z volume
fix 1 all deform xy rate 0.001 remap v fix 1 all deform xy erate 0.001 remap v
fix 1 all deform y delta 0.5 xz vel 1.0 fix 1 all deform y delta 0.5 xz vel 1.0
</PRE> </PRE>
<P><B>Description:</B> <P><B>Description:</B>
@ -114,10 +119,11 @@ the ramping take place across multiple runs.
<P>For the <I>x</I>, <I>y</I>, and <I>z</I> parameters, this is the meaning of their <P>For the <I>x</I>, <I>y</I>, and <I>z</I> parameters, this is the meaning of their
styles and values. styles and values.
</P> </P>
<P>The <I>final</I>, <I>delta</I>, <I>scale</I>, and <I>vel</I> styles all change the <P>The <I>final</I>, <I>delta</I>, <I>scale</I>, <I>vel</I>, and <I>erate</I> styles all change
specified dimension of the box via "constant displacement" which is the specified dimension of the box via "constant displacement" which
effectively a "constant engineering strain rate". This means the box is effectively a "constant engineering strain rate". This means the
dimension changes linearly with time from its initial to final value. box dimension changes linearly with time from its initial to final
value.
</P> </P>
<P>For style <I>final</I>, the final lo and hi box boundaries of a dimension <P>For style <I>final</I>, the final lo and hi box boundaries of a dimension
are specified. The values can be in lattice or box distance units. are specified. The values can be in lattice or box distance units.
@ -133,36 +139,57 @@ is 10, and the factor is 1.1, then the final box length will be 11. A
factor less than 1.0 means compression. factor less than 1.0 means compression.
</P> </P>
<P>For style <I>vel</I>, a velocity at which the box length changes is <P>For style <I>vel</I>, a velocity at which the box length changes is
specified in units of distance/time. This is effectively an specified in units of distance/time. This is effectively a "constant
"engineering strain rate", where rate = V/L0 and L0 is the initial box engineering strain rate", where rate = V/L0 and L0 is the initial box
length. The distance can be in lattice or box distance units. See length. The distance can be in lattice or box distance units. See
the discussion of the units keyword below. For example, if the the discussion of the units keyword below. For example, if the
initial box length is 100 Angstroms, and V is 10 Angstroms/psec, initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then
then after 10 psec, the box length will have doubled. After 20 psec, after 10 psec, the box length will have doubled. After 20 psec, it
it will have tripled. will have tripled.
</P> </P>
<P>The <I>rate</I> style changes a dimension of the box at a "true constant <P>The <I>erate</I> style changes a dimension of the the box at a "constant
engineering strain rate". The units of the specified strain rate are
1/time. See the <A HREF = "units.html">units</A> command for the time units
associated with different choices of simulation units,
e.g. picoseconds for "metal" units). Tensile strain is unitless and
is defined as delta/length0, where length0 is the original box length
and delta is the change relative to the original length. Thus if the
<I>erate</I> R is 0.1 and time units are picoseconds, this means the box
length will increase by 10% of its original length every picosecond.
I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc.
R = -0.01 means the box length will shrink by 1% of its original
length every picosecond. Note that for an "engineering" rate the
change is based on the original box length, so running with R = 1 for
10 picoseconds expands the box length by a factor of 10, not 1024 as
it would with <I>trate</I>.
</P>
<P>The <I>trate</I> style changes a dimension of the box at a "constant true
strain rate". Note that this is not an "engineering strain rate", as strain rate". Note that this is not an "engineering strain rate", as
the other styles are. Rather, for a "true" rate, the rate of change the other styles are. Rather, for a "true" rate, the rate of change
is constant, which means the box dimension changes non-linearly with is constant, which means the box dimension changes non-linearly with
time from its initial to final value. The units of the specified time from its initial to final value. The units of the specified
strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the
time units associated with different choices of simulation units, time units associated with different choices of simulation units,
e.g. picoseconds for "metal" units). Thus if the <I>rate</I> R is 0.01 and e.g. picoseconds for "metal" units). Tensile strain is unitless and
time units are picoseconds, this means the box length will increase by is defined as delta/length0, where length0 is the original box length
1% every picosecond. R = 1 or 2 means the box length will double or and delta is the change relative to the original length. Thus if the
triple every picosecond. R = -0.1 means the box length will shrink by <I>trate</I> R is 0.1 and time units are picoseconds, this means the box
10% every picosecond. Note that for a "true" rate the change is length will increase by 10% of its current length every picosecond.
continuous, so running with R = 1 for 10 picoseconds does not expand I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc.
the box length by a factor of 10, but by a factor of 1024 since it R = 1 or 2 means the box length will double or triple every
doubles every picosecond. picosecond. R = -0.01 means the box length will shrink by 1% of its
current length every picosecond. Note that for a "true" rate the
change is continuous and based on the current length, so running with
R = 1 for 10 picoseconds does not expand the box length by a factor of
10 as it would with <I>erate</I>, but by a factor of 1024 since it doubles
every picosecond.
</P> </P>
<P>Note that to change the volume (or cross-sectional area) of the <P>Note that to change the volume (or cross-sectional area) of the
simulation box at a constant rate, you can change multiple dimensions simulation box at a constant rate, you can change multiple dimensions
via <I>rate</I>. E.g. to double the box volume every picosecond, you could via <I>erate</I> or <I>trate</I>. E.g. to double the box volume every
set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 = picosecond, you could set "x trate M", "y trate M", "z trate M", with
1.26, since if each box dimension grows by 26%, the box volume M = pow(2,1/3) - 1 = 1.26, since if each box dimension grows by 26%,
doubles. the box volume doubles.
</P> </P>
<P>The <I>volume</I> style changes the specified dimension in such a way that <P>The <I>volume</I> style changes the specified dimension in such a way that
the box volume remains constant while other box dimensions are changed the box volume remains constant while other box dimensions are changed
@ -187,8 +214,8 @@ potentials whose Poisson ratio is not 0.5. An alternative is to use
<A HREF = "fix_npt.html">fix npt aniso</A> with zero applied pressure on those 2 <A HREF = "fix_npt.html">fix npt aniso</A> with zero applied pressure on those 2
dimensions, so that they respond to the tensile strain dynamically. dimensions, so that they respond to the tensile strain dynamically.
</P> </P>
<P>For the <I>scale</I>, <I>vel</I>, <I>rate</I>, and <I>volume</I> styles, the box length is <P>For the <I>scale</I>, <I>vel</I>, <I>erate</I>, <I>trate</I>, and <I>volume</I> styles, the box
expanded or compressed around its mid point. length is expanded or compressed around its mid point.
</P> </P>
<HR> <HR>
@ -196,6 +223,11 @@ expanded or compressed around its mid point.
styles and values. Note that changing the tilt factors of a triclinic styles and values. Note that changing the tilt factors of a triclinic
box does not change its volume. box does not change its volume.
</P> </P>
<P>The <I>final</I>, <I>delta</I>, <I>vel</I>, and <I>erate</I> styles all change the shear
strain at a "constant engineering shear strain rate". This means the
tilt factor changes linearly with time from its initial to final
value.
</P>
<P>For style <I>final</I>, the final tilt factor is specified. The value <P>For style <I>final</I>, the final tilt factor is specified. The value
can be in lattice or box distance units. See the discussion of the can be in lattice or box distance units. See the discussion of the
units keyword below. units keyword below.
@ -214,28 +246,53 @@ is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the
tilt factor will be 15 Angstroms. After 2 psec, it will be 25 tilt factor will be 15 Angstroms. After 2 psec, it will be 25
Angstroms. Angstroms.
</P> </P>
<P>The <I>rate</I> style changes a tilt factor at a "true constant shear <P>The <I>erate</I> style changes a tilt factor at a "constant engineering
shear strain rate". The units of the specified shear strain rate are
1/time. See the <A HREF = "units.html">units</A> command for the time units
associated with different choices of simulation units,
e.g. picoseconds for "metal" units). Shear strain is unitless and is
defined as offset/length, where length is the box length perpendicular
to the shear direction (e.g. y box length for xy deformation) and
offset is the displacement distance in the shear direction (e.g. x
direction for xy deformation) from the unstrained orientation. Thus
if the <I>erate</I> R is 0.1 and time units are picoseconds, this means the
shear strain will increase by 0.1 every picosecond. I.e. if the xy
shear strain was initially 0.0, then strain after 1 psec = 0.1, strain
after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0,
0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the
original y box length. R = 1 or 2 means the tilt factor will increase
by 1 or 2 every picosecond. R = -0.01 means a decrease in shear
strain by 0.01 every picosecond.
</P>
<P>The <I>trate</I> style changes a tilt factor at a "constant true shear
strain rate". Note that this is not an "engineering shear strain strain rate". Note that this is not an "engineering shear strain
rate", as the other styles are. Rather, for a "true" rate, the rate rate", as the other styles are. Rather, for a "true" rate, the rate
of change is constant, which means the tilt factor changes of change is constant, which means the tilt factor changes
non-linearly with time from its initial to final value. The units of non-linearly with time from its initial to final value. The units of
shear strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the specified shear strain rate are 1/time. See the
the time units associated with different choices of simulation units, <A HREF = "units.html">units</A> command for the time units associated with
e.g. picoseconds for "metal" units). Thus if the <I>rate</I> R is 0.01 and different choices of simulation units, e.g. picoseconds for "metal"
time units are picoseconds, this means the tilt factor will increase units). Shear strain is unitless and is defined as offset/length,
by 1% every picosecond. R = 1 or 2 means the tilt factor will double where length is the box length perpendicular to the shear direction
or triple every picosecond. R = -0.1 means the tilt factor will (e.g. y box length for xy deformation) and offset is the displacement
shrink by 10% every picosecond. Note that the change is continuous, distance in the shear direction (e.g. x direction for xy deformation)
so running with R = 1 for 10 picoseconds does not change the tilt from the unstrained orientation. Thus if the <I>trate</I> R is 0.1 and
factor by a factor of 10, but by a factor of 1024 since it doubles time units are picoseconds, this means the shear strain or tilt factor
every picosecond. Also note, that the initial tilt factor must be will increase by 10% every picosecond. I.e. if the xy shear strain
non-zero to use the <I>rate</I> option. was initially 0.1, then strain after 1 psec = 0.11, strain after 2
psec = 0.121, etc. R = 1 or 2 means the tilt factor will double or
triple every picosecond. R = -0.01 means the tilt factor will shrink
by 1% every picosecond. Note that the change is continuous, so
running with R = 1 for 10 picoseconds does not change the tilt factor
by a factor of 10, but by a factor of 1024 since it doubles every
picosecond. Also note that the initial tilt factor must be non-zero
to use the <I>trate</I> option.
</P> </P>
<P>Note that shear strain is defined as the tilt factor divided by the <P>Note that shear strain is defined as the tilt factor divided by the
perpendicular box length. The <I>rate</I> style controls the tilt factor, perpendicular box length. The <I>erate</I> and <I>trate</I> styles control the
but assumes the perpendicular box length remains constant. If this is tilt factor, but assume the perpendicular box length remains constant.
not the case (e.g. it changes due to another fix deform parameter), If this is not the case (e.g. it changes due to another fix deform
then this effect on the shear strain is ignored. parameter), then this effect on the shear strain is ignored.
</P> </P>
<P>All of these styles change the xy, xz, yz tilt factors during a <P>All of these styles change the xy, xz, yz tilt factors during a
simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes

View File

@ -18,7 +18,7 @@ N = perform box deformation every this many timesteps :l
one or more parameter/arg pairs may be appended :l one or more parameter/arg pairs may be appended :l
parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
{x}, {y}, {z} args = style value(s) {x}, {y}, {z} args = style value(s)
style = {final} or {delta} or {scale} or {vel} or {rate} or {volume} style = {final} or {delta} or {scale} or {vel} or {erate} or {trate} or {volume}
{final} values = lo hi {final} values = lo hi
lo hi = box boundaries at end of run (distance units) lo hi = box boundaries at end of run (distance units)
{delta} values = dlo dhi {delta} values = dlo dhi
@ -28,11 +28,13 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
{vel} value = V {vel} value = V
V = change box length at this velocity (distance/time units), V = change box length at this velocity (distance/time units),
effectively an engineering strain rate effectively an engineering strain rate
{rate} value = R {erate} value = R
R = engineering strain rate (1/time units)
{trate} value = R
R = true strain rate (1/time units) R = true strain rate (1/time units)
{volume} value = none = adjust this dim to preserve volume of system {volume} value = none = adjust this dim to preserve volume of system
{xy}, {xz}, {yz} args = style value {xy}, {xz}, {yz} args = style value
style = {final} or {delta} or {vel} or {rate} style = {final} or {delta} or {vel} or {erate} or {trate}
{final} value = tilt {final} value = tilt
tilt = tilt factor at end of run (distance units) tilt = tilt factor at end of run (distance units)
{delta} value = dtilt {delta} value = dtilt
@ -40,7 +42,9 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
{vel} value = V {vel} value = V
V = change tilt factor at this velocity (distance/time units), V = change tilt factor at this velocity (distance/time units),
effectively an engineering shear strain rate effectively an engineering shear strain rate
{rate} value = R {erate} value = R
R = engineering shear strain rate (1/time units) :pre
{trate} value = R
R = true shear strain rate (1/time units) :pre R = true shear strain rate (1/time units) :pre
zero or more keyword/value pairs may be appended to the args :l zero or more keyword/value pairs may be appended to the args :l
@ -57,8 +61,8 @@ keyword = {remap} or {units} :l
[Examples:] [Examples:]
fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box
fix 1 all deform x rate 0.1 y volume z volume fix 1 all deform x trate 0.1 y volume z volume
fix 1 all deform xy rate 0.001 remap v fix 1 all deform xy erate 0.001 remap v
fix 1 all deform y delta 0.5 xz vel 1.0 :pre fix 1 all deform y delta 0.5 xz vel 1.0 :pre
[Description:] [Description:]
@ -104,10 +108,11 @@ the ramping take place across multiple runs.
For the {x}, {y}, and {z} parameters, this is the meaning of their For the {x}, {y}, and {z} parameters, this is the meaning of their
styles and values. styles and values.
The {final}, {delta}, {scale}, and {vel} styles all change the The {final}, {delta}, {scale}, {vel}, and {erate} styles all change
specified dimension of the box via "constant displacement" which is the specified dimension of the box via "constant displacement" which
effectively a "constant engineering strain rate". This means the box is effectively a "constant engineering strain rate". This means the
dimension changes linearly with time from its initial to final value. box dimension changes linearly with time from its initial to final
value.
For style {final}, the final lo and hi box boundaries of a dimension 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. are specified. The values can be in lattice or box distance units.
@ -123,36 +128,57 @@ is 10, and the factor is 1.1, then the final box length will be 11. A
factor less than 1.0 means compression. factor less than 1.0 means compression.
For style {vel}, a velocity at which the box length changes is For style {vel}, a velocity at which the box length changes is
specified in units of distance/time. This is effectively an specified in units of distance/time. This is effectively a "constant
"engineering strain rate", where rate = V/L0 and L0 is the initial box engineering strain rate", where rate = V/L0 and L0 is the initial box
length. The distance can be in lattice or box distance units. See length. The distance can be in lattice or box distance units. See
the discussion of the units keyword below. For example, if the the discussion of the units keyword below. For example, if the
initial box length is 100 Angstroms, and V is 10 Angstroms/psec, initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then
then after 10 psec, the box length will have doubled. After 20 psec, after 10 psec, the box length will have doubled. After 20 psec, it
it will have tripled. will have tripled.
The {rate} style changes a dimension of the box at a "true constant The {erate} style changes a dimension of the the box at a "constant
engineering strain rate". The units of the specified strain rate are
1/time. See the "units"_units.html command for the time units
associated with different choices of simulation units,
e.g. picoseconds for "metal" units). Tensile strain is unitless and
is defined as delta/length0, where length0 is the original box length
and delta is the change relative to the original length. Thus if the
{erate} R is 0.1 and time units are picoseconds, this means the box
length will increase by 10% of its original length every picosecond.
I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc.
R = -0.01 means the box length will shrink by 1% of its original
length every picosecond. Note that for an "engineering" rate the
change is based on the original box length, so running with R = 1 for
10 picoseconds expands the box length by a factor of 10, not 1024 as
it would with {trate}.
The {trate} style changes a dimension of the box at a "constant true
strain rate". Note that this is not an "engineering strain rate", as strain rate". Note that this is not an "engineering strain rate", as
the other styles are. Rather, for a "true" rate, the rate of change the other styles are. Rather, for a "true" rate, the rate of change
is constant, which means the box dimension changes non-linearly with is constant, which means the box dimension changes non-linearly with
time from its initial to final value. The units of the specified time from its initial to final value. The units of the specified
strain rate are 1/time. See the "units"_units.html command for the strain rate are 1/time. See the "units"_units.html command for the
time units associated with different choices of simulation units, time units associated with different choices of simulation units,
e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and e.g. picoseconds for "metal" units). Tensile strain is unitless and
time units are picoseconds, this means the box length will increase by is defined as delta/length0, where length0 is the original box length
1% every picosecond. R = 1 or 2 means the box length will double or and delta is the change relative to the original length. Thus if the
triple every picosecond. R = -0.1 means the box length will shrink by {trate} R is 0.1 and time units are picoseconds, this means the box
10% every picosecond. Note that for a "true" rate the change is length will increase by 10% of its current length every picosecond.
continuous, so running with R = 1 for 10 picoseconds does not expand I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc.
the box length by a factor of 10, but by a factor of 1024 since it R = 1 or 2 means the box length will double or triple every
doubles every picosecond. picosecond. R = -0.01 means the box length will shrink by 1% of its
current length every picosecond. Note that for a "true" rate the
change is continuous and based on the current length, so running with
R = 1 for 10 picoseconds does not expand the box length by a factor of
10 as it would with {erate}, but by a factor of 1024 since it doubles
every picosecond.
Note that to change the volume (or cross-sectional area) of the Note that to change the volume (or cross-sectional area) of the
simulation box at a constant rate, you can change multiple dimensions simulation box at a constant rate, you can change multiple dimensions
via {rate}. E.g. to double the box volume every picosecond, you could via {erate} or {trate}. E.g. to double the box volume every
set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 = picosecond, you could set "x trate M", "y trate M", "z trate M", with
1.26, since if each box dimension grows by 26%, the box volume M = pow(2,1/3) - 1 = 1.26, since if each box dimension grows by 26%,
doubles. the box volume doubles.
The {volume} style changes the specified dimension in such a way that The {volume} style changes the specified dimension in such a way that
the box volume remains constant while other box dimensions are changed the box volume remains constant while other box dimensions are changed
@ -177,8 +203,8 @@ potentials whose Poisson ratio is not 0.5. An alternative is to use
"fix npt aniso"_fix_npt.html with zero applied pressure on those 2 "fix npt aniso"_fix_npt.html with zero applied pressure on those 2
dimensions, so that they respond to the tensile strain dynamically. dimensions, so that they respond to the tensile strain dynamically.
For the {scale}, {vel}, {rate}, and {volume} styles, the box length is For the {scale}, {vel}, {erate}, {trate}, and {volume} styles, the box
expanded or compressed around its mid point. length is expanded or compressed around its mid point.
:line :line
@ -186,6 +212,11 @@ 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 styles and values. Note that changing the tilt factors of a triclinic
box does not change its volume. box does not change its volume.
The {final}, {delta}, {vel}, and {erate} styles all change the shear
strain at a "constant engineering shear strain rate". This means the
tilt factor changes linearly with time from its initial to final
value.
For style {final}, the final tilt factor is specified. The value For style {final}, the final tilt factor is specified. The value
can be in lattice or box distance units. See the discussion of the can be in lattice or box distance units. See the discussion of the
units keyword below. units keyword below.
@ -204,28 +235,53 @@ is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the
tilt factor will be 15 Angstroms. After 2 psec, it will be 25 tilt factor will be 15 Angstroms. After 2 psec, it will be 25
Angstroms. Angstroms.
The {rate} style changes a tilt factor at a "true constant shear The {erate} style changes a tilt factor at a "constant engineering
shear strain rate". The units of the specified shear strain rate are
1/time. See the "units"_units.html command for the time units
associated with different choices of simulation units,
e.g. picoseconds for "metal" units). Shear strain is unitless and is
defined as offset/length, where length is the box length perpendicular
to the shear direction (e.g. y box length for xy deformation) and
offset is the displacement distance in the shear direction (e.g. x
direction for xy deformation) from the unstrained orientation. Thus
if the {erate} R is 0.1 and time units are picoseconds, this means the
shear strain will increase by 0.1 every picosecond. I.e. if the xy
shear strain was initially 0.0, then strain after 1 psec = 0.1, strain
after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0,
0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the
original y box length. R = 1 or 2 means the tilt factor will increase
by 1 or 2 every picosecond. R = -0.01 means a decrease in shear
strain by 0.01 every picosecond.
The {trate} style changes a tilt factor at a "constant true shear
strain rate". Note that this is not an "engineering shear strain strain rate". Note that this is not an "engineering shear strain
rate", as the other styles are. Rather, for a "true" rate, the rate rate", as the other styles are. Rather, for a "true" rate, the rate
of change is constant, which means the tilt factor changes of change is constant, which means the tilt factor changes
non-linearly with time from its initial to final value. The units of non-linearly with time from its initial to final value. The units of
shear strain rate are 1/time. See the "units"_units.html command for the specified shear strain rate are 1/time. See the
the time units associated with different choices of simulation units, "units"_units.html command for the time units associated with
e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and different choices of simulation units, e.g. picoseconds for "metal"
time units are picoseconds, this means the tilt factor will increase units). Shear strain is unitless and is defined as offset/length,
by 1% every picosecond. R = 1 or 2 means the tilt factor will double where length is the box length perpendicular to the shear direction
or triple every picosecond. R = -0.1 means the tilt factor will (e.g. y box length for xy deformation) and offset is the displacement
shrink by 10% every picosecond. Note that the change is continuous, distance in the shear direction (e.g. x direction for xy deformation)
so running with R = 1 for 10 picoseconds does not change the tilt from the unstrained orientation. Thus if the {trate} R is 0.1 and
factor by a factor of 10, but by a factor of 1024 since it doubles time units are picoseconds, this means the shear strain or tilt factor
every picosecond. Also note, that the initial tilt factor must be will increase by 10% every picosecond. I.e. if the xy shear strain
non-zero to use the {rate} option. was initially 0.1, then strain after 1 psec = 0.11, strain after 2
psec = 0.121, etc. R = 1 or 2 means the tilt factor will double or
triple every picosecond. R = -0.01 means the tilt factor will shrink
by 1% every picosecond. Note that the change is continuous, so
running with R = 1 for 10 picoseconds does not change the tilt factor
by a factor of 10, but by a factor of 1024 since it doubles every
picosecond. Also note that the initial tilt factor must be non-zero
to use the {trate} option.
Note that shear strain is defined as the tilt factor divided by the Note that shear strain is defined as the tilt factor divided by the
perpendicular box length. The {rate} style controls the tilt factor, perpendicular box length. The {erate} and {trate} styles control the
but assumes the perpendicular box length remains constant. If this is tilt factor, but assume the perpendicular box length remains constant.
not the case (e.g. it changes due to another fix deform parameter), If this is not the case (e.g. it changes due to another fix deform
then this effect on the shear strain is ignored. parameter), then this effect on the shear strain is ignored.
All of these styles change the xy, xz, yz tilt factors during a All of these styles change the xy, xz, yz tilt factors during a
simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes

View File

@ -28,8 +28,8 @@ pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0
<P><B>Description:</B> <P><B>Description:</B>
</P> </P>
<P>Style <I>gayberne</I> computes a Gay-Berne anisotropic LJ interaction <P>Style <I>gayberne</I> computes a Gay-Berne anisotropic LJ interaction
<A HREF = "#Beradi">(Beradi)</A> between pairs of ellipsoidal particles via the <A HREF = "#Beradi">(Beradi)</A> between pairs of ellipsoidal particles or an
formulas ellipsoidal and spherical particle via the formulas
</P> </P>
<CENTER><IMG SRC = "Eqs/pair_gayberne.jpg"> <CENTER><IMG SRC = "Eqs/pair_gayberne.jpg">
</CENTER> </CENTER>
@ -37,7 +37,10 @@ formulas
box frame to the body frame and r12 is the center to center vector box frame to the body frame and r12 is the center to center vector
between the particles. Ur controls the shifted distance dependent between the particles. Ur controls the shifted distance dependent
interaction based on the distance of closest approach of the two interaction based on the distance of closest approach of the two
particles (h12) and the user-specified shift parameter gamma. particles (h12) and the user-specified shift parameter gamma. When
both particles are spherical, the formula reduces to the usual
Lennard-Jones interaction (see details below for when Gay-Berne treats
a particle as "spherical").
</P> </P>
<P>For large uniform molecules it has been shown that the energy <P>For large uniform molecules it has been shown that the energy
parameters are approximately representable in terms of local contact parameters are approximately representable in terms of local contact
@ -68,12 +71,12 @@ commands:
</P> </P>
<UL><LI>epsilon = well depth (energy units) <UL><LI>epsilon = well depth (energy units)
<LI>sigma = minimum effective particle radii (distance units) <LI>sigma = minimum effective particle radii (distance units)
<LI>epsilon_i_a = relative well depth of I for side-to-side interactions <LI>epsilon_i_a = relative well depth of type I for side-to-side interactions
<LI>epsilon_i_b = relative well depth of I for face-to-face interactions <LI>epsilon_i_b = relative well depth of type I for face-to-face interactions
<LI>epsilon_i_c = relative well depth of I for end-to-end interactions <LI>epsilon_i_c = relative well depth of type I for end-to-end interactions
<LI>epsilon_j_a = relative well depth of J for side-to-side interactions <LI>epsilon_j_a = relative well depth of type J for side-to-side interactions
<LI>epsilon_j_b = relative well depth of J for face-to-face interactions <LI>epsilon_j_b = relative well depth of type J for face-to-face interactions
<LI>epsilon_j_c = relative well depth of J for end-to-end interactions <LI>epsilon_j_c = relative well depth of type J for end-to-end interactions
<LI>cutoff (distance units) <LI>cutoff (distance units)
</UL> </UL>
<P>The last coefficient is optional. If not specified, the global <P>The last coefficient is optional. If not specified, the global
@ -81,22 +84,52 @@ cutoff specified in the pair_style command is used.
</P> </P>
<P>The epsilon and sigma parameters are mixed for I != J atom pairings <P>The epsilon and sigma parameters are mixed for I != J atom pairings
the same as Lennard-Jones parameters; see the <A HREF = "pair_modify.html">pair_modify the same as Lennard-Jones parameters; see the <A HREF = "pair_modify.html">pair_modify
mix</A> documentation for details. The other parameters mix</A> documentation for details.
(except cutoff) are really specific to a single atom type, and not a </P>
pair of atoms. Thus they are applied to atom type I only. <P>The epsilon_i and epsilon_j coefficients are actually defined for atom
types, not for pairs of atom types. Thus, in a series of pair_coeff
commands, they only need to be specified once for each atom type.
</P>
<P>Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are
non-zero, the three values are assigned to atom type I. If all the
epsilon_i values are zero, they are ignored. If any of epsilon_j_a,
epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned
to atom type J. If all three epsilon_i values are zero, they are
ignored. Thus the typical way to define the epsilon_i and epsilon_j
coefficients is to list their values in "pair_coeff I J" commands when
I = J, but set them to 0.0 when I != J. If you do list them when I !=
J, you should insure they are consistent with their values in other
pair_coeff commands.
</P>
<P>Note that if this potential is being used as a sub-style of
<A HREF = "pair_hybrid.html">pair_style hybrid</A>, and there is no "pair_coeff I I"
setting made for Gay-Berne for a particular type I (because I-I
interactions are computed by another hybrid pair potential), then you
still need to insure the epsilon a,b,c coefficients are assigned to
that type in a "pair_coeff I J" command.
</P>
<P>IMPORTANT NOTE: If the epsilon a,b,c for an atom type are all 1.0, and
if the shape of the particle is spherical (see the <A HREF = "shape.html">shape</A>
command), meaning the 3 diameters are all the same, then the particle
is treated as "spherical" by the Gay-Berne potential. This is
significant because if two "spherical" particles interact, then the
simple Lennard-Jones formula is used to compute their interaction
energy/force using epsilon and sigma, which is much cheaper to compute
than the full Gay-Berne formula. Thus you should insure epsilon a,b,c
are set to 1.0 for spherical particle types and use epsilon and sigma
to specify its interaction with other spherical particles.
</P> </P>
<P><B>Restrictions:</B> <P><B>Restrictions:</B>
</P> </P>
<P>Can only be used if LAMMPS was built with the "asphere" package. <P>Can only be used if LAMMPS was built with the "asphere" package.
</P> </P>
<P>The use of this potential requires additional fixes as described <P>The "shift yes" option in <A HREF = "pair_modify.html">pair_modify</A> only applies
above. The "shift yes" option currently cannot be used with this to sphere-sphere interactions for this potential; there is no shifting
potential to shift energies to 0 at the cutoff due to the anisotropic performed for ellipsoidal interactions due to the anisotropic
dependence of the interaction. Angular velocities are all set to zero dependence of the interaction. The Gay-Berne potential does not
initially. The Gay-Berne potential does not become isotropic as r become isotropic as r increases <A HREF = "#Everaers">(Everaers)</A>. The
increases <A HREF = "#Everaers">(Everaers)</A>. The distance-of-closest-approach distance-of-closest-approach approximation used by LAMMPS becomes less
approximation used by the code becomes less accurate as the shape of accurate when high-aspect ratio ellipsoids are used.
ellipsoids becomes more dissimilar (high-aspect-ratio particles).
</P> </P>
<P><B>Related commands:</B> <P><B>Related commands:</B>
</P> </P>

View File

@ -25,8 +25,8 @@ pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 :pre
[Description:] [Description:]
Style {gayberne} computes a Gay-Berne anisotropic LJ interaction Style {gayberne} computes a Gay-Berne anisotropic LJ interaction
"(Beradi)"_#Beradi between pairs of ellipsoidal particles via the "(Beradi)"_#Beradi between pairs of ellipsoidal particles or an
formulas ellipsoidal and spherical particle via the formulas
:c,image(Eqs/pair_gayberne.jpg) :c,image(Eqs/pair_gayberne.jpg)
@ -34,7 +34,10 @@ where A1 and A2 are the transformation matrices from the simulation
box frame to the body frame and r12 is the center to center vector box frame to the body frame and r12 is the center to center vector
between the particles. Ur controls the shifted distance dependent between the particles. Ur controls the shifted distance dependent
interaction based on the distance of closest approach of the two interaction based on the distance of closest approach of the two
particles (h12) and the user-specified shift parameter gamma. particles (h12) and the user-specified shift parameter gamma. When
both particles are spherical, the formula reduces to the usual
Lennard-Jones interaction (see details below for when Gay-Berne treats
a particle as "spherical").
For large uniform molecules it has been shown that the energy For large uniform molecules it has been shown that the energy
parameters are approximately representable in terms of local contact parameters are approximately representable in terms of local contact
@ -65,12 +68,12 @@ commands:
epsilon = well depth (energy units) epsilon = well depth (energy units)
sigma = minimum effective particle radii (distance units) sigma = minimum effective particle radii (distance units)
epsilon_i_a = relative well depth of I for side-to-side interactions epsilon_i_a = relative well depth of type I for side-to-side interactions
epsilon_i_b = relative well depth of I for face-to-face interactions epsilon_i_b = relative well depth of type I for face-to-face interactions
epsilon_i_c = relative well depth of I for end-to-end interactions epsilon_i_c = relative well depth of type I for end-to-end interactions
epsilon_j_a = relative well depth of J for side-to-side interactions epsilon_j_a = relative well depth of type J for side-to-side interactions
epsilon_j_b = relative well depth of J for face-to-face interactions epsilon_j_b = relative well depth of type J for face-to-face interactions
epsilon_j_c = relative well depth of J for end-to-end interactions epsilon_j_c = relative well depth of type J for end-to-end interactions
cutoff (distance units) :ul cutoff (distance units) :ul
The last coefficient is optional. If not specified, the global The last coefficient is optional. If not specified, the global
@ -78,22 +81,52 @@ cutoff specified in the pair_style command is used.
The epsilon and sigma parameters are mixed for I != J atom pairings The epsilon and sigma parameters are mixed for I != J atom pairings
the same as Lennard-Jones parameters; see the "pair_modify the same as Lennard-Jones parameters; see the "pair_modify
mix"_pair_modify.html documentation for details. The other parameters mix"_pair_modify.html documentation for details.
(except cutoff) are really specific to a single atom type, and not a
pair of atoms. Thus they are applied to atom type I only. The epsilon_i and epsilon_j coefficients are actually defined for atom
types, not for pairs of atom types. Thus, in a series of pair_coeff
commands, they only need to be specified once for each atom type.
Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are
non-zero, the three values are assigned to atom type I. If all the
epsilon_i values are zero, they are ignored. If any of epsilon_j_a,
epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned
to atom type J. If all three epsilon_i values are zero, they are
ignored. Thus the typical way to define the epsilon_i and epsilon_j
coefficients is to list their values in "pair_coeff I J" commands when
I = J, but set them to 0.0 when I != J. If you do list them when I !=
J, you should insure they are consistent with their values in other
pair_coeff commands.
Note that if this potential is being used as a sub-style of
"pair_style hybrid"_pair_hybrid.html, and there is no "pair_coeff I I"
setting made for Gay-Berne for a particular type I (because I-I
interactions are computed by another hybrid pair potential), then you
still need to insure the epsilon a,b,c coefficients are assigned to
that type in a "pair_coeff I J" command.
IMPORTANT NOTE: If the epsilon a,b,c for an atom type are all 1.0, and
if the shape of the particle is spherical (see the "shape"_shape.html
command), meaning the 3 diameters are all the same, then the particle
is treated as "spherical" by the Gay-Berne potential. This is
significant because if two "spherical" particles interact, then the
simple Lennard-Jones formula is used to compute their interaction
energy/force using epsilon and sigma, which is much cheaper to compute
than the full Gay-Berne formula. Thus you should insure epsilon a,b,c
are set to 1.0 for spherical particle types and use epsilon and sigma
to specify its interaction with other spherical particles.
[Restrictions:] [Restrictions:]
Can only be used if LAMMPS was built with the "asphere" package. Can only be used if LAMMPS was built with the "asphere" package.
The use of this potential requires additional fixes as described The "shift yes" option in "pair_modify"_pair_modify.html only applies
above. The "shift yes" option currently cannot be used with this to sphere-sphere interactions for this potential; there is no shifting
potential to shift energies to 0 at the cutoff due to the anisotropic performed for ellipsoidal interactions due to the anisotropic
dependence of the interaction. Angular velocities are all set to zero dependence of the interaction. The Gay-Berne potential does not
initially. The Gay-Berne potential does not become isotropic as r become isotropic as r increases "(Everaers)"_#Everaers. The
increases "(Everaers)"_#Everaers. The distance-of-closest-approach distance-of-closest-approach approximation used by LAMMPS becomes less
approximation used by the code becomes less accurate as the shape of accurate when high-aspect ratio ellipsoids are used.
ellipsoids becomes more dissimilar (high-aspect-ratio particles).
[Related commands:] [Related commands:]