forked from lijiext/lammps
431 lines
22 KiB
HTML
431 lines
22 KiB
HTML
|
|
|
|
<!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>pair_style table command — LAMMPS documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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 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>pair_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="pair-style-table-command">
|
|
<span id="index-0"></span><h1>pair_style table command</h1>
|
|
</div>
|
|
<div class="section" id="pair-style-table-gpu-command">
|
|
<h1>pair_style table/gpu command</h1>
|
|
</div>
|
|
<div class="section" id="pair-style-table-kk-command">
|
|
<h1>pair_style table/kk command</h1>
|
|
</div>
|
|
<div class="section" id="pair-style-table-omp-command">
|
|
<h1>pair_style table/omp command</h1>
|
|
<div class="section" id="syntax">
|
|
<h2>Syntax</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">table</span> <span class="n">style</span> <span class="n">N</span> <span class="n">keyword</span> <span class="o">...</span>
|
|
</pre></div>
|
|
</div>
|
|
<ul class="simple">
|
|
<li>style = <em>lookup</em> or <em>linear</em> or <em>spline</em> or <em>bitmap</em> = method of interpolation</li>
|
|
<li>N = use N values in <em>lookup</em>, <em>linear</em>, <em>spline</em> tables</li>
|
|
<li>N = use 2^N values in <em>bitmap</em> tables</li>
|
|
<li>zero or more keywords may be appended</li>
|
|
<li>keyword = <em>ewald</em> or <em>pppm</em> or <em>msm</em> or <em>dispersion</em> or <em>tip4p</em></li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="examples">
|
|
<h2>Examples</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">table</span> <span class="n">linear</span> <span class="mi">1000</span>
|
|
<span class="n">pair_style</span> <span class="n">table</span> <span class="n">linear</span> <span class="mi">1000</span> <span class="n">pppm</span>
|
|
<span class="n">pair_style</span> <span class="n">table</span> <span class="n">bitmap</span> <span class="mi">12</span>
|
|
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="mi">3</span> <span class="n">morse</span><span class="o">.</span><span class="n">table</span> <span class="n">ENTRY1</span>
|
|
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="mi">3</span> <span class="n">morse</span><span class="o">.</span><span class="n">table</span> <span class="n">ENTRY1</span> <span class="mf">7.0</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description</h2>
|
|
<p>Style <em>table</em> creates interpolation tables from potential energy and
|
|
force values listed in a file(s) as a function of distance. When
|
|
performing dynamics or minimation, the interpolation tables are used
|
|
to evaluate energy and forces for pairwise interactions between
|
|
particles, similar to how analytic formulas are used for other pair
|
|
styles.</p>
|
|
<p>The interpolation tables are created as a pre-computation by fitting
|
|
cubic splines to the file values and interpolating energy and force
|
|
values at each of <em>N</em> distances. During a simulation, the tables are
|
|
used to interpolate energy and force values as needed for each pair of
|
|
particles separated by a distance <em>R</em>. The interpolation is done in
|
|
one of 4 styles: <em>lookup</em>, <em>linear</em>, <em>spline</em>, or <em>bitmap</em>.</p>
|
|
<p>For the <em>lookup</em> style, the distance <em>R</em> is used to find the nearest
|
|
table entry, which is the energy or force.</p>
|
|
<p>For the <em>linear</em> style, the distance <em>R</em> is used to find the 2
|
|
surrounding table values from which an energy or force is computed by
|
|
linear interpolation.</p>
|
|
<p>For the <em>spline</em> style, a cubic spline coefficients are computed and
|
|
stored for each of the <em>N</em> values in the table, one set of splines for
|
|
energy, another for force. Note that these splines are different than
|
|
the ones used to pre-compute the <em>N</em> values. Those splines were fit
|
|
to the <em>Nfile</em> values in the tabulated file, where often <em>Nfile</em> <
|
|
<em>N</em>. The distance <em>R</em> is used to find the appropriate set of spline
|
|
coefficients which are used to evaluate a cubic polynomial which
|
|
computes the energy or force.</p>
|
|
<p>For the <em>bitmap</em> style, the specified <em>N</em> is used to create
|
|
interpolation tables that are 2^N in length. The distance <em>R</em> is used
|
|
to index into the table via a fast bit-mapping technique due to
|
|
<a class="reference internal" href="pair_table_rx.html#wolff"><span class="std std-ref">(Wolff)</span></a>, and a linear interpolation is performed between
|
|
adjacent table values.</p>
|
|
<p>The following coefficients must be defined for each pair of atoms
|
|
types via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command as in the examples
|
|
above.</p>
|
|
<ul class="simple">
|
|
<li>filename</li>
|
|
<li>keyword</li>
|
|
<li>cutoff (distance units)</li>
|
|
</ul>
|
|
<p>The filename specifies a file containing tabulated energy and force
|
|
values. The keyword specifies a section of the file. The cutoff is
|
|
an optional coefficient. If not specified, the outer cutoff in the
|
|
table itself (see below) will be used to build an interpolation table
|
|
that extend to the largest tabulated distance. If specified, only
|
|
file values up to the cutoff are used to create the interpolation
|
|
table. The format of this file is described below.</p>
|
|
<p>If your tabulated potential(s) are designed to be used as the
|
|
short-range part of one of the long-range solvers specified by the
|
|
<a class="reference internal" href="kspace_style.html"><span class="doc">kspace_style</span></a> command, then you must use one or
|
|
more of the optional keywords listed above for the pair_style command.
|
|
These are <em>ewald</em> or <em>pppm</em> or <em>msm</em> or <em>dispersion</em> or <em>tip4p</em>. This
|
|
is so LAMMPS can insure the short-range potential and long-range
|
|
solver are compatible with each other, as it does for other
|
|
short-range pair styles, such as <a class="reference internal" href="pair_lj.html"><span class="doc">pair_style lj/cut/coul/long</span></a>. Note that it is up to you to insure
|
|
the tabulated values for each pair of atom types has the correct
|
|
functional form to be compatible with the matching long-range solver.</p>
|
|
<hr class="docutils" />
|
|
<p>Here are some guidelines for using the pair_style table command to
|
|
best effect:</p>
|
|
<ul class="simple">
|
|
<li>Vary the number of table points; you may need to use more than you think
|
|
to get good resolution.</li>
|
|
<li>Always use the <a class="reference internal" href="pair_write.html"><span class="doc">pair_write</span></a> command to produce a plot
|
|
of what the final interpolated potential looks like. This can show up
|
|
interpolation “features” you may not like.</li>
|
|
<li>Start with the linear style; it’s the style least likely to have problems.</li>
|
|
<li>Use <em>N</em> in the pair_style command equal to the “N” in the tabulation
|
|
file, and use the “RSQ” or “BITMAP” parameter, so additional interpolation
|
|
is not needed. See discussion below.</li>
|
|
<li>Make sure that your tabulated forces and tabulated energies are
|
|
consistent (dE/dr = -F) over the entire range of r values. LAMMPS
|
|
will warn if this is not the case.</li>
|
|
<li>Use as large an inner cutoff as possible. This avoids fitting splines
|
|
to very steep parts of the potential.</li>
|
|
</ul>
|
|
<hr class="docutils" />
|
|
<p>The format of a tabulated file is a series of one or more sections,
|
|
defined as follows (without the parenthesized comments):</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># Morse potential for Fe (one or more comment or blank lines)</span>
|
|
</pre></div>
|
|
</div>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">MORSE_FE</span> <span class="p">(</span><span class="n">keyword</span> <span class="ow">is</span> <span class="n">first</span> <span class="n">text</span> <span class="n">on</span> <span class="n">line</span><span class="p">)</span>
|
|
<span class="n">N</span> <span class="mi">500</span> <span class="n">R</span> <span class="mf">1.0</span> <span class="mf">10.0</span> <span class="p">(</span><span class="n">N</span><span class="p">,</span> <span class="n">R</span><span class="p">,</span> <span class="n">RSQ</span><span class="p">,</span> <span class="n">BITMAP</span><span class="p">,</span> <span class="n">FPRIME</span> <span class="n">parameters</span><span class="p">)</span>
|
|
<span class="p">(</span><span class="n">blank</span><span class="p">)</span>
|
|
<span class="mi">1</span> <span class="mf">1.0</span> <span class="mf">25.5</span> <span class="mf">102.34</span> <span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">r</span><span class="p">,</span> <span class="n">energy</span><span class="p">,</span> <span class="n">force</span><span class="p">)</span>
|
|
<span class="mi">2</span> <span class="mf">1.02</span> <span class="mf">23.4</span> <span class="mf">98.5</span>
|
|
<span class="o">...</span>
|
|
<span class="mi">500</span> <span class="mf">10.0</span> <span class="mf">0.001</span> <span class="mf">0.003</span>
|
|
</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
|
|
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 pair_coeff
|
|
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.</p>
|
|
<p>The parameter “N” is required and its value is the number of table
|
|
entries that follow. Note that this may be different than the <em>N</em>
|
|
specified in the <a class="reference internal" href="pair_style.html"><span class="doc">pair_style table</span></a> command. Let
|
|
Ntable = <em>N</em> in the pair_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 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 pair
|
|
distances. 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, and use the “RSQ” or “BITMAP” parameter. This is because the
|
|
internal table abscissa is always RSQ (separation distance squared),
|
|
for efficient lookup.</p>
|
|
<p>All other parameters are optional. If “R” or “RSQ” or “BITMAP” does
|
|
not appear, then the distances in each line of the table are used
|
|
as-is to perform spline interpolation. In this case, the table values
|
|
can be spaced in <em>r</em> uniformly or however you wish to position table
|
|
values in regions of large gradients.</p>
|
|
<p>If used, the parameters “R” or “RSQ” are followed by 2 values <em>rlo</em>
|
|
and <em>rhi</em>. If specified, the distance associated with each energy and
|
|
force value is computed from these 2 values (at high accuracy), rather
|
|
than using the (low-accuracy) value listed in each line of the table.
|
|
The distance values in the table file are ignored in this case.
|
|
For “R”, distances uniformly spaced between <em>rlo</em> and <em>rhi</em> are
|
|
computed; for “RSQ”, squared distances uniformly spaced between
|
|
<em>rlo*rlo</em> and <em>rhi*rhi</em> are computed.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">If you use “R” or “RSQ”, the tabulated distance values in the
|
|
file are effectively ignored, and replaced by new values as described
|
|
in the previous paragraph. If the distance value in the table is not
|
|
very close to the new value (i.e. round-off difference), then you will
|
|
be assingning energy/force values to a different distance, which is
|
|
probably not what you want. LAMMPS will warn if this is occurring.</p>
|
|
</div>
|
|
<p>If used, the parameter “BITMAP” is also followed by 2 values <em>rlo</em> and
|
|
<em>rhi</em>. These values, along with the “N” value determine the ordering
|
|
of the N lines that follow and what distance is associated with each.
|
|
This ordering is complex, so it is not documented here, since this
|
|
file is typically produced by the <a class="reference internal" href="pair_write.html"><span class="doc">pair_write</span></a> command
|
|
with its <em>bitmap</em> option. When the table is in BITMAP format, the “N”
|
|
parameter in the file must be equal to 2^M where M is the value
|
|
specified in the pair_style command. Also, a cutoff parameter cannot
|
|
be used as an optional 3rd argument in the pair_coeff command; the
|
|
entire table extent as specified in the file must be used.</p>
|
|
<p>If used, the parameter “FPRIME” is followed by 2 values <em>fplo</em> and
|
|
<em>fphi</em> which are the derivative of the force at the innermost and
|
|
outermost distances listed in the table. These values are needed by
|
|
the spline construction routines. If not specified by the “FPRIME”
|
|
parameter, they are estimated (less accurately) by the first 2 and
|
|
last 2 force values in the table. This parameter is not used by
|
|
BITMAP tables.</p>
|
|
<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
|
|
r (in distance units), the 3rd value is the energy (in energy units),
|
|
and the 4th is the force (in force units). The r values must increase
|
|
from one line to the next (unless the BITMAP parameter is specified).</p>
|
|
<p>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.</p>
|
|
<hr class="docutils" />
|
|
<p>Styles with a <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are
|
|
functionally the same as the corresponding style without the suffix.
|
|
They have been optimized to run faster, depending on your available
|
|
hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><span class="doc">Section_accelerate</span></a>
|
|
of the manual. The accelerated styles take the same arguments and
|
|
should produce the same results, except for round-off and precision
|
|
issues.</p>
|
|
<p>These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
|
USER-OMP and OPT packages, respectively. They are only enabled if
|
|
LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">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-7"><span class="std std-ref">-suffix command-line switch</span></a> when you invoke LAMMPS, or you can
|
|
use the <a class="reference internal" href="suffix.html"><span class="doc">suffix</span></a> command in your input script.</p>
|
|
<p>See <a class="reference internal" href="Section_accelerate.html"><span class="doc">Section_accelerate</span></a> of the manual for
|
|
more instructions on how to use the accelerated styles effectively.</p>
|
|
<hr class="docutils" />
|
|
<p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p>
|
|
<p>This pair style does not support mixing. Thus, coefficients for all
|
|
I,J pairs must be specified explicitly.</p>
|
|
<p>The <a class="reference internal" href="pair_modify.html"><span class="doc">pair_modify</span></a> shift, table, and tail options are
|
|
not relevant for this pair style.</p>
|
|
<p>This pair style writes the settings for the “pair_style table” command
|
|
to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>, so a pair_style command does
|
|
not need to specified in an input script that reads a restart file.
|
|
However, the coefficient information is not stored in the restart
|
|
file, since it is tabulated in the potential files. Thus, pair_coeff
|
|
commands do need to be specified in the restart input script.</p>
|
|
<p>This pair style can only be used via the <em>pair</em> keyword of the
|
|
<a class="reference internal" href="run_style.html"><span class="doc">run_style respa</span></a> command. It does not support the
|
|
<em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="restrictions">
|
|
<h2>Restrictions</h2>
|
|
<blockquote>
|
|
<div>none</div></blockquote>
|
|
</div>
|
|
<div class="section" id="related-commands">
|
|
<h2>Related commands</h2>
|
|
<p><a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a>, <a class="reference internal" href="pair_write.html"><span class="doc">pair_write</span></a></p>
|
|
<p><strong>Default:</strong> none</p>
|
|
<hr class="docutils" />
|
|
<p id="wolff"><strong>(Wolff)</strong> Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2013 Sandia Corporation.
|
|
</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:'',
|
|
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> |