update documentation
This commit is contained in:
@ -247,7 +247,9 @@ or *lj/coul* to change both to the same set of 3 values. The wt1,wt2,wt3
|
||||
values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2,
|
||||
1-3, and 1-4 bond topology neighbors, respectively. The *special*
|
||||
keyword can only be used in conjunction with the *pair* keyword
|
||||
and has to directly follow it.
|
||||
and has to directly follow it. This option is not compatible with
|
||||
pair styles from the GPU or the USER-INTEL package and attempting
|
||||
it will cause an error.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -278,10 +280,11 @@ and allows to selectively disable or enable processing of the various
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
You cannot use *shift* yes with *tail* yes, since those are
|
||||
conflicting options. You cannot use *tail* yes with 2d simulations.
|
||||
You cannot use *special* with pair styles from the GPU or
|
||||
USER-INTEL package.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -1,281 +0,0 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
pair_modify command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_modify keyword values ... :pre
|
||||
|
||||
one or more keyword/value pairs may be listed :ulb,l
|
||||
keyword = {pair} or {shift} or {mix} or {table} or {table/disp} or {tabinner}
|
||||
or {tabinner/disp} or {tail} or {compute} or {nofdotr} :l
|
||||
{pair} values = sub-style N {special} which wt1 wt2 wt3
|
||||
or sub-style N {compute/tally} flag
|
||||
sub-style = sub-style of "pair hybrid"_pair_hybrid.html
|
||||
N = which instance of sub-style (only if sub-style is used multiple times)
|
||||
{special} which wt1 wt2 wt3 = override {special_bonds} settings (optional)
|
||||
which = {lj/coul} or {lj} or {coul}
|
||||
w1,w2,w3 = 1-2, 1-3, and 1-4 weights from 0.0 to 1.0 inclusive
|
||||
{compute/tally} flag = {yes} or {no}
|
||||
{mix} value = {geometric} or {arithmetic} or {sixthpower}
|
||||
{shift} value = {yes} or {no}
|
||||
{table} value = N
|
||||
2^N = # of values in table
|
||||
{table/disp} value = N
|
||||
2^N = # of values in table
|
||||
{tabinner} value = cutoff
|
||||
cutoff = inner cutoff at which to begin table (distance units)
|
||||
{tabinner/disp} value = cutoff
|
||||
cutoff = inner cutoff at which to begin table (distance units)
|
||||
{tail} value = {yes} or {no}
|
||||
{compute} value = {yes} or {no}
|
||||
{nofdotr} :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_modify shift yes mix geometric
|
||||
pair_modify tail yes
|
||||
pair_modify table 12
|
||||
pair_modify pair lj/cut compute no
|
||||
pair_modify pair tersoff compute/tally no
|
||||
pair_modify pair lj/cut/coul/long 1 special lj/coul 0.0 0.0 0.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Modify the parameters of the currently defined pair style. Not all
|
||||
parameters are relevant to all pair styles.
|
||||
|
||||
If used, the {pair} keyword must appear first in the list of keywords.
|
||||
It can only be used with the "hybrid and
|
||||
hybrid/overlay"_pair_hybrid.html pair styles. It means that all the
|
||||
following parameters will only be modified for the specified
|
||||
sub-style. If the sub-style is defined multiple times, then an
|
||||
additional numeric argument {N} must also be specified, which is a
|
||||
number from 1 to M where M is the number of times the sub-style was
|
||||
listed in the "pair_style hybrid"_pair_hybrid.html command. The extra
|
||||
number indicates which instance of the sub-style the remaining
|
||||
keywords will be applied to. Note that if the {pair} keyword is not
|
||||
used, and the pair style is {hybrid} or {hybrid/overlay}, then all the
|
||||
specified keywords will be applied to all sub-styles.
|
||||
|
||||
The {special} and {compute/tally} keywords can [only] be used in
|
||||
conjunction with the {pair} keyword and must directly follow it.
|
||||
{special} allows to override the
|
||||
"special_bonds"_special_bonds.html settings for the specified sub-style.
|
||||
{compute/tally} allows to disable or enable registering
|
||||
"compute */tally"_compute_tally.html computes for a given sub-style.
|
||||
More details are given below.
|
||||
|
||||
The {mix} keyword affects pair coefficients for interactions between
|
||||
atoms of type I and J, when I != J and the coefficients are not
|
||||
explicitly set in the input script. Note that coefficients for I = J
|
||||
must be set explicitly, either in the input script via the
|
||||
"pair_coeff" command or in the "Pair Coeffs" section of the "data
|
||||
file"_read_data.html. For some pair styles it is not necessary to
|
||||
specify coefficients when I != J, since a "mixing" rule will create
|
||||
them from the I,I and J,J settings. The pair_modify {mix} value
|
||||
determines what formulas are used to compute the mixed coefficients.
|
||||
In each case, the cutoff distance is mixed the same way as sigma.
|
||||
|
||||
Note that not all pair styles support mixing. Also, some mix options
|
||||
are not available for certain pair styles. See the doc page for
|
||||
individual pair styles for those restrictions. Note also that the
|
||||
"pair_coeff"_pair_coeff.html command also can be to directly set
|
||||
coefficients for a specific I != J pairing, in which case no mixing is
|
||||
performed.
|
||||
|
||||
mix {geometric}
|
||||
|
||||
epsilon_ij = sqrt(epsilon_i * epsilon_j)
|
||||
sigma_ij = sqrt(sigma_i * sigma_j) :pre
|
||||
|
||||
mix {arithmetic}
|
||||
|
||||
epsilon_ij = sqrt(epsilon_i * epsilon_j)
|
||||
sigma_ij = (sigma_i + sigma_j) / 2 :pre
|
||||
|
||||
mix {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 {shift} keyword determines whether a 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 included in the thermodynamic
|
||||
output, but does not affect pair forces or atom trajectories. See the
|
||||
doc page for individual pair styles to see which ones support this
|
||||
option.
|
||||
|
||||
The {table} and {table/disp} keywords apply to pair styles with a
|
||||
long-range Coulombic term or long-range dispersion term respectively;
|
||||
see the doc page for individual styles to see which potentials support
|
||||
these options. 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)"_#Wolff1 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} and {tabinner/disp} keywords set an inner cutoff above
|
||||
which the pairwise computation is done by table lookup (if tables are
|
||||
invoked), for the corresponding Coulombic and dispersion tables
|
||||
discussed with the {table} and {table/disp} keywords. The smaller the
|
||||
cutoff 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}, certain pair styles will add
|
||||
a long-range VanderWaals tail "correction" to the energy and pressure.
|
||||
These corrections are bookkeeping terms which do not affect dynamics,
|
||||
unless a constant-pressure simulation is being performed. See the doc
|
||||
page for individual styles to see which support this option. These
|
||||
corrections 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 (e.g. the "fix npt"_fix_nh.html and "fix nph"_fix_nh.html
|
||||
commands). The formulas used for the long-range corrections come from
|
||||
equation 5 of "(Sun)"_#Sun.
|
||||
|
||||
NOTE: The tail correction terms are computed at the beginning of each
|
||||
run, using the current atom counts of each atom type. If atoms are
|
||||
deleted (or lost) or created during a simulation, e.g. via the "fix
|
||||
gcmc"_fix_gcmc.html command, the correction factors are not
|
||||
re-computed. If you expect the counts to change dramatically, you can
|
||||
break a run into a series of shorter runs so that the correction
|
||||
factors are re-computed more frequently.
|
||||
|
||||
Several additional 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
|
||||
|
||||
The tail corrections are computed at the beginning of each simulation
|
||||
run. If the number of atoms changes during the run, e.g. due to atoms
|
||||
leaving the simulation domain, or use of the "fix gcmc"_fix_gcmc.html
|
||||
command, then the corrections are not updated to reflect the changed
|
||||
atom count. If this is a large effect in your simulation, you should
|
||||
break the long run into several short runs, so that the correction
|
||||
factors are re-computed multiple times.
|
||||
|
||||
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
|
||||
|
||||
The {compute} keyword allows pairwise computations to be turned off,
|
||||
even though a "pair_style"_pair_style.html is defined. This is not
|
||||
useful for running a real simulation, but can be useful for debugging
|
||||
purposes or for performing a "rerun"_rerun.html simulation, when you
|
||||
only wish to compute partial forces that do not include the pairwise
|
||||
contribution.
|
||||
|
||||
Two examples are as follows. First, this option allows you to perform
|
||||
a simulation with "pair_style hybrid"_pair_hybrid.html with only a
|
||||
subset of the hybrid sub-styles enabled. Second, this option allows
|
||||
you to perform a simulation with only long-range interactions but no
|
||||
short-range pairwise interactions. Doing this by simply not defining
|
||||
a pair style will not work, because the
|
||||
"kspace_style"_kspace_style.html command requires a Kspace-compatible
|
||||
pair style be defined.
|
||||
|
||||
The {nofdotr} keyword allows to disable an optimization that computes
|
||||
the global stress tensor from the total forces and atom positions rather
|
||||
than from summing forces between individual pairs of atoms.
|
||||
|
||||
:line
|
||||
|
||||
The {special} keyword allows to override the 1-2, 1-3, and 1-4
|
||||
exclusion settings for individual sub-styles of a
|
||||
"hybrid pair style"_pair_hybrid.html. It requires 4 arguments similar
|
||||
to the "special_bonds"_special_bonds.html command, {which} and
|
||||
wt1,wt2,wt3. The {which} argument can be {lj} to change the
|
||||
Lennard-Jones settings, {coul} to change the Coulombic settings,
|
||||
or {lj/coul} to change both to the same set of 3 values. The wt1,wt2,wt3
|
||||
values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2,
|
||||
1-3, and 1-4 bond topology neighbors, respectively. The {special}
|
||||
keyword can only be used in conjunction with the {pair} keyword
|
||||
and has to directly follow it.
|
||||
|
||||
NOTE: The global settings specified by the
|
||||
"special_bonds"_special_bonds.html command affect the construction of
|
||||
neighbor lists. Weights of 0.0 (for 1-2, 1-3, or 1-4 neighbors)
|
||||
exclude those pairs from the neighbor list entirely. Weights of 1.0
|
||||
store the neighbor with no weighting applied. Thus only global values
|
||||
different from exactly 0.0 or 1.0 can be overridden and an error is
|
||||
generated if the requested setting is not compatible with the global
|
||||
setting. Substituting 1.0e-10 for 0.0 and 0.9999999999 for 1.0 is
|
||||
usually a sufficient workaround in this case without causing a
|
||||
significant error.
|
||||
|
||||
The {compute/tally} keyword takes exactly 1 argument ({no} or {yes}),
|
||||
and allows to selectively disable or enable processing of the various
|
||||
"compute */tally"_compute_tally.html styles for a given
|
||||
"pair hybrid or hybrid/overlay"_pair_hybrid.html sub-style.
|
||||
|
||||
NOTE: Any "pair_modify pair compute/tally" command must be issued
|
||||
[before] the corresponding compute style is defined.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
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_style hybrid"_pair_hybrid.html,
|
||||
pair_coeff"_pair_coeff.html, "thermo_style"_thermo_style.html,
|
||||
"compute */tally"_compute_tally.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are mix = geometric, shift = no, table = 12,
|
||||
tabinner = sqrt(2.0), tail = no, and compute = yes.
|
||||
|
||||
Note that some pair styles perform mixing, but only a certain style of
|
||||
mixing. See the doc pages for individual pair styles for details.
|
||||
|
||||
:line
|
||||
|
||||
:link(Wolff1)
|
||||
[(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999).
|
||||
|
||||
:link(Sun)
|
||||
[(Sun)] Sun, J Phys Chem B, 102, 7338-7364 (1998).
|
||||
Reference in New Issue
Block a user