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

This commit is contained in:
sjplimp
2010-11-17 16:26:24 +00:00
parent 9c67065bb9
commit 7ccbc7e75b
2 changed files with 58 additions and 50 deletions

View File

@ -26,23 +26,24 @@ angle_coeff 3 file.table ENTRY1
<P><B>Description:</B> <P><B>Description:</B>
</P> </P>
<P>Style <I>table</I> creates interpolation tables of length <I>N</I> from angle <P>Style <I>table</I> creates interpolation tables of length <I>N</I> from angle
potential and force values listed in a file(s) as a function of angle potential and derivative values listed in a file(s) as a function of
The files are read by the <A HREF = "angle_coeff.html">angle_coeff</A> command. angle The files are read by the <A HREF = "angle_coeff.html">angle_coeff</A>
command.
</P> </P>
<P>The interpolation tables are created by fitting cubic splines to the <P>The interpolation tables are created by fitting cubic splines to the
file values and interpolating energy and force values at each of <I>N</I> file values and interpolating energy and derivative values at each of
distances. During a simulation, these tables are used to interpolate <I>N</I> angles. During a simulation, these tables are used to interpolate
energy and force values as needed. The interpolation is done in one energy and force values on individual atoms as needed. The
of 2 styles: <I>linear</I> or <I>spline</I>. interpolation is done in one of 2 styles: <I>linear</I> or <I>spline</I>.
</P> </P>
<P>For the <I>linear</I> style, the angle is used to find 2 surrounding table <P>For the <I>linear</I> style, the angle is used to find 2 surrounding table
values from which an energy or force is computed by linear values from which an energy or its derivative is computed by linear
interpolation. interpolation.
</P> </P>
<P>For the <I>spline</I> style, a cubic spline coefficients are computed and <P>For the <I>spline</I> style, a cubic spline coefficients are computed and
stored at each of the <I>N</I> values in the table. The angle is used to stored at each of the <I>N</I> values in the table. The angle is used to
find the appropriate set of coefficients which are used to evaluate a find the appropriate set of coefficients which are used to evaluate a
cubic polynomial which computes the energy or force. cubic polynomial which computes the energy or derivative.
</P> </P>
<P>The following coefficients must be defined for each angle type via the <P>The following coefficients must be defined for each angle type via the
<A HREF = "angle_coeff.html">angle_coeff</A> command as in the example above. <A HREF = "angle_coeff.html">angle_coeff</A> command as in the example above.
@ -50,9 +51,9 @@ cubic polynomial which computes the energy or force.
<UL><LI>filename <UL><LI>filename
<LI>keyword <LI>keyword
</UL> </UL>
<P>The filename specifies a file containing tabulated energy and force <P>The filename specifies a file containing tabulated energy and
values. The keyword specifies a section of the file. The format of derivative values. The keyword specifies a section of the file. The
this file is described below. format of this file is described below.
</P> </P>
<HR> <HR>
@ -65,7 +66,7 @@ parenthesized comments):
N 181 FP 0 0 EQ 90.0 (N, FP, EQ parameters) N 181 FP 0 0 EQ 90.0 (N, FP, EQ parameters)
(blank line) (blank line)
N 181 FP 0 0 (N, FP parameters) N 181 FP 0 0 (N, FP parameters)
1 0.0 200.5 2.5 (index, angle, energy, force) 1 0.0 200.5 2.5 (index, angle, energy, derivative)
2 1.0 198.0 2.5 2 1.0 198.0 2.5
... ...
181 180.0 0.0 0.0 181 180.0 0.0 0.0
@ -85,20 +86,20 @@ specified in the <A HREF = "angle_style.html">angle_style table</A> command. Le
Ntable = <I>N</I> in the angle_style command, and Nfile = "N" in the Ntable = <I>N</I> in the angle_style command, and Nfile = "N" in the
tabulated file. What LAMMPS does is a preliminary interpolation by tabulated file. What LAMMPS does is a preliminary interpolation by
creating splines using the Nfile tabulated values as nodal points. It creating splines using the Nfile tabulated values as nodal points. It
uses these to interpolate as needed to generate energy and force uses these to interpolate as needed to generate energy and derivative
values at Ntable different points. The resulting tables of length values at Ntable different points. The resulting tables of length
Ntable are then used as described above, when computing energy and Ntable are then used as described above, when computing energy and
force for individual angles. This means that if you want the force for individual angles and their atoms. This means that if you
interpolation tables of length Ntable to match exactly what is in the want the interpolation tables of length Ntable to match exactly what
tabulated file (with effectively no preliminary interpolation), you is in the tabulated file (with effectively no preliminary
should set Ntable = Nfile. interpolation), you should set Ntable = Nfile.
</P> </P>
<P>The "FP" parameter is optional. If used, it is followed by two values <P>The "FP" parameter is optional. If used, it is followed by two values
fplo and fphi, which are the derivatives of the force at the innermost fplo and fphi, which are the 2nd derivatives at the innermost and
and outermost angle settings. These values are needed by the spline outermost angle settings. These values are needed by the spline
construction routines. If not specified by the "FP" parameter, they construction routines. If not specified by the "FP" parameter, they
are estimated (less accurately) by the first two and last two force are estimated (less accurately) by the first two and last two
values in the table. derivative values in the table.
</P> </P>
<P>The "EQ" parameter is also optional. If used, it is followed by a the <P>The "EQ" parameter is also optional. If used, it is followed by a the
equilibrium angle value, which is used, for example, by the <A HREF = "fix_shake.html">fix equilibrium angle value, which is used, for example, by the <A HREF = "fix_shake.html">fix
@ -108,10 +109,13 @@ set to 180.0.
<P>Following a blank line, the next N lines list the tabulated values. <P>Following a blank line, the next N lines list the tabulated values.
On each line, the 1st value is the index from 1 to N, the 2nd value is On each line, the 1st value is the index from 1 to N, the 2nd value is
the angle value (in degrees), the 3rd value is the energy (in energy the angle value (in degrees), the 3rd value is the energy (in energy
units), and the 4th is the force (in force units). The angle values units), and the 4th is -dE/d(theta) (also in energy units). The 3rd
must increase from one line to the next. The angle values must also term is the energy of the 3-atom configuration for the specified
begin with 0.0 and end with 180.0, i.e. span the full range of angle. The last term is the derivative of the energy with respect to
possible angles. the angle (in degrees, not radians). Thus the units of the last term
are still energy, not force. The angle values must increase from one
line to the next. The angle values must also begin with 0.0 and end
with 180.0, i.e. span the full range of possible angles.
</P> </P>
<P>Note that one file can contain many sections, each with a tabulated <P>Note that one file can contain many sections, each with a tabulated
potential. LAMMPS reads the file section by section until it finds potential. LAMMPS reads the file section by section until it finds

View File

@ -23,23 +23,24 @@ angle_coeff 3 file.table ENTRY1 :pre
[Description:] [Description:]
Style {table} creates interpolation tables of length {N} from angle Style {table} creates interpolation tables of length {N} from angle
potential and force values listed in a file(s) as a function of angle potential and derivative values listed in a file(s) as a function of
The files are read by the "angle_coeff"_angle_coeff.html command. angle The files are read by the "angle_coeff"_angle_coeff.html
command.
The interpolation tables are created by fitting cubic splines to the The interpolation tables are created by fitting cubic splines to the
file values and interpolating energy and force values at each of {N} file values and interpolating energy and derivative values at each of
distances. During a simulation, these tables are used to interpolate {N} angles. During a simulation, these tables are used to interpolate
energy and force values as needed. The interpolation is done in one energy and force values on individual atoms as needed. The
of 2 styles: {linear} or {spline}. interpolation is done in one of 2 styles: {linear} or {spline}.
For the {linear} style, the angle is used to find 2 surrounding table For the {linear} style, the angle is used to find 2 surrounding table
values from which an energy or force is computed by linear values from which an energy or its derivative is computed by linear
interpolation. interpolation.
For the {spline} style, a cubic spline coefficients are computed and For the {spline} style, a cubic spline coefficients are computed and
stored at each of the {N} values in the table. The angle is used to stored at each of the {N} values in the table. The angle is used to
find the appropriate set of coefficients which are used to evaluate a find the appropriate set of coefficients which are used to evaluate a
cubic polynomial which computes the energy or force. cubic polynomial which computes the energy or derivative.
The following coefficients must be defined for each angle type via the The following coefficients must be defined for each angle type via the
"angle_coeff"_angle_coeff.html command as in the example above. "angle_coeff"_angle_coeff.html command as in the example above.
@ -47,9 +48,9 @@ The following coefficients must be defined for each angle type via the
filename filename
keyword :ul keyword :ul
The filename specifies a file containing tabulated energy and force The filename specifies a file containing tabulated energy and
values. The keyword specifies a section of the file. The format of derivative values. The keyword specifies a section of the file. The
this file is described below. format of this file is described below.
:line :line
@ -62,7 +63,7 @@ HAM (keyword is the first text on line)
N 181 FP 0 0 EQ 90.0 (N, FP, EQ parameters) N 181 FP 0 0 EQ 90.0 (N, FP, EQ parameters)
(blank line) (blank line)
N 181 FP 0 0 (N, FP parameters) N 181 FP 0 0 (N, FP parameters)
1 0.0 200.5 2.5 (index, angle, energy, force) 1 0.0 200.5 2.5 (index, angle, energy, derivative)
2 1.0 198.0 2.5 2 1.0 198.0 2.5
... ...
181 180.0 0.0 0.0 :pre 181 180.0 0.0 0.0 :pre
@ -82,20 +83,20 @@ specified in the "angle_style table"_angle_style.html command. Let
Ntable = {N} in the angle_style command, and Nfile = "N" in the Ntable = {N} in the angle_style command, and Nfile = "N" in the
tabulated file. What LAMMPS does is a preliminary interpolation by tabulated file. What LAMMPS does is a preliminary interpolation by
creating splines using the Nfile tabulated values as nodal points. It creating splines using the Nfile tabulated values as nodal points. It
uses these to interpolate as needed to generate energy and force uses these to interpolate as needed to generate energy and derivative
values at Ntable different points. The resulting tables of length values at Ntable different points. The resulting tables of length
Ntable are then used as described above, when computing energy and Ntable are then used as described above, when computing energy and
force for individual angles. This means that if you want the force for individual angles and their atoms. This means that if you
interpolation tables of length Ntable to match exactly what is in the want the interpolation tables of length Ntable to match exactly what
tabulated file (with effectively no preliminary interpolation), you is in the tabulated file (with effectively no preliminary
should set Ntable = Nfile. interpolation), you should set Ntable = Nfile.
The "FP" parameter is optional. If used, it is followed by two values The "FP" parameter is optional. If used, it is followed by two values
fplo and fphi, which are the derivatives of the force at the innermost fplo and fphi, which are the 2nd derivatives at the innermost and
and outermost angle settings. These values are needed by the spline outermost angle settings. These values are needed by the spline
construction routines. If not specified by the "FP" parameter, they construction routines. If not specified by the "FP" parameter, they
are estimated (less accurately) by the first two and last two force are estimated (less accurately) by the first two and last two
values in the table. derivative values in the table.
The "EQ" parameter is also optional. If used, it is followed by a the The "EQ" parameter is also optional. If used, it is followed by a the
equilibrium angle value, which is used, for example, by the "fix equilibrium angle value, which is used, for example, by the "fix
@ -105,10 +106,13 @@ set to 180.0.
Following a blank line, the next N lines list the tabulated values. Following a blank line, the next N lines list the tabulated values.
On each line, the 1st value is the index from 1 to N, the 2nd value is On each line, the 1st value is the index from 1 to N, the 2nd value is
the angle value (in degrees), the 3rd value is the energy (in energy the angle value (in degrees), the 3rd value is the energy (in energy
units), and the 4th is the force (in force units). The angle values units), and the 4th is -dE/d(theta) (also in energy units). The 3rd
must increase from one line to the next. The angle values must also term is the energy of the 3-atom configuration for the specified
begin with 0.0 and end with 180.0, i.e. span the full range of angle. The last term is the derivative of the energy with respect to
possible angles. the angle (in degrees, not radians). Thus the units of the last term
are still energy, not force. The angle values must increase from one
line to the next. The angle values must also begin with 0.0 and end
with 180.0, i.e. span the full range of possible angles.
Note that one file can contain many sections, each with a tabulated Note that one file can contain many sections, each with a tabulated
potential. LAMMPS reads the file section by section until it finds potential. LAMMPS reads the file section by section until it finds