lammps/doc/pair_modify.txt

167 lines
6.4 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
pair_modify command :h3
[Syntax:]
pair_modify keyword value ... :pre
one or more keyword/value pairs may be listed :ulb,l
keyword = {shift} or {mix} or {table} or {tabinner} or {tail} :l
{shift} value = {yes} or {no}
{mix} value = {geometric} or {arithmetic} or {sixthpower}
{table} value = N
2^N = # of values in table
{tabinner} value = cutoff
cutoff = inner cutoff at which to begin table (distance units)
{tail} value = {yes} or {no} :pre
:ule
[Examples:]
pair_modify shift yes mix geometric
pair_modify tail yes
pair_modify table 12 :pre
[Description:]
Modify the parameters of the currently defined pair style. Not all
parameters are relevant to all pair styles.
The {shift} keyword determines whether the Lennard-Jones potential is
shifted at its cutoff to 0.0. If so, this adds an energy term to each
pairwise interaction which will be printed in the thermodynamic
output, but does not affect atom dynamics (forces). Pair styles that
are already 0.0 at their cutoff such as {lj/charmm/coul/charmm} are
not affected by this setting.
The {mix} keyword affects how Lennard-Jones coefficients for epsilon,
sigma, and the cutoff are generated for interactions between atoms of
type I and J, when I != J. Coefficients for I = J are set explicitly
in the data file or input script. The "pair_coeff"_pair_coeff.html
command can be used in the input script to specify epilon/sigma for a
specific I != J pairing, which overrides the setting of the {mix}
keyword.
These are the formulas used by the 3 {mix} options. In each case, the
LJ cutoff is mixed the same way as sigma. Note that some of these
options are not available for certain pair styles. See the doc page
for individual pair styles for those restrictions.
{geometric}
epsilon_ij = sqrt(epsilon_i * epsilon_j)
sigma_ij = sqrt(sigma_i * sigma_j) :pre
{arithmetic}
epsilon_ij = sqrt(epsilon_i * epsilon_j)
sigma_ij = (sigma_i + sigma_j) / 2 :pre
{sixthpower}
epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) /
(sigma_i^6 + sigma_j^6)
sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) :pre
The {table} keyword applies to pair styles with a long-range Coulombic
term (lj/cut/coul/long and lj/charmm/coul/long). If N is non-zero, a
table of length 2^N is pre-computed for forces and energies, which can
shrink their computational cost by up to a factor of 2. The table is
indexed via a bit-mapping technique "(Wolff)"_#Wolff and a linear
interpolation is performed between adjacent table values. In our
experiments with different table styles (lookup, linear, spline), this
method typically gave the best performance in terms of speed and
accuracy.
The choice of table length is a tradeoff in accuracy versus speed. A
larger N yields more accurate force computations, but requires more
memory which can slow down the computation due to cache misses. A
reasonable value of N is between 8 and 16. The default value of 12
(table of length 4096) gives approximately the same accuracy as the
no-table (N = 0) option. For N = 0, forces and energies are computed
directly, using a polynomial fit for the needed erfc() function
evaluation, which is what earlier versions of LAMMPS did. Values
greater than 16 typically slow down the simulation and will not
improve accuracy; values from 1 to 8 give unreliable results.
The {tabinner} keyword sets an inner cutoff above which the pairwise
computation is done by table lookup (if tables are invoked). The
smaller this value is set, the less accurate the table becomes (for a
given number of table values), which can require use of larger tables.
The default cutoff value is sqrt(2.0) distance units which means
nearly all pairwise interactions are computed via table lookup for
simulations with "real" units, but some close pairs may be computed
directly (non-table) for simulations with "lj" units.
When the {tail} keyword is set to {yes}, long-range VanderWaals tail
"corrections" are added to the energy and pressure. These are
included in the calculation and printing of thermodynamic quantities
(see the "thermo_style"_thermo_style.html command). Their effect will
also be included in constant NPT or NPH simulations where the pressure
influences the simulation box dimensions (see the "fix
npt"_fix_npt.html and "fix nph"_fix_nph.html commands).
The {tail} keyword is only supported by "pair_style"_pair_style.html
pairwise potentials which include Lennard-Jones interactions which are
cutoff at a non-zero energy. This does not include the LJ CHARMM
potentials or {lj/smooth} since they go to zero at the cutoff. The
formulas used for the long-range corrections come from equation 5 of
"(Sun)"_#Sun.
Several assumptions are inherent in using tail corrections, including
the following:
The simulated system is a 3d bulk homogeneous liquid. This option
should not be used for systems that are non-liquid, 2d, have a slab
geometry (only 2d periodic), or inhomogeneous. :ulb,l
G(r), the radial distribution function (rdf), is unity beyond the
cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an
LJ fluid), and it is probably a good idea to verify this assumption by
checking the rdf. The rdf is not exactly unity beyond the cutoff for
each pair of interaction types, so the tail correction is necessarily
an approximation. :l
Thermophysical properties obtained from calculations with this option
enabled will not be thermodynamically consistent with the truncated
force-field that was used. In other words, atoms do not feel any LJ
pair interactions beyond the cutoff, but the energy and pressure
reported by the simulation include an estimated contribution from
those interactions. :l,ule
[Restrictions:] none
Not all pair styles support mixing. See the doc page for individual
pair styles for details.
You cannot use {shift} yes with {tail} yes, since those are
conflicting options.
You cannot use {tail} yes with 2d simulations.
[Related commands:]
"pair_style"_pair_style.html, "pair_coeff"_pair_coeff.html,
"thermo_style"_thermo_style.html
[Default:]
The option defaults are shift = no, mix = arithmetic (for lj/charmm
pair styles), mix = geometric (for other pair styles), table = 12,
and tabinner = sqrt(2.0), tail = no.
:line
:link(Wolff)
[(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).
:link(Sun)
[(Sun)] Sun, J Phys Chem B, 102, 7338-7364 (1998).