forked from lijiext/lammps
126 lines
4.8 KiB
Plaintext
126 lines
4.8 KiB
Plaintext
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||
|
|
||
|
:link(lws,http://lammps.sandia.gov)
|
||
|
:link(ld,Manual.html)
|
||
|
:link(lc,Section_commands.html#comm)
|
||
|
|
||
|
:line
|
||
|
|
||
|
angle_style table command :h3
|
||
|
|
||
|
[Syntax:]
|
||
|
|
||
|
angle_style table style N :pre
|
||
|
|
||
|
style = {linear} or {spline} = method of interpolation
|
||
|
N = use N values in table :ul
|
||
|
|
||
|
[Examples:]
|
||
|
|
||
|
angle_style table linear 1000
|
||
|
angle_coeff 3 file.table ENTRY1 :pre
|
||
|
|
||
|
[Description:]
|
||
|
|
||
|
Style {table} creates interpolation tables of length {N} from angle
|
||
|
potential and force values listed in a file(s) as a function of angle
|
||
|
The files are read by the "angle_coeff"_angle_coeff.html command.
|
||
|
|
||
|
The interpolation tables are created by fitting cubic splines to the
|
||
|
file values and interpolating energy and force values at each of {N}
|
||
|
distances. During a simulation, these tables are used to interpolate
|
||
|
energy and force values as needed. The interpolation is done in one
|
||
|
of 2 styles: {linear} or {spline}.
|
||
|
|
||
|
For the {linear} style, the angle is used to find 2 surrounding table
|
||
|
values from which an energy or force is computed by linear
|
||
|
interpolation.
|
||
|
|
||
|
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
|
||
|
find the appropriate set of coefficients which are used to evaluate a
|
||
|
cubic polynomial which computes the energy or force.
|
||
|
|
||
|
The following coefficients must be defined for each angle type via the
|
||
|
"angle_coeff"_angle_coeff.html command as in the example above.
|
||
|
|
||
|
filename
|
||
|
keyword :ul
|
||
|
|
||
|
The filename specifies a file containing tabulated energy and force
|
||
|
values. The keyword specifies a section of the file. The format of
|
||
|
this file is described below.
|
||
|
|
||
|
:line
|
||
|
|
||
|
The format of a tabulated file is as follows (without the
|
||
|
parenthesized comments):
|
||
|
|
||
|
# Angle potential for harmonic (one or more comment or blank lines) :pre
|
||
|
|
||
|
HAM (keyword is the first text on line)
|
||
|
N 181 FP 0 0 EQ 90.0 (N, FP, EQ parameters)
|
||
|
(blank line)
|
||
|
N 181 FP 0 0 (N, FP parameters)
|
||
|
1 0.0 200.5 2.5 (index, angle, energy, force)
|
||
|
2 1.0 198.0 2.5
|
||
|
...
|
||
|
181 180.0 0.0 0.0 :pre
|
||
|
|
||
|
A section begins with a non-blank line whose 1st character is not a
|
||
|
"#"; blank lines or lines starting with "#" can be used as comments
|
||
|
between sections. The first line begins with a keyword which
|
||
|
identifies the section. The line can contain additional text, but the
|
||
|
initial text must match the argument specified in the
|
||
|
"angle_coeff"_angle_coeff.html command. The next line lists (in any
|
||
|
order) one or more parameters for the table. Each parameter is a
|
||
|
keyword followed by one or more numeric values.
|
||
|
|
||
|
The parameter "N" is required and its value is the number of table
|
||
|
entries that follow. Note that this may be different than the {N}
|
||
|
specified in the "angle_style table"_angle_style.html command. Let
|
||
|
Ntable = {N} in the angle_style command, and Nfile = "N" in the
|
||
|
tabulated file. What LAMMPS does is a preliminary interpolation by
|
||
|
creating splines using the Nfile tabulated values as nodal points. It
|
||
|
uses these to interpolate as needed to generate energy and force
|
||
|
values at Ntable different points. The resulting tables of length
|
||
|
Ntable are then used as described above, when computing energy and
|
||
|
force for individual angles. This means that if you want the
|
||
|
interpolation tables of length Ntable to match exactly what is in the
|
||
|
tabulated file (with effectively no preliminary interpolation), you
|
||
|
should set Ntable = Nfile.
|
||
|
|
||
|
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
|
||
|
and outermost angle settings. These values are needed by the spline
|
||
|
construction routines. If not specified by the "FP" parameter, they
|
||
|
are estimated (less accurately) by the first two and last two force
|
||
|
values in the table.
|
||
|
|
||
|
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
|
||
|
shake"_fix_shake.html command. If not used, the equilibrium angle is
|
||
|
set to 180.0.
|
||
|
|
||
|
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
|
||
|
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
|
||
|
must increase from one line to the next.
|
||
|
|
||
|
Note that one file can contain many sections, each with a tabulated
|
||
|
potential. LAMMPS reads the file section by section until it finds
|
||
|
one that matches the specified keyword.
|
||
|
|
||
|
[Restrictions:]
|
||
|
|
||
|
This angle style can only be used if LAMMPS was built with the
|
||
|
"molecular" package (which it is by default). See the "Making
|
||
|
LAMMPS"_Section_start.html#2_3 section for more info on packages.
|
||
|
|
||
|
[Related commands:]
|
||
|
|
||
|
"angle_coeff"_angle_coeff.html
|
||
|
|
||
|
[Default:] none
|