diff --git a/doc/fix_deform.html b/doc/fix_deform.html index e4c57bba2c..3112a3a5c1 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -25,7 +25,7 @@
parameter = x or y or z or xy or xz or yz x, y, z args = style value(s) - style = final or delta or scale or vel or rate or volume + style = final or delta or scale or vel or erate or trate or volume final values = lo hi lo hi = box boundaries at end of run (distance units) delta values = dlo dhi @@ -35,11 +35,13 @@ vel value = V V = change box length at this velocity (distance/time units), 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) volume value = none = adjust this dim to preserve volume of system 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 tilt = tilt factor at end of run (distance units) delta value = dtilt @@ -47,7 +49,10 @@ vel value = V V = change tilt factor at this velocity (distance/time units), effectively an engineering shear strain rate - rate value = R + erate value = R + R = engineering shear strain rate (1/time units) ++
trate value = R R = true shear strain rate (1/time units)
Examples:
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 xy rate 0.001 remap v +fix 1 all deform x trate 0.1 y volume z volume +fix 1 all deform xy erate 0.001 remap v fix 1 all deform y delta 0.5 xz vel 1.0
Description: @@ -114,10 +119,11 @@ the ramping take place across multiple runs.
For the x, y, and z parameters, this is the meaning of their styles and values.
-The final, delta, scale, and vel styles all change the -specified dimension of the box via "constant displacement" which is -effectively a "constant engineering strain rate". This means the box -dimension changes linearly with time from its initial to final value. +
The final, delta, scale, vel, and erate styles all change +the specified dimension of the box via "constant displacement" which +is effectively a "constant engineering strain rate". This means the +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 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.
For style vel, a velocity at which the box length changes is -specified in units of distance/time. This is effectively an -"engineering strain rate", where rate = V/L0 and L0 is the initial box +specified in units of distance/time. This is effectively a "constant +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 the discussion of the units keyword below. For example, if the -initial box length is 100 Angstroms, and V is 10 Angstroms/psec, -then after 10 psec, the box length will have doubled. After 20 psec, -it will have tripled. +initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then +after 10 psec, the box length will have doubled. After 20 psec, it +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 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 the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the box dimension changes non-linearly with time from its initial to final value. The units of the specified strain rate are 1/time. See the units command for the time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Thus if the rate R is 0.01 and -time units are picoseconds, this means the box length will increase by -1% every picosecond. R = 1 or 2 means the box length will double or -triple every picosecond. R = -0.1 means the box length will shrink by -10% every picosecond. Note that for a "true" rate the change is -continuous, so running with R = 1 for 10 picoseconds does not expand -the box length by a factor of 10, but by a factor of 1024 since it -doubles every picosecond. +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 +trate R is 0.1 and time units are picoseconds, this means the box +length will increase by 10% of its current length every picosecond. +I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. +R = 1 or 2 means the box length will double or triple every +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 simulation box at a constant rate, you can change multiple dimensions -via rate. E.g. to double the box volume every picosecond, you could -set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 = -1.26, since if each box dimension grows by 26%, the box volume -doubles. +via erate or trate. E.g. to double the box volume every +picosecond, you could set "x trate M", "y trate M", "z trate M", with +M = pow(2,1/3) - 1 = 1.26, since if each box dimension grows by 26%, +the box volume doubles.
The volume style changes the specified dimension in such a way that 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 fix npt aniso with zero applied pressure on those 2 dimensions, so that they respond to the tensile strain dynamically.
-For the scale, vel, rate, and volume styles, the box length is -expanded or compressed around its mid point. +
For the scale, vel, erate, trate, and volume styles, the box +length is expanded or compressed around its mid point.
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 can be in lattice or box distance units. See the discussion of the 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 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 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 rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the tilt factor changes non-linearly with time from its initial to final value. The units of -shear strain rate are 1/time. See the units command for -the time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Thus if the rate R is 0.01 and -time units are picoseconds, this means the tilt factor will increase -by 1% every picosecond. R = 1 or 2 means the tilt factor will double -or triple every picosecond. R = -0.1 means the tilt factor will -shrink by 10% 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 rate option. +the specified shear strain rate are 1/time. See the +units 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 trate R is 0.1 and +time units are picoseconds, this means the shear strain or tilt factor +will increase by 10% every picosecond. I.e. if the xy shear strain +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 -perpendicular box length. The rate style controls the tilt factor, -but assumes the perpendicular box length remains constant. If this is -not the case (e.g. it changes due to another fix deform parameter), -then this effect on the shear strain is ignored. +perpendicular box length. The erate and trate styles control the +tilt factor, but assume the perpendicular box length remains constant. +If this is not the case (e.g. it changes due to another fix deform +parameter), then this effect on the shear strain is ignored.
All of these styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes diff --git a/doc/fix_deform.txt b/doc/fix_deform.txt index bbf84141b3..a85bebc515 100644 --- a/doc/fix_deform.txt +++ b/doc/fix_deform.txt @@ -18,7 +18,7 @@ N = perform box deformation every this many timesteps :l one or more parameter/arg pairs may be appended :l parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} {x}, {y}, {z} args = style value(s) - style = {final} or {delta} or {scale} or {vel} or {rate} or {volume} + style = {final} or {delta} or {scale} or {vel} or {erate} or {trate} or {volume} {final} values = lo hi lo hi = box boundaries at end of run (distance units) {delta} values = dlo dhi @@ -28,11 +28,13 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} {vel} value = V V = change box length at this velocity (distance/time units), 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) {volume} value = none = adjust this dim to preserve volume of system {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 tilt = tilt factor at end of run (distance units) {delta} value = dtilt @@ -40,7 +42,9 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} {vel} value = V V = change tilt factor at this velocity (distance/time units), 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 zero or more keyword/value pairs may be appended to the args :l @@ -57,8 +61,8 @@ keyword = {remap} or {units} :l [Examples:] 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 xy rate 0.001 remap v +fix 1 all deform x trate 0.1 y volume z volume +fix 1 all deform xy erate 0.001 remap v fix 1 all deform y delta 0.5 xz vel 1.0 :pre [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 styles and values. -The {final}, {delta}, {scale}, and {vel} styles all change the -specified dimension of the box via "constant displacement" which is -effectively a "constant engineering strain rate". This means the box -dimension changes linearly with time from its initial to final value. +The {final}, {delta}, {scale}, {vel}, and {erate} styles all change +the specified dimension of the box via "constant displacement" which +is effectively a "constant engineering strain rate". This means the +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 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. For style {vel}, a velocity at which the box length changes is -specified in units of distance/time. This is effectively an -"engineering strain rate", where rate = V/L0 and L0 is the initial box +specified in units of distance/time. This is effectively a "constant +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 the discussion of the units keyword below. For example, if the -initial box length is 100 Angstroms, and V is 10 Angstroms/psec, -then after 10 psec, the box length will have doubled. After 20 psec, -it will have tripled. +initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then +after 10 psec, the box length will have doubled. After 20 psec, it +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 the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the box dimension changes non-linearly with 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 time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and -time units are picoseconds, this means the box length will increase by -1% every picosecond. R = 1 or 2 means the box length will double or -triple every picosecond. R = -0.1 means the box length will shrink by -10% every picosecond. Note that for a "true" rate the change is -continuous, so running with R = 1 for 10 picoseconds does not expand -the box length by a factor of 10, but by a factor of 1024 since it -doubles every picosecond. +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 +{trate} R is 0.1 and time units are picoseconds, this means the box +length will increase by 10% of its current length every picosecond. +I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. +R = 1 or 2 means the box length will double or triple every +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 simulation box at a constant rate, you can change multiple dimensions -via {rate}. E.g. to double the box volume every picosecond, you could -set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 = -1.26, since if each box dimension grows by 26%, the box volume -doubles. +via {erate} or {trate}. E.g. to double the box volume every +picosecond, you could set "x trate M", "y trate M", "z trate M", with +M = pow(2,1/3) - 1 = 1.26, since if each box dimension grows by 26%, +the box volume doubles. The {volume} style changes the specified dimension in such a way that 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 dimensions, so that they respond to the tensile strain dynamically. -For the {scale}, {vel}, {rate}, and {volume} styles, the box length is -expanded or compressed around its mid point. +For the {scale}, {vel}, {erate}, {trate}, and {volume} styles, the box +length is expanded or compressed around its mid point. :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 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 can be in lattice or box distance units. See the discussion of the 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 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 rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the tilt factor changes 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 time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and -time units are picoseconds, this means the tilt factor will increase -by 1% every picosecond. R = 1 or 2 means the tilt factor will double -or triple every picosecond. R = -0.1 means the tilt factor will -shrink by 10% 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 {rate} option. +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 {trate} R is 0.1 and +time units are picoseconds, this means the shear strain or tilt factor +will increase by 10% every picosecond. I.e. if the xy shear strain +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 -perpendicular box length. The {rate} style controls the tilt factor, -but assumes the perpendicular box length remains constant. If this is -not the case (e.g. it changes due to another fix deform parameter), -then this effect on the shear strain is ignored. +perpendicular box length. The {erate} and {trate} styles control the +tilt factor, but assume the perpendicular box length remains constant. +If this is not the case (e.g. it changes due to another fix deform +parameter), then this effect on the shear strain is ignored. All of these styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes diff --git a/doc/pair_gayberne.html b/doc/pair_gayberne.html index cee88b992c..b7929f9ea1 100644 --- a/doc/pair_gayberne.html +++ b/doc/pair_gayberne.html @@ -28,8 +28,8 @@ pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0
Description:
Style gayberne computes a Gay-Berne anisotropic LJ interaction -(Beradi) between pairs of ellipsoidal particles via the -formulas +(Beradi) between pairs of ellipsoidal particles or an +ellipsoidal and spherical particle via the formulas
For large uniform molecules it has been shown that the energy parameters are approximately representable in terms of local contact @@ -68,12 +71,12 @@ commands:
The last coefficient is optional. If not specified, the global @@ -81,22 +84,52 @@ cutoff specified in the pair_style command is used.
The epsilon and sigma parameters are mixed for I != J atom pairings the same as Lennard-Jones parameters; see the pair_modify -mix documentation for details. The other parameters -(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. +mix documentation for details. +
+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, 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 +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:
Can only be used if LAMMPS was built with the "asphere" package.
-The use of this potential requires additional fixes as described -above. The "shift yes" option currently cannot be used with this -potential to shift energies to 0 at the cutoff due to the anisotropic -dependence of the interaction. Angular velocities are all set to zero -initially. The Gay-Berne potential does not become isotropic as r -increases (Everaers). The distance-of-closest-approach -approximation used by the code becomes less accurate as the shape of -ellipsoids becomes more dissimilar (high-aspect-ratio particles). +
The "shift yes" option in pair_modify only applies +to sphere-sphere interactions for this potential; there is no shifting +performed for ellipsoidal interactions due to the anisotropic +dependence of the interaction. The Gay-Berne potential does not +become isotropic as r increases (Everaers). The +distance-of-closest-approach approximation used by LAMMPS becomes less +accurate when high-aspect ratio ellipsoids are used.
Related commands:
diff --git a/doc/pair_gayberne.txt b/doc/pair_gayberne.txt index 152d0d2425..11ef63cfc1 100755 --- a/doc/pair_gayberne.txt +++ b/doc/pair_gayberne.txt @@ -25,8 +25,8 @@ pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 :pre [Description:] Style {gayberne} computes a Gay-Berne anisotropic LJ interaction -"(Beradi)"_#Beradi between pairs of ellipsoidal particles via the -formulas +"(Beradi)"_#Beradi between pairs of ellipsoidal particles or an +ellipsoidal and spherical particle via the formulas :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 between the particles. Ur controls the shifted distance dependent 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 parameters are approximately representable in terms of local contact @@ -65,12 +68,12 @@ commands: epsilon = well depth (energy units) sigma = minimum effective particle radii (distance units) -epsilon_i_a = relative well depth of I for side-to-side interactions -epsilon_i_b = relative well depth of I for face-to-face interactions -epsilon_i_c = relative well depth of I for end-to-end interactions -epsilon_j_a = relative well depth of J for side-to-side interactions -epsilon_j_b = relative well depth of J for face-to-face interactions -epsilon_j_c = relative well depth of J for end-to-end interactions +epsilon_i_a = relative well depth of type I for side-to-side interactions +epsilon_i_b = relative well depth of type I for face-to-face interactions +epsilon_i_c = relative well depth of type I for end-to-end interactions +epsilon_j_a = relative well depth of type J for side-to-side interactions +epsilon_j_b = relative well depth of type J for face-to-face interactions +epsilon_j_c = relative well depth of type J for end-to-end interactions cutoff (distance units) :ul 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 same as Lennard-Jones parameters; see the "pair_modify -mix"_pair_modify.html documentation for details. The other parameters -(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. +mix"_pair_modify.html documentation for details. + +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:] Can only be used if LAMMPS was built with the "asphere" package. -The use of this potential requires additional fixes as described -above. The "shift yes" option currently cannot be used with this -potential to shift energies to 0 at the cutoff due to the anisotropic -dependence of the interaction. Angular velocities are all set to zero -initially. The Gay-Berne potential does not become isotropic as r -increases "(Everaers)"_#Everaers. The distance-of-closest-approach -approximation used by the code becomes less accurate as the shape of -ellipsoids becomes more dissimilar (high-aspect-ratio particles). +The "shift yes" option in "pair_modify"_pair_modify.html only applies +to sphere-sphere interactions for this potential; there is no shifting +performed for ellipsoidal interactions due to the anisotropic +dependence of the interaction. The Gay-Berne potential does not +become isotropic as r increases "(Everaers)"_#Everaers. The +distance-of-closest-approach approximation used by LAMMPS becomes less +accurate when high-aspect ratio ellipsoids are used. [Related commands:]