forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14658 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
08b53bb709
commit
f705ef5600
|
@ -6354,7 +6354,11 @@ flags for the 2 atoms in a bond that straddles a periodic boundary.
|
||||||
They should be different by 1 in that case. This is a warning because
|
They should be different by 1 in that case. This is a warning because
|
||||||
inconsistent image flags will not cause problems for dynamics or most
|
inconsistent image flags will not cause problems for dynamics or most
|
||||||
LAMMPS simulations. However they can cause problems when such atoms
|
LAMMPS simulations. However they can cause problems when such atoms
|
||||||
are used with the fix rigid or replicate commands.</dd>
|
are used with the fix rigid or replicate commands. Note that if you
|
||||||
|
have an infinite periodic crystal with bonds then it is impossible to
|
||||||
|
have fully consistent image flags, since some bonds will cross
|
||||||
|
periodic boundaries and connect two atoms with the same image
|
||||||
|
flag.</dd>
|
||||||
<dt><em>KIM Model does not provide `energy’; Potential energy will be zero</em></dt>
|
<dt><em>KIM Model does not provide `energy’; Potential energy will be zero</em></dt>
|
||||||
<dd>Self-explanatory.</dd>
|
<dd>Self-explanatory.</dd>
|
||||||
<dt><em>KIM Model does not provide `forces’; Forces will be zero</em></dt>
|
<dt><em>KIM Model does not provide `forces’; Forces will be zero</em></dt>
|
||||||
|
|
|
@ -11346,7 +11346,11 @@ flags for the 2 atoms in a bond that straddles a periodic boundary.
|
||||||
They should be different by 1 in that case. This is a warning because
|
They should be different by 1 in that case. This is a warning because
|
||||||
inconsistent image flags will not cause problems for dynamics or most
|
inconsistent image flags will not cause problems for dynamics or most
|
||||||
LAMMPS simulations. However they can cause problems when such atoms
|
LAMMPS simulations. However they can cause problems when such atoms
|
||||||
are used with the fix rigid or replicate commands. :dd
|
are used with the fix rigid or replicate commands. Note that if you
|
||||||
|
have an infinite periodic crystal with bonds then it is impossible to
|
||||||
|
have fully consistent image flags, since some bonds will cross
|
||||||
|
periodic boundaries and connect two atoms with the same image
|
||||||
|
flag. :dd
|
||||||
|
|
||||||
{KIM Model does not provide `energy'; Potential energy will be zero} :dt
|
{KIM Model does not provide `energy'; Potential energy will be zero} :dt
|
||||||
|
|
||||||
|
|
|
@ -8804,7 +8804,11 @@ Warnings:
|
||||||
They should be different by 1 in that case. This is a warning because
|
They should be different by 1 in that case. This is a warning because
|
||||||
inconsistent image flags will not cause problems for dynamics or most
|
inconsistent image flags will not cause problems for dynamics or most
|
||||||
LAMMPS simulations. However they can cause problems when such atoms
|
LAMMPS simulations. However they can cause problems when such atoms
|
||||||
are used with the fix rigid or replicate commands.
|
are used with the fix rigid or replicate commands. Note that if you
|
||||||
|
have an infinite periodic crystal with bonds then it is impossible to
|
||||||
|
have fully consistent image flags, since some bonds will cross
|
||||||
|
periodic boundaries and connect two atoms with the same image
|
||||||
|
flag.
|
||||||
|
|
||||||
*KIM Model does not provide `energy'; Potential energy will be zero*
|
*KIM Model does not provide `energy'; Potential energy will be zero*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
|
@ -129,7 +129,7 @@ in the pair section of :ref:`this page <cmd_5>`.
|
||||||
* :doc:`pair_style coul/long <pair_coul>` - long-range Coulombic potential
|
* :doc:`pair_style coul/long <pair_coul>` - long-range Coulombic potential
|
||||||
* :doc:`pair_style coul/long/cs <pair_coul>` - long-range Coulombic potential and core/shell
|
* :doc:`pair_style coul/long/cs <pair_coul>` - long-range Coulombic potential and core/shell
|
||||||
* :doc:`pair_style coul/msm <pair_coul>` - long-range MSM Coulombics
|
* :doc:`pair_style coul/msm <pair_coul>` - long-range MSM Coulombics
|
||||||
* :doc:`pair_style coul/msm <pair_coul_streitz>` - Coulombics via Streitz/Mintmire Slater orbitals
|
* :doc:`pair_style coul/streitz <pair_coul>` - Coulombics via Streitz/Mintmire Slater orbitals
|
||||||
* :doc:`pair_style coul/wolf <pair_coul>` - Coulombics via Wolf potential
|
* :doc:`pair_style coul/wolf <pair_coul>` - Coulombics via Wolf potential
|
||||||
* :doc:`pair_style dpd <pair_dpd>` - dissipative particle dynamics (DPD)
|
* :doc:`pair_style dpd <pair_dpd>` - dissipative particle dynamics (DPD)
|
||||||
* :doc:`pair_style dpd/tstat <pair_dpd>` - DPD thermostatting
|
* :doc:`pair_style dpd/tstat <pair_dpd>` - DPD thermostatting
|
||||||
|
@ -205,7 +205,7 @@ in the pair section of :ref:`this page <cmd_5>`.
|
||||||
* :doc:`pair_style tip4p/cut <pair_coul>` - Coulomb for TIP4P water w/out LJ
|
* :doc:`pair_style tip4p/cut <pair_coul>` - Coulomb for TIP4P water w/out LJ
|
||||||
* :doc:`pair_style tip4p/long <pair_coul>` - long-range Coulombics for TIP4P water w/out LJ
|
* :doc:`pair_style tip4p/long <pair_coul>` - long-range Coulombics for TIP4P water w/out LJ
|
||||||
* :doc:`pair_style tri/lj <pair_tri_lj>` - LJ potential between triangles
|
* :doc:`pair_style tri/lj <pair_tri_lj>` - LJ potential between triangles
|
||||||
* :doc:`pair_style vashishta <pair_vahishta>` - Vashishta 2-body and 3-body potential
|
* :doc:`pair_style vashishta <pair_vashishta>` - Vashishta 2-body and 3-body potential
|
||||||
* :doc:`pair_style yukawa <pair_yukawa>` - Yukawa potential
|
* :doc:`pair_style yukawa <pair_yukawa>` - Yukawa potential
|
||||||
* :doc:`pair_style yukawa/colloid <pair_yukawa_colloid>` - screened Yukawa potential for finite-size particles
|
* :doc:`pair_style yukawa/colloid <pair_yukawa_colloid>` - screened Yukawa potential for finite-size particles
|
||||||
* :doc:`pair_style zbl <pair_zbl>` - Ziegler-Biersack-Littmark potential
|
* :doc:`pair_style zbl <pair_zbl>` - Ziegler-Biersack-Littmark potential
|
||||||
|
|
|
@ -39,33 +39,41 @@ Examples
|
||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Style *table* creates interpolation tables of length *N* from pair
|
Style *table* creates interpolation tables from potential energy and
|
||||||
potential and force values listed in a file(s) as a function of
|
force values listed in a file(s) as a function of distance. When
|
||||||
distance. The files are read by the :doc:`pair_coeff <pair_coeff>`
|
performing dynamics or minimation, the interpolation tables are used
|
||||||
command.
|
to evaluate energy and forces for pairwise interactions between
|
||||||
|
particles, similar to how analytic formulas are used for other pair
|
||||||
|
styles.
|
||||||
|
|
||||||
The interpolation tables are created by fitting cubic splines to the
|
The interpolation tables are created as a pre-computation by fitting
|
||||||
file values and interpolating energy and force values at each of *N*
|
cubic splines to the file values and interpolating energy and force
|
||||||
distances. During a simulation, these tables are used to interpolate
|
values at each of *N* distances. During a simulation, the tables are
|
||||||
energy and force values as needed. The interpolation is done in one
|
used to interpolate energy and force values as needed for each pair of
|
||||||
of 4 styles: *lookup*, *linear*, *spline*, or *bitmap*.
|
particles separated by a distance *R*. The interpolation is done in
|
||||||
|
one of 4 styles: *lookup*, *linear*, *spline*, or *bitmap*.
|
||||||
|
|
||||||
For the *lookup* style, the distance between 2 atoms is used to find
|
For the *lookup* style, the distance *R* is used to find the nearest
|
||||||
the nearest table entry, which is the energy or force.
|
table entry, which is the energy or force.
|
||||||
|
|
||||||
For the *linear* style, the pair distance is used to find 2
|
For the *linear* style, the distance *R* is used to find the 2
|
||||||
surrounding table values from which an energy or force is computed by
|
surrounding table values from which an energy or force is computed by
|
||||||
linear interpolation.
|
linear 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 pair distance is
|
stored for each of the *N* values in the table, one set of splines for
|
||||||
used to find the appropriate set of coefficients which are used to
|
energy, another for force. Note that these splines are different than
|
||||||
evaluate a cubic polynomial which computes the energy or force.
|
the ones used to pre-compute the *N* values. Those splines were fit
|
||||||
|
to the *Nfile* values in the tabulated file, where often *Nfile* <
|
||||||
|
*N*. The distance *R* is used to find the appropriate set of spline
|
||||||
|
coefficients which are used to evaluate a cubic polynomial which
|
||||||
|
computes the energy or force.
|
||||||
|
|
||||||
For the *bitmap* style, the N means to create interpolation tables
|
For the *bitmap* style, the specified *N* is used to create
|
||||||
that are 2^N in length. The pair distance is used to index into the
|
interpolation tables that are 2^N in length. The distance *R* is used
|
||||||
table via a fast bit-mapping technique due to :ref:`(Wolff) <Wolff>`, and a
|
to index into the table via a fast bit-mapping technique due to
|
||||||
linear interpolation is performed between adjacent table values.
|
:ref:`(Wolff) <Wolff>`, and a linear interpolation is performed between
|
||||||
|
adjacent table values.
|
||||||
|
|
||||||
The following coefficients must be defined for each pair of atoms
|
The following coefficients must be defined for each pair of atoms
|
||||||
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
|
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
|
||||||
|
@ -110,8 +118,9 @@ best effect:
|
||||||
* Use *N* in the pair_style command equal to the "N" in the tabulation
|
* Use *N* in the pair_style command equal to the "N" in the tabulation
|
||||||
file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation
|
file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation
|
||||||
is not needed. See discussion below.
|
is not needed. See discussion below.
|
||||||
* Make sure that your tabulated forces and tabulated energies are consistent
|
* Make sure that your tabulated forces and tabulated energies are
|
||||||
(dE/dr = -F) along the entire range of r values.
|
consistent (dE/dr = -F) over the entire range of r values. LAMMPS
|
||||||
|
will warn if this is not the case.
|
||||||
* Use as large an inner cutoff as possible. This avoids fitting splines
|
* Use as large an inner cutoff as possible. This avoids fitting splines
|
||||||
to very steep parts of the potential.
|
to very steep parts of the potential.
|
||||||
|
|
||||||
|
@ -150,14 +159,15 @@ specified in the :doc:`pair_style table <pair_style>` command. Let
|
||||||
Ntable = *N* in the pair_style command, and Nfile = "N" in the
|
Ntable = *N* in the pair_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 energy and force values at Ntable different
|
||||||
values at Ntable different points. The resulting tables of length
|
points. The resulting tables of length Ntable are then used as
|
||||||
Ntable are then used as described above, when computing energy and
|
described above, when computing energy and force for individual pair
|
||||||
force for individual pair distances. This means that if you want the
|
distances. This means that if you want the interpolation tables of
|
||||||
interpolation tables of length Ntable to match exactly what is in the
|
length Ntable to match exactly what is in the tabulated file (with
|
||||||
tabulated file (with effectively no preliminary interpolation), you
|
effectively no preliminary interpolation), you should set Ntable =
|
||||||
should set Ntable = Nfile, and use the "RSQ" or "BITMAP" parameter.
|
Nfile, and use the "RSQ" or "BITMAP" parameter. This is because the
|
||||||
The internal table abscissa is RSQ (separation distance squared).
|
internal table abscissa is always RSQ (separation distance squared),
|
||||||
|
for efficient lookup.
|
||||||
|
|
||||||
All other parameters are optional. If "R" or "RSQ" or "BITMAP" does
|
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
|
not appear, then the distances in each line of the table are used
|
||||||
|
@ -174,6 +184,15 @@ For "R", distances uniformly spaced between *rlo* and *rhi* are
|
||||||
computed; for "RSQ", squared distances uniformly spaced between
|
computed; for "RSQ", squared distances uniformly spaced between
|
||||||
*rlo*rlo* and *rhi*rhi* are computed.
|
*rlo*rlo* and *rhi*rhi* are computed.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
If used, the parameter "BITMAP" is also followed by 2 values *rlo* and
|
If used, the parameter "BITMAP" is also followed by 2 values *rlo* and
|
||||||
*rhi*. These values, along with the "N" value determine the ordering
|
*rhi*. These values, along with the "N" value determine the ordering
|
||||||
of the N lines that follow and what distance is associated with each.
|
of the N lines that follow and what distance is associated with each.
|
||||||
|
|
|
@ -764,6 +764,13 @@ that use unwrapped coordinates internally are as follows:
|
||||||
that will unwrap atom coordinates, it may be important that a
|
that will unwrap atom coordinates, it may be important that a
|
||||||
continued run (restarted from a data file) begins with image flags
|
continued run (restarted from a data file) begins with image flags
|
||||||
that are consistent with the previous run.
|
that are consistent with the previous run.
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If your system is an infinite periodic crystal with bonds then
|
||||||
|
it is impossible to have fully consistent image flags. This is because
|
||||||
|
some bonds will cross periodic boundaries and connect two atoms with the
|
||||||
|
same image flag.
|
||||||
|
|
||||||
Atom velocities and other atom quantities not defined above are set to
|
Atom velocities and other atom quantities not defined above are set to
|
||||||
0.0 when the *Atoms* section is read. Velocities can be set later by
|
0.0 when the *Atoms* section is read. Velocities can be set later by
|
||||||
a *Velocities* section in the data file or by a
|
a *Velocities* section in the data file or by a
|
||||||
|
|
|
@ -235,7 +235,7 @@ in the pair section of <a class="reference internal" href="Section_commands.html
|
||||||
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/long</em></a> - long-range Coulombic potential</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/long</em></a> - long-range Coulombic potential</li>
|
||||||
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/long/cs</em></a> - long-range Coulombic potential and core/shell</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/long/cs</em></a> - long-range Coulombic potential and core/shell</li>
|
||||||
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/msm</em></a> - long-range MSM Coulombics</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/msm</em></a> - long-range MSM Coulombics</li>
|
||||||
<li><code class="xref doc docutils literal"><span class="pre">pair_style</span> <span class="pre">coul/msm</span></code> - Coulombics via Streitz/Mintmire Slater orbitals</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/streitz</em></a> - Coulombics via Streitz/Mintmire Slater orbitals</li>
|
||||||
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/wolf</em></a> - Coulombics via Wolf potential</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style coul/wolf</em></a> - Coulombics via Wolf potential</li>
|
||||||
<li><a class="reference internal" href="pair_dpd.html"><em>pair_style dpd</em></a> - dissipative particle dynamics (DPD)</li>
|
<li><a class="reference internal" href="pair_dpd.html"><em>pair_style dpd</em></a> - dissipative particle dynamics (DPD)</li>
|
||||||
<li><a class="reference internal" href="pair_dpd.html"><em>pair_style dpd/tstat</em></a> - DPD thermostatting</li>
|
<li><a class="reference internal" href="pair_dpd.html"><em>pair_style dpd/tstat</em></a> - DPD thermostatting</li>
|
||||||
|
@ -311,7 +311,7 @@ in the pair section of <a class="reference internal" href="Section_commands.html
|
||||||
<li><a class="reference internal" href="pair_coul.html"><em>pair_style tip4p/cut</em></a> - Coulomb for TIP4P water w/out LJ</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style tip4p/cut</em></a> - Coulomb for TIP4P water w/out LJ</li>
|
||||||
<li><a class="reference internal" href="pair_coul.html"><em>pair_style tip4p/long</em></a> - long-range Coulombics for TIP4P water w/out LJ</li>
|
<li><a class="reference internal" href="pair_coul.html"><em>pair_style tip4p/long</em></a> - long-range Coulombics for TIP4P water w/out LJ</li>
|
||||||
<li><a class="reference internal" href="pair_tri_lj.html"><em>pair_style tri/lj</em></a> - LJ potential between triangles</li>
|
<li><a class="reference internal" href="pair_tri_lj.html"><em>pair_style tri/lj</em></a> - LJ potential between triangles</li>
|
||||||
<li><code class="xref doc docutils literal"><span class="pre">pair_style</span> <span class="pre">vashishta</span></code> - Vashishta 2-body and 3-body potential</li>
|
<li><a class="reference internal" href="pair_vashishta.html"><em>pair_style vashishta</em></a> - Vashishta 2-body and 3-body potential</li>
|
||||||
<li><a class="reference internal" href="pair_yukawa.html"><em>pair_style yukawa</em></a> - Yukawa potential</li>
|
<li><a class="reference internal" href="pair_yukawa.html"><em>pair_style yukawa</em></a> - Yukawa potential</li>
|
||||||
<li><a class="reference internal" href="pair_yukawa_colloid.html"><em>pair_style yukawa/colloid</em></a> - screened Yukawa potential for finite-size particles</li>
|
<li><a class="reference internal" href="pair_yukawa_colloid.html"><em>pair_style yukawa/colloid</em></a> - screened Yukawa potential for finite-size particles</li>
|
||||||
<li><a class="reference internal" href="pair_zbl.html"><em>pair_style zbl</em></a> - Ziegler-Biersack-Littmark potential</li>
|
<li><a class="reference internal" href="pair_zbl.html"><em>pair_style zbl</em></a> - Ziegler-Biersack-Littmark potential</li>
|
||||||
|
|
|
@ -126,7 +126,7 @@ in the pair section of "this page"_Section_commands.html#cmd_5.
|
||||||
"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
|
"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
|
||||||
"pair_style coul/long/cs"_pair_coul.html - long-range Coulombic potential and core/shell
|
"pair_style coul/long/cs"_pair_coul.html - long-range Coulombic potential and core/shell
|
||||||
"pair_style coul/msm"_pair_coul.html - long-range MSM Coulombics
|
"pair_style coul/msm"_pair_coul.html - long-range MSM Coulombics
|
||||||
"pair_style coul/msm"_pair_coul_streitz.html - Coulombics via Streitz/Mintmire Slater orbitals
|
"pair_style coul/streitz"_pair_coul.html - Coulombics via Streitz/Mintmire Slater orbitals
|
||||||
"pair_style coul/wolf"_pair_coul.html - Coulombics via Wolf potential
|
"pair_style coul/wolf"_pair_coul.html - Coulombics via Wolf potential
|
||||||
"pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
|
"pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
|
||||||
"pair_style dpd/tstat"_pair_dpd.html - DPD thermostatting
|
"pair_style dpd/tstat"_pair_dpd.html - DPD thermostatting
|
||||||
|
@ -202,7 +202,7 @@ in the pair section of "this page"_Section_commands.html#cmd_5.
|
||||||
"pair_style tip4p/cut"_pair_coul.html - Coulomb for TIP4P water w/out LJ
|
"pair_style tip4p/cut"_pair_coul.html - Coulomb for TIP4P water w/out LJ
|
||||||
"pair_style tip4p/long"_pair_coul.html - long-range Coulombics for TIP4P water w/out LJ
|
"pair_style tip4p/long"_pair_coul.html - long-range Coulombics for TIP4P water w/out LJ
|
||||||
"pair_style tri/lj"_pair_tri_lj.html - LJ potential between triangles
|
"pair_style tri/lj"_pair_tri_lj.html - LJ potential between triangles
|
||||||
"pair_style vashishta"_pair_vahishta.html - Vashishta 2-body and 3-body potential
|
"pair_style vashishta"_pair_vashishta.html - Vashishta 2-body and 3-body potential
|
||||||
"pair_style yukawa"_pair_yukawa.html - Yukawa potential
|
"pair_style yukawa"_pair_yukawa.html - Yukawa potential
|
||||||
"pair_style yukawa/colloid"_pair_yukawa_colloid.html - screened Yukawa potential for finite-size particles
|
"pair_style yukawa/colloid"_pair_yukawa_colloid.html - screened Yukawa potential for finite-size particles
|
||||||
"pair_style zbl"_pair_zbl.html - Ziegler-Biersack-Littmark potential :ul
|
"pair_style zbl"_pair_zbl.html - Ziegler-Biersack-Littmark potential :ul
|
||||||
|
|
|
@ -160,28 +160,36 @@ pair_coeff * 3 morse.table ENTRY1 7.0
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="description">
|
<div class="section" id="description">
|
||||||
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
||||||
<p>Style <em>table</em> creates interpolation tables of length <em>N</em> from pair
|
<p>Style <em>table</em> creates interpolation tables from potential energy and
|
||||||
potential and force values listed in a file(s) as a function of
|
force values listed in a file(s) as a function of distance. When
|
||||||
distance. The files are read by the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>
|
performing dynamics or minimation, the interpolation tables are used
|
||||||
command.</p>
|
to evaluate energy and forces for pairwise interactions between
|
||||||
<p>The interpolation tables are created by fitting cubic splines to the
|
particles, similar to how analytic formulas are used for other pair
|
||||||
file values and interpolating energy and force values at each of <em>N</em>
|
styles.</p>
|
||||||
distances. During a simulation, these tables are used to interpolate
|
<p>The interpolation tables are created as a pre-computation by fitting
|
||||||
energy and force values as needed. The interpolation is done in one
|
cubic splines to the file values and interpolating energy and force
|
||||||
of 4 styles: <em>lookup</em>, <em>linear</em>, <em>spline</em>, or <em>bitmap</em>.</p>
|
values at each of <em>N</em> distances. During a simulation, the tables are
|
||||||
<p>For the <em>lookup</em> style, the distance between 2 atoms is used to find
|
used to interpolate energy and force values as needed for each pair of
|
||||||
the nearest table entry, which is the energy or force.</p>
|
particles separated by a distance <em>R</em>. The interpolation is done in
|
||||||
<p>For the <em>linear</em> style, the pair distance is used to find 2
|
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
|
surrounding table values from which an energy or force is computed by
|
||||||
linear interpolation.</p>
|
linear interpolation.</p>
|
||||||
<p>For the <em>spline</em> style, a cubic spline coefficients are computed and
|
<p>For the <em>spline</em> style, a cubic spline coefficients are computed and
|
||||||
stored at each of the <em>N</em> values in the table. The pair distance is
|
stored for each of the <em>N</em> values in the table, one set of splines for
|
||||||
used to find the appropriate set of coefficients which are used to
|
energy, another for force. Note that these splines are different than
|
||||||
evaluate a cubic polynomial which computes the energy or force.</p>
|
the ones used to pre-compute the <em>N</em> values. Those splines were fit
|
||||||
<p>For the <em>bitmap</em> style, the N means to create interpolation tables
|
to the <em>Nfile</em> values in the tabulated file, where often <em>Nfile</em> <
|
||||||
that are 2^N in length. The pair distance is used to index into the
|
<em>N</em>. The distance <em>R</em> is used to find the appropriate set of spline
|
||||||
table via a fast bit-mapping technique due to <a class="reference internal" href="#wolff"><span>(Wolff)</span></a>, and a
|
coefficients which are used to evaluate a cubic polynomial which
|
||||||
linear interpolation is performed between adjacent table values.</p>
|
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="#wolff"><span>(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
|
<p>The following coefficients must be defined for each pair of atoms
|
||||||
types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples
|
types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command as in the examples
|
||||||
above.</p>
|
above.</p>
|
||||||
|
@ -220,8 +228,9 @@ interpolation “features” you may not like.</li>
|
||||||
<li>Use <em>N</em> in the pair_style command equal to the “N” in the tabulation
|
<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
|
file, and use the “RSQ” or “BITMAP” parameter, so additional interpolation
|
||||||
is not needed. See discussion below.</li>
|
is not needed. See discussion below.</li>
|
||||||
<li>Make sure that your tabulated forces and tabulated energies are consistent
|
<li>Make sure that your tabulated forces and tabulated energies are
|
||||||
(dE/dr = -F) along the entire range of r values.</li>
|
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
|
<li>Use as large an inner cutoff as possible. This avoids fitting splines
|
||||||
to very steep parts of the potential.</li>
|
to very steep parts of the potential.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -254,14 +263,15 @@ specified in the <a class="reference internal" href="pair_style.html"><em>pair_s
|
||||||
Ntable = <em>N</em> in the pair_style command, and Nfile = “N” in the
|
Ntable = <em>N</em> in the pair_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 energy and force values at Ntable different
|
||||||
values at Ntable different points. The resulting tables of length
|
points. The resulting tables of length Ntable are then used as
|
||||||
Ntable are then used as described above, when computing energy and
|
described above, when computing energy and force for individual pair
|
||||||
force for individual pair distances. This means that if you want the
|
distances. This means that if you want the interpolation tables of
|
||||||
interpolation tables of length Ntable to match exactly what is in the
|
length Ntable to match exactly what is in the tabulated file (with
|
||||||
tabulated file (with effectively no preliminary interpolation), you
|
effectively no preliminary interpolation), you should set Ntable =
|
||||||
should set Ntable = Nfile, and use the “RSQ” or “BITMAP” parameter.
|
Nfile, and use the “RSQ” or “BITMAP” parameter. This is because the
|
||||||
The internal table abscissa is RSQ (separation distance squared).</p>
|
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
|
<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
|
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
|
as-is to perform spline interpolation. In this case, the table values
|
||||||
|
@ -275,6 +285,15 @@ 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
|
For “R”, distances uniformly spaced between <em>rlo</em> and <em>rhi</em> are
|
||||||
computed; for “RSQ”, squared distances uniformly spaced between
|
computed; for “RSQ”, squared distances uniformly spaced between
|
||||||
<em>rlo*rlo</em> and <em>rhi*rhi</em> are computed.</p>
|
<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
|
<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
|
<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.
|
of the N lines that follow and what distance is associated with each.
|
||||||
|
|
|
@ -31,33 +31,41 @@ pair_coeff * 3 morse.table ENTRY1 7.0 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Style {table} creates interpolation tables of length {N} from pair
|
Style {table} creates interpolation tables from potential energy and
|
||||||
potential and force values listed in a file(s) as a function of
|
force values listed in a file(s) as a function of distance. When
|
||||||
distance. The files are read by the "pair_coeff"_pair_coeff.html
|
performing dynamics or minimation, the interpolation tables are used
|
||||||
command.
|
to evaluate energy and forces for pairwise interactions between
|
||||||
|
particles, similar to how analytic formulas are used for other pair
|
||||||
|
styles.
|
||||||
|
|
||||||
The interpolation tables are created by fitting cubic splines to the
|
The interpolation tables are created as a pre-computation by fitting
|
||||||
file values and interpolating energy and force values at each of {N}
|
cubic splines to the file values and interpolating energy and force
|
||||||
distances. During a simulation, these tables are used to interpolate
|
values at each of {N} distances. During a simulation, the tables are
|
||||||
energy and force values as needed. The interpolation is done in one
|
used to interpolate energy and force values as needed for each pair of
|
||||||
of 4 styles: {lookup}, {linear}, {spline}, or {bitmap}.
|
particles separated by a distance {R}. The interpolation is done in
|
||||||
|
one of 4 styles: {lookup}, {linear}, {spline}, or {bitmap}.
|
||||||
|
|
||||||
For the {lookup} style, the distance between 2 atoms is used to find
|
For the {lookup} style, the distance {R} is used to find the nearest
|
||||||
the nearest table entry, which is the energy or force.
|
table entry, which is the energy or force.
|
||||||
|
|
||||||
For the {linear} style, the pair distance is used to find 2
|
For the {linear} style, the distance {R} is used to find the 2
|
||||||
surrounding table values from which an energy or force is computed by
|
surrounding table values from which an energy or force is computed by
|
||||||
linear interpolation.
|
linear 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 pair distance is
|
stored for each of the {N} values in the table, one set of splines for
|
||||||
used to find the appropriate set of coefficients which are used to
|
energy, another for force. Note that these splines are different than
|
||||||
evaluate a cubic polynomial which computes the energy or force.
|
the ones used to pre-compute the {N} values. Those splines were fit
|
||||||
|
to the {Nfile} values in the tabulated file, where often {Nfile} <
|
||||||
|
{N}. The distance {R} is used to find the appropriate set of spline
|
||||||
|
coefficients which are used to evaluate a cubic polynomial which
|
||||||
|
computes the energy or force.
|
||||||
|
|
||||||
For the {bitmap} style, the N means to create interpolation tables
|
For the {bitmap} style, the specified {N} is used to create
|
||||||
that are 2^N in length. The pair distance is used to index into the
|
interpolation tables that are 2^N in length. The distance {R} is used
|
||||||
table via a fast bit-mapping technique due to "(Wolff)"_#Wolff, and a
|
to index into the table via a fast bit-mapping technique due to
|
||||||
linear interpolation is performed between adjacent table values.
|
"(Wolff)"_#Wolff, and a linear interpolation is performed between
|
||||||
|
adjacent table values.
|
||||||
|
|
||||||
The following coefficients must be defined for each pair of atoms
|
The following coefficients must be defined for each pair of atoms
|
||||||
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
||||||
|
@ -105,8 +113,9 @@ Use {N} in the pair_style command equal to the "N" in the tabulation
|
||||||
file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation
|
file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation
|
||||||
is not needed. See discussion below. :l
|
is not needed. See discussion below. :l
|
||||||
|
|
||||||
Make sure that your tabulated forces and tabulated energies are consistent
|
Make sure that your tabulated forces and tabulated energies are
|
||||||
(dE/dr = -F) along the entire range of r values. :l
|
consistent (dE/dr = -F) over the entire range of r values. LAMMPS
|
||||||
|
will warn if this is not the case. :l
|
||||||
|
|
||||||
Use as large an inner cutoff as possible. This avoids fitting splines
|
Use as large an inner cutoff as possible. This avoids fitting splines
|
||||||
to very steep parts of the potential. :l,ule
|
to very steep parts of the potential. :l,ule
|
||||||
|
@ -141,14 +150,15 @@ specified in the "pair_style table"_pair_style.html command. Let
|
||||||
Ntable = {N} in the pair_style command, and Nfile = "N" in the
|
Ntable = {N} in the pair_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 energy and force values at Ntable different
|
||||||
values at Ntable different points. The resulting tables of length
|
points. The resulting tables of length Ntable are then used as
|
||||||
Ntable are then used as described above, when computing energy and
|
described above, when computing energy and force for individual pair
|
||||||
force for individual pair distances. This means that if you want the
|
distances. This means that if you want the interpolation tables of
|
||||||
interpolation tables of length Ntable to match exactly what is in the
|
length Ntable to match exactly what is in the tabulated file (with
|
||||||
tabulated file (with effectively no preliminary interpolation), you
|
effectively no preliminary interpolation), you should set Ntable =
|
||||||
should set Ntable = Nfile, and use the "RSQ" or "BITMAP" parameter.
|
Nfile, and use the "RSQ" or "BITMAP" parameter. This is because the
|
||||||
The internal table abscissa is RSQ (separation distance squared).
|
internal table abscissa is always RSQ (separation distance squared),
|
||||||
|
for efficient lookup.
|
||||||
|
|
||||||
All other parameters are optional. If "R" or "RSQ" or "BITMAP" does
|
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
|
not appear, then the distances in each line of the table are used
|
||||||
|
@ -165,6 +175,13 @@ For "R", distances uniformly spaced between {rlo} and {rhi} are
|
||||||
computed; for "RSQ", squared distances uniformly spaced between
|
computed; for "RSQ", squared distances uniformly spaced between
|
||||||
{rlo*rlo} and {rhi*rhi} are computed.
|
{rlo*rlo} and {rhi*rhi} are computed.
|
||||||
|
|
||||||
|
NOTE: 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.
|
||||||
|
|
||||||
If used, the parameter "BITMAP" is also followed by 2 values {rlo} and
|
If used, the parameter "BITMAP" is also followed by 2 values {rlo} and
|
||||||
{rhi}. These values, along with the "N" value determine the ordering
|
{rhi}. These values, along with the "N" value determine the ordering
|
||||||
of the N lines that follow and what distance is associated with each.
|
of the N lines that follow and what distance is associated with each.
|
||||||
|
|
|
@ -811,6 +811,13 @@ that will unwrap atom coordinates, it may be important that a
|
||||||
continued run (restarted from a data file) begins with image flags
|
continued run (restarted from a data file) begins with image flags
|
||||||
that are consistent with the previous run.</li>
|
that are consistent with the previous run.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="admonition note">
|
||||||
|
<p class="first admonition-title">Note</p>
|
||||||
|
<p class="last">If your system is an infinite periodic crystal with bonds then
|
||||||
|
it is impossible to have fully consistent image flags. This is because
|
||||||
|
some bonds will cross periodic boundaries and connect two atoms with the
|
||||||
|
same image flag.</p>
|
||||||
|
</div>
|
||||||
<p>Atom velocities and other atom quantities not defined above are set to
|
<p>Atom velocities and other atom quantities not defined above are set to
|
||||||
0.0 when the <em>Atoms</em> section is read. Velocities can be set later by
|
0.0 when the <em>Atoms</em> section is read. Velocities can be set later by
|
||||||
a <em>Velocities</em> section in the data file or by a
|
a <em>Velocities</em> section in the data file or by a
|
||||||
|
|
|
@ -693,6 +693,11 @@ that will unwrap atom coordinates, it may be important that a
|
||||||
continued run (restarted from a data file) begins with image flags
|
continued run (restarted from a data file) begins with image flags
|
||||||
that are consistent with the previous run. :l,ule
|
that are consistent with the previous run. :l,ule
|
||||||
|
|
||||||
|
NOTE: If your system is an infinite periodic crystal with bonds then
|
||||||
|
it is impossible to have fully consistent image flags. This is because
|
||||||
|
some bonds will cross periodic boundaries and connect two atoms with the
|
||||||
|
same image flag.
|
||||||
|
|
||||||
Atom velocities and other atom quantities not defined above are set to
|
Atom velocities and other atom quantities not defined above are set to
|
||||||
0.0 when the {Atoms} section is read. Velocities can be set later by
|
0.0 when the {Atoms} section is read. Velocities can be set later by
|
||||||
a {Velocities} section in the data file or by a
|
a {Velocities} section in the data file or by a
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue