Files
lammps/doc/src/compute_pair.rst
Steve Plimpton 80df29a736 merged in develop
2022-09-07 14:12:26 -06:00

104 lines
3.5 KiB
ReStructuredText

.. index:: compute pair
compute pair command
====================
Syntax
""""""
.. code-block:: LAMMPS
compute ID group-ID pair pstyle [nstyle] [evalue]
* ID, group-ID are documented in :doc:`compute <compute>` command
* pair = style name of this compute command
* pstyle = style name of a pair style that calculates additional values
* nsub = *n*\ -instance of a sub-style, if a pair style is used multiple times in a hybrid style
* *evalue* = *epair* or *evdwl* or *ecoul* or blank (optional)
Examples
""""""""
.. code-block:: LAMMPS
compute 1 all pair gauss
compute 1 all pair lj/cut/coul/cut ecoul
compute 1 all pair tersoff 2 epair
compute 1 all pair reaxff
Description
"""""""""""
Define a computation that extracts additional values calculated by a
pair style, and makes them accessible for output or further processing
by other commands.
.. note::
The group specified for this command is **ignored**\ .
The specified *pstyle* must be a pair style used in your simulation
either by itself or as a sub-style in a :doc:`pair_style hybrid or hybrid/overlay <pair_hybrid>` command. If the sub-style is
used more than once, an additional number *nsub* has to be specified
in order to choose which instance of the sub-style will be used by
the compute. Not specifying the number in this case will cause the
compute to fail.
The *evalue* setting is optional. All
pair styles tally a potential energy *epair* which may be broken into
two parts: *evdwl* and *ecoul* such that *epair* = *evdwl* + *ecoul*\ .
If the pair style calculates Coulombic interactions, their energy will
be tallied in *ecoul*\ . Everything else (whether it is a Lennard-Jones
style van der Waals interaction or not) is tallied in *evdwl*\ . If
*evalue* is blank or specified as *epair*, then *epair* is stored
as a global scalar by this compute. This is useful when using
:doc:`pair_style hybrid <pair_hybrid>` if you want to know the portion
of the total energy contributed by one sub-style. If *evalue* is
specified as *evdwl* or *ecoul*, then just that portion of the energy
is stored as a global scalar.
.. note::
The energy returned by the *evdwl* keyword does not include tail
corrections, even if they are enabled via the
:doc:`pair_modify <pair_modify>` command.
Some pair styles tally additional quantities, e.g. a breakdown of
potential energy into 14 components is tallied by the
:doc:`pair_style reaxff <pair_reaxff>` command. These values (1 or more)
are stored as a global vector by this compute. See the page for
:doc:`individual pair styles <pair_style>` for info on these values.
Output info
"""""""""""
This compute calculates a global scalar which is *epair* or *evdwl* or
*ecoul*\ . If the pair style supports it, it also calculates a global
vector of length :math:`\ge` 1, as determined by the pair style. These values
can be used by any command that uses global scalar or vector values
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
page for an overview of LAMMPS output options.
The scalar and vector values calculated by this compute are
"extensive".
The scalar value will be in energy :doc:`units <units>`. The vector
values will typically also be in energy :doc:`units <units>`, but see
the page for the pair style for details.
Restrictions
""""""""""""
none
Related commands
""""""""""""""""
:doc:`compute pe <compute_pe>`, :doc:`compute bond <compute_bond>`,
:doc:`fix pair <fix_pair>`
Default
"""""""
The keyword defaults are *evalue* = *epair*, nsub = 0.