2012-01-11 04:58:04 +08:00
2015-07-30 22:53:28 +08:00
<!DOCTYPE html>
<!-- [if IE 8]><html class="no - js lt - ie9" lang="en" > <![endif] -->
<!-- [if gt IE 8]><! --> < html class = "no-js" lang = "en" > <!-- <![endif] -->
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > dihedral_style table command — LAMMPS 15 May 2015 version documentation< / title >
2012-01-11 04:58:04 +08:00
2015-07-30 22:53:28 +08:00
2012-01-11 04:58:04 +08:00
2015-07-30 22:53:28 +08:00
2012-01-11 04:58:04 +08:00
2015-07-30 22:53:28 +08:00
2012-01-11 04:58:04 +08:00
2015-07-30 22:53:28 +08:00
2012-01-11 04:58:04 +08:00
2015-07-30 22:53:28 +08:00
< link rel = "stylesheet" href = "_static/css/theme.css" type = "text/css" / >
< link rel = "stylesheet" href = "_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type = "text/css" / >
< link rel = "top" title = "LAMMPS 15 May 2015 version documentation" href = "index.html" / >
< script src = "_static/js/modernizr.min.js" > < / script >
< / head >
< body class = "wy-body-for-nav" role = "document" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-nav-search" >
< a href = "Manual.html" class = "icon icon-home" > LAMMPS
< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div >
< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "main navigation" >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_intro.html" > 1. Introduction< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_start.html" > 2. Getting Started< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_commands.html" > 3. Commands< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_packages.html" > 4. Packages< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_accelerate.html" > 5. Accelerating LAMMPS performance< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_howto.html" > 6. How-to discussions< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_example.html" > 7. Example problems< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_perf.html" > 8. Performance & scalability< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_tools.html" > 9. Additional tools< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_modify.html" > 10. Modifying & extending LAMMPS< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_python.html" > 11. Python interface to LAMMPS< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_errors.html" > 12. Errors< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "Section_history.html" > 13. Future and history< / a > < / li >
< / ul >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >
< nav class = "wy-nav-top" role = "navigation" aria-label = "top navigation" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "Manual.html" > LAMMPS< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "breadcrumbs navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "Manual.html" > Docs< / a > » < / li >
< li > dihedral_style table command< / li >
< li class = "wy-breadcrumbs-aside" >
< a href = "http://lammps.sandia.gov" > Website< / a >
< a href = "Section_commands.html#comm" > Commands< / a >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
< div class = "section" id = "dihedral-style-table-command" >
< span id = "index-0" > < / span > < h1 > dihedral_style table command< a class = "headerlink" href = "#dihedral-style-table-command" title = "Permalink to this headline" > ¶< / a > < / h1 >
< / div >
< div class = "section" id = "dihedral-style-table-omp-command" >
< h1 > dihedral_style table/omp command< a class = "headerlink" href = "#dihedral-style-table-omp-command" title = "Permalink to this headline" > ¶< / a > < / h1 >
< div class = "section" id = "syntax" >
< h2 > Syntax< a class = "headerlink" href = "#syntax" title = "Permalink to this headline" > ¶< / a > < / h2 >
< div class = "highlight-python" > < div class = "highlight" > < pre > dihedral_style table style Ntable
< / pre > < / div >
< / div >
< ul class = "simple" >
< li > style = < em > linear< / em > or < em > spline< / em > = method of interpolation< / li >
< li > Ntable = size of the internal lookup table< / li >
< / ul >
< / div >
< div class = "section" id = "examples" >
< h2 > Examples< a class = "headerlink" href = "#examples" title = "Permalink to this headline" > ¶< / a > < / h2 >
< div class = "highlight-python" > < div class = "highlight" > < pre > dihedral_style table spline 400
2012-01-11 04:58:04 +08:00
dihedral_style table linear 1000
dihedral_coeff 1 file.table DIH_TABLE1
2015-07-30 22:53:28 +08:00
dihedral_coeff 2 file.table DIH_TABLE2
< / pre > < / div >
< / div >
< / div >
< div class = "section" id = "description" >
< h2 > Description< a class = "headerlink" href = "#description" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > The < em > table< / em > dihedral style creates interpolation tables of length
< em > Ntable< / em > from dihedral potential and derivative values listed in a
file(s) as a function of the dihedral angle “ phi” . The files are read
by the < a class = "reference internal" href = "dihedral_coeff.html" > < em > dihedral_coeff< / em > < / a > command.< / p >
< p > The interpolation tables are created by fitting cubic splines to the
2012-01-11 04:58:04 +08:00
file values and interpolating energy and derivative values at each of
2015-07-30 22:53:28 +08:00
< em > Ntable< / em > dihedral angles. During a simulation, these tables are used
2012-01-11 04:58:04 +08:00
to interpolate energy and force values on individual atoms as
2015-07-30 22:53:28 +08:00
needed. The interpolation is done in one of 2 styles: < em > linear< / em > or
< em > spline< / em > .< / p >
< p > For the < em > linear< / em > style, the dihedral angle (phi) is used to find 2
2012-01-11 04:58:04 +08:00
surrounding table values from which an energy or its derivative is
2015-07-30 22:53:28 +08:00
computed by linear interpolation.< / p >
< p > For the < em > spline< / em > style, cubic spline coefficients are computed and
stored at each of the < em > Ntable< / em > evenly-spaced values in the
2012-01-11 04:58:04 +08:00
interpolated table. For a given dihedral angle (phi), the appropriate
coefficients are chosen from this list, and a cubic polynomial is used
2015-07-30 22:53:28 +08:00
to compute the energy and the derivative at this angle.< / p >
< p > The following coefficients must be defined for each dihedral type via
the < a class = "reference internal" href = "dihedral_coeff.html" > < em > dihedral_coeff< / em > < / a > command as in the example
above.< / p >
< ul class = "simple" >
< li > filename< / li >
< li > keyword< / li >
< / ul >
< p > The filename specifies a file containing tabulated energy and
2012-01-11 04:58:04 +08:00
derivative values. The keyword specifies a section of the file. The
2015-07-30 22:53:28 +08:00
format of this file is described below.< / p >
< hr class = "docutils" / >
< p > The format of a tabulated file is as follows (without the
2012-01-11 04:58:04 +08:00
parenthesized comments). It can begin with one or more comment
2015-07-30 22:53:28 +08:00
or blank lines.< / p >
< div class = "highlight-python" > < div class = "highlight" > < pre > < span class = "c" > # Table of the potential and its negative derivative< / span >
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > DIH_TABLE1 (keyword is the first text on line)
2012-01-11 04:58:04 +08:00
N 30 DEGREES (N, NOF, DEGREES, RADIANS, CHECKU/F)
(blank line)
1 -168.0 -1.40351172223 -0.0423346818422
2 -156.0 -1.70447981034 -0.00811786522531
3 -144.0 -1.62956100432 0.0184129719987
2012-03-07 23:55:21 +08:00
...
2015-07-30 22:53:28 +08:00
30 180.0 -0.707106781187 -0.0719306095245
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > < span class = "c" > # Example 2: table of the potential. Forces omitted< / span >
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > DIH_TABLE2
N 30 NOF CHECKU testU.dat CHECKF testF.dat
< / pre > < / div >
< / div >
< div class = "highlight-python" > < div class = "highlight" > < pre > 1 -168.0 -1.40351172223
2012-01-11 04:58:04 +08:00
2 -156.0 -1.70447981034
3 -144.0 -1.62956100432
2012-03-07 23:55:21 +08:00
...
2015-07-30 22:53:28 +08:00
30 180.0 -0.707106781187
< / pre > < / div >
< / div >
< p > 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
2012-01-11 04:58:04 +08:00
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
2015-07-30 22:53:28 +08:00
< a class = "reference internal" href = "dihedral_coeff.html" > < em > dihedral_coeff< / em > < / a > command. The next line lists (in
2012-01-11 04:58:04 +08:00
any order) one or more parameters for the table. Each parameter is a
2015-07-30 22:53:28 +08:00
keyword followed by one or more numeric values.< / p >
< p > Following a blank line, the next N lines list the tabulated values. On
2012-01-11 04:58:04 +08:00
each line, the 1st value is the index from 1 to N, the 2nd value is
the angle value, the 3rd value is the energy (in energy units), and
2012-03-09 22:59:48 +08:00
the 4th is -dE/d(phi) also in energy units). The 3rd term is the
energy of the 4-atom configuration for the specified angle. The 4th
2012-01-11 04:58:04 +08:00
term (when present) is the negative derivative of the energy with
respect to the angle (in degrees, or radians depending on whether the
user selected DEGREES or RADIANS). Thus the units of the last term
are still energy, not force. The dihedral angle values must increase
2015-07-30 22:53:28 +08:00
from one line to the next.< / p >
< p > Dihedral table splines are cyclic. There is no discontinuity at 180
2012-01-11 04:58:04 +08:00
degrees (or at any other angle). Although in the examples above, the
angles range from -180 to 180 degrees, in general, the first angle in
the list can have any value (positive, zero, or negative). However
2015-07-30 22:53:28 +08:00
the < em > range< / em > of angles represented in the table must be < em > strictly< / em > less
2012-01-11 04:58:04 +08:00
than 360 degrees (2pi radians) to avoid angle overlap. (You may not
supply entries in the table for both 180 and -180, for example.) If
2015-07-30 22:53:28 +08:00
the user’ s table covers only a narrow range of dihedral angles,
strange numerical behavior can occur in the large remaining gap.< / p >
< p > < strong > Parameters:< / strong > < / p >
< p > The parameter “ N” is required and its value is the number of table
2012-01-11 04:58:04 +08:00
entries that follow. Note that this may be different than the N
2015-07-30 22:53:28 +08:00
specified in the < a class = "reference internal" href = "dihedral_style.html" > < em > dihedral_style table< / em > < / a > command.
Let < em > Ntable< / em > is the number of table entries requested dihedral_style
command, and let < em > Nfile< / em > be the parameter following “ N” in the
tabulated file (“ 30” in the sparse example above). What LAMMPS does
is a preliminary interpolation by creating splines using the < em > Nfile< / em >
2012-01-11 04:58:04 +08:00
tabulated values as nodal points. It uses these to interpolate as
2015-07-30 22:53:28 +08:00
needed to generate energy and derivative values at < em > Ntable< / em > different
2012-01-11 04:58:04 +08:00
points (which are evenly spaced over a 360 degree range, even if the
2015-07-30 22:53:28 +08:00
angles in the file are not). The resulting tables of length < em > Ntable< / em >
2012-01-11 04:58:04 +08:00
are then used as described above, when computing energy and force for
individual dihedral angles and their atoms. This means that if you
2015-07-30 22:53:28 +08:00
want the interpolation tables of length < em > Ntable< / em > to match exactly what
2012-01-11 04:58:04 +08:00
is in the tabulated file (with effectively nopreliminary
2015-07-30 22:53:28 +08:00
interpolation), you should set < em > Ntable< / em > = < em > Nfile< / em > . To insure the
nodal points in the user’ s file are aligned with the interpolated
2012-01-11 04:58:04 +08:00
table entries, the angles in the table should be integer multiples of
2015-07-30 22:53:28 +08:00
360/< em > Ntable< / em > degrees, or 2*PI/< em > Ntable< / em > radians (depending on your
choice of angle units).< / p >
< p > The optional “ NOF” keyword allows the user to omit the forces
2012-01-11 04:58:04 +08:00
(negative energy derivatives) from the table file (normally located in
the 4th column). In their place, forces will be calculated
automatically by differentiating the potential energy function
indicated by the 3rd column of the table (using either linear or
2015-07-30 22:53:28 +08:00
spline interpolation).< / p >
< p > The optional “ DEGREES” keyword allows the user to specify angles in
degrees instead of radians (default).< / p >
< p > The optional “ RADIANS” keyword allows the user to specify angles in
2012-01-11 04:58:04 +08:00
radians instead of degrees. (Note: This changes the way the forces
2015-07-30 22:53:28 +08:00
are scaled in the 4th column of the data file.)< / p >
< p > The optional “ CHECKU” keyword is followed by a filename. This allows
the user to save all of the the < em > Ntable< / em > different entries in the
2012-01-11 04:58:04 +08:00
interpolated energy table to a file to make sure that the interpolated
2015-07-30 22:53:28 +08:00
function agrees with the user’ s expectations. (Note: You can
temporarily increase the < em > Ntable< / em > parameter to a high value for this
purpose. “ < em > Ntable< / em > ” is explained above.)< / p >
< p > The optional “ CHECKF” keyword is analogous to the “ CHECKU” keyword.
2012-01-11 04:58:04 +08:00
It is followed by a filename, and it allows the user to check the
interpolated force table. This option is available even if the user
2015-07-30 22:53:28 +08:00
selected the “ NOF” option.< / p >
< p > Note that one file can contain many sections, each with a tabulated
2012-01-11 04:58:04 +08:00
potential. LAMMPS reads the file section by section until it finds one
2015-07-30 22:53:28 +08:00
that matches the specified keyword.< / p >
< hr class = "docutils" / >
< p > Styles with a < em > cuda< / em > , < em > gpu< / em > , < em > intel< / em > , < em > kk< / em > , < em > omp< / em > , or < em > opt< / em > suffix are
2014-08-15 00:30:25 +08:00
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
2015-07-30 22:53:28 +08:00
hardware, as discussed in < a class = "reference internal" href = "Section_accelerate.html" > < em > Section_accelerate< / em > < / a >
2014-08-15 00:30:25 +08:00
of the manual. The accelerated styles take the same arguments and
should produce the same results, except for round-off and precision
2015-07-30 22:53:28 +08:00
issues.< / p >
< p > These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL,
2014-08-15 00:30:25 +08:00
KOKKOS, USER-OMP and OPT packages, respectively. They are only
2015-07-30 22:53:28 +08:00
enabled if LAMMPS was built with those packages. See the < a class = "reference internal" href = "Section_start.html#start-3" > < span > Making LAMMPS< / span > < / a > section for more info.< / p >
< p > You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the < a class = "reference internal" href = "Section_start.html#start-6" > < span > -suffix command-line switch< / span > < / a > when you invoke LAMMPS, or you can
use the < a class = "reference internal" href = "suffix.html" > < em > suffix< / em > < / a > command in your input script.< / p >
< p > See < a class = "reference internal" href = "Section_accelerate.html" > < em > Section_accelerate< / em > < / a > of the manual for
more instructions on how to use the accelerated styles effectively.< / p >
< / div >
< div class = "section" id = "restrictions" >
< h2 > Restrictions< a class = "headerlink" href = "#restrictions" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > This dihedral style can only be used if LAMMPS was built with the
USER-MISC package. See the < span class = "xref std std-ref" > Making LAMMPS< / span >
section for more info on packages.< / p >
< / div >
< div class = "section" id = "related-commands" >
< h2 > Related commands< a class = "headerlink" href = "#related-commands" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > < a class = "reference internal" href = "dihedral_coeff.html" > < em > dihedral_coeff< / em > < / a > < / p >
< p > < strong > Default:< / strong > none< / p >
< / div >
< / div >
< / div >
< / div >
< footer >
< hr / >
< div role = "contentinfo" >
< p >
© Copyright .
< / p >
< / div >
Built with < a href = "http://sphinx-doc.org/" > Sphinx< / a > using a < a href = "https://github.com/snide/sphinx_rtd_theme" > theme< / a > provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script type = "text/javascript" >
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'15 May 2015 version',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
< / script >
< script type = "text/javascript" src = "_static/jquery.js" > < / script >
< script type = "text/javascript" src = "_static/underscore.js" > < / script >
< script type = "text/javascript" src = "_static/doctools.js" > < / script >
< script type = "text/javascript" src = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" > < / script >
< script type = "text/javascript" src = "_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js" > < / script >
< script type = "text/javascript" src = "_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js" > < / script >
< script type = "text/javascript" src = "_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js" > < / script >
< script type = "text/javascript" src = "_static/js/theme.js" > < / script >
< script type = "text/javascript" >
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
< / script >
< / body >
< / html >