forked from lijiext/lammps
130 lines
5.0 KiB
Plaintext
130 lines
5.0 KiB
Plaintext
.. index:: compute pair/local
|
|
|
|
compute pair/local command
|
|
==========================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute ID group-ID pair/local input1 input2 ...
|
|
|
|
* ID, group-ID are documented in :doc:`compute <compute>` command
|
|
* pair/local = style name of this compute command
|
|
* zero or more keywords may be appended
|
|
* keyword = *dist* or *eng* or *force* or *fx* or *fy* or *fz* or *pN*
|
|
.. parsed-literal::
|
|
|
|
*dist* = pairwise distance
|
|
*eng* = pairwise energy
|
|
*force* = pairwise force
|
|
*fx*\ ,\ *fy*\ ,\ *fz* = components of pairwise force
|
|
*pN* = pair style specific quantities for allowed N values
|
|
|
|
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute 1 all pair/local eng
|
|
compute 1 all pair/local dist eng force
|
|
compute 1 all pair/local dist eng fx fy fz
|
|
compute 1 all pair/local dist fx fy fz p1 p2 p3
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Define a computation that calculates properties of individual pairwise
|
|
interactions. The number of datums generated, aggregated across all
|
|
processors, equals the number of pairwise interactions in the system.
|
|
|
|
The local data stored by this command is generated by looping over the
|
|
pairwise neighbor list. Info about an individual pairwise interaction
|
|
will only be included if both atoms in the pair are in the specified
|
|
compute group, and if the current pairwise distance is less than the
|
|
force cutoff distance for that interaction, as defined by the
|
|
:doc:`pair_style <pair_style>` and :doc:`pair_coeff <pair_coeff>`
|
|
commands.
|
|
|
|
The output *dist* is the distance bewteen the pair of atoms.
|
|
|
|
The output *eng* is the interaction energy for the pair of atoms.
|
|
|
|
The output *force* is the force acting between the pair of atoms,
|
|
which is positive for a repulsive force and negative for an attractive
|
|
force. The outputs *fx*\ , *fy*\ , and *fz* are the xyz components of
|
|
*force* on atom I.
|
|
|
|
A pair style may define additional pairwise quantities which can be
|
|
accessed as *p1* to *pN*\ , where N is defined by the pair style. Most
|
|
pair styles do not define any additional quantities, so N = 0. An
|
|
example of ones that do are the :doc:`granular pair styles <pair_gran>`
|
|
which calculate the tangential force between two particles and return
|
|
its components and magnitude acting on atom I for N = 1,2,3,4. See
|
|
individual pair styles for detils.
|
|
|
|
The output *dist* will be in distance :doc:`units <units>`. The output
|
|
*eng* will be in energy :doc:`units <units>`. The outputs *force*\ ,
|
|
*fx*\ , *fy*\ , and *fz* will be in force :doc:`units <units>`. The output
|
|
*pN* will be in whatever units the pair style defines.
|
|
|
|
Note that as atoms migrate from processor to processor, there will be
|
|
no consistent ordering of the entries within the local vector or array
|
|
from one timestep to the next. The only consistency that is
|
|
guaranteed is that the ordering on a particular timestep will be the
|
|
same for local vectors or arrays generated by other compute commands.
|
|
For example, pair output from the :doc:`compute property/local <compute_property_local>` command can be combined
|
|
with data from this command and output by the :doc:`dump local <dump>`
|
|
command in a consistent way.
|
|
|
|
.. note::
|
|
|
|
For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4
|
|
interactions within the molecular topology, their pairwise interaction
|
|
may be turned off, and thus they may not appear in the neighbor list,
|
|
and will not be part of the local data created by this command. More
|
|
specifically, this will be true of I,J pairs with a weighting factor
|
|
of 0.0; pairs with a non-zero weighting factor are included. The
|
|
weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set
|
|
by the :doc:`special_bonds <special_bonds>` command. An exception is if
|
|
long-range Coulombics are being computed via the
|
|
:doc:`kspace_style <kspace_style>` command, then atom pairs with
|
|
weighting factors of zero are still included in the neighbor list, so
|
|
that a portion of the long-range interaction contribution can be
|
|
computed in the pair style. Hence in that case, those atom pairs will
|
|
be part of the local data created by this command.
|
|
|
|
**Output info:**
|
|
|
|
This compute calculates a local vector or local array depending on the
|
|
number of keywords. The length of the vector or number of rows in the
|
|
array is the number of pairs. If a single keyword is specified, a
|
|
local vector is produced. If two or more keywords are specified, a
|
|
local array is produced where the number of columns = the number of
|
|
keywords. The vector or array can be accessed by any command that
|
|
uses local values from a compute as input. See :ref:`this section <howto_15>` for an overview of LAMMPS output
|
|
options.
|
|
|
|
The output for *dist* will be in distance :doc:`units <units>`. The
|
|
output for *eng* will be in energy :doc:`units <units>`. The output for
|
|
*force* will be in force :doc:`units <units>`.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
none
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`dump local <dump>`, :doc:`compute property/local <compute_property_local>`
|
|
|
|
**Default:** none
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|