forked from lijiext/lammps
151 lines
5.0 KiB
Plaintext
151 lines
5.0 KiB
Plaintext
.. index:: compute group/group
|
|
|
|
compute group/group command
|
|
===========================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute ID group-ID group/group group2-ID keyword value ...
|
|
|
|
* ID, group-ID are documented in :doc:`compute <compute>` command
|
|
* group/group = style name of this compute command
|
|
* group2-ID = group ID of second (or same) group
|
|
* zero or more keyword/value pairs may be appended
|
|
* keyword = *pair* or *kspace* or *boundary*
|
|
.. parsed-literal::
|
|
|
|
*pair* value = *yes* or *no*
|
|
*kspace* value = *yes* or *no*
|
|
*boundary* value = *yes* or *no*
|
|
|
|
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute 1 lower group/group upper
|
|
compute 1 lower group/group upper kspace yes
|
|
compute mine fluid group/group wall
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Define a computation that calculates the total energy and force
|
|
interaction between two groups of atoms: the compute group and the
|
|
specified group2. The two groups can be the same.
|
|
|
|
If the *pair* keyword is set to *yes*\ , which is the default, then the
|
|
the interaction energy will include a pair component which is defined
|
|
as the pairwise energy between all pairs of atoms where one atom in
|
|
the pair is in the first group and the other is in the second group.
|
|
Likewise, the interaction force calculated by this compute will
|
|
include the force on the compute group atoms due to pairwise
|
|
interactions with atoms in the specified group2.
|
|
|
|
.. note::
|
|
|
|
The energies computed by the *pair* keyword do not include tail
|
|
corrections, even if they are enabled via the
|
|
:doc:`pair_modify <pair_modify>` command.
|
|
|
|
If the *kspace* keyword is set to *yes*\ , which is not the default, and
|
|
if a :doc:`kspace_style <kspace_style>` is defined, then the interaction
|
|
energy will include a Kspace component which is the long-range
|
|
Coulombic energy between all the atoms in the first group and all the
|
|
atoms in the 2nd group. Likewise, the interaction force calculated by
|
|
this compute will include the force on the compute group atoms due to
|
|
long-range Coulombic interactions with atoms in the specified group2.
|
|
|
|
Normally the long-range Coulombic energy converges only when the net
|
|
charge of the unit cell is zero. However, one can assume the net
|
|
charge of the system is neutralized by a uniform background plasma,
|
|
and a correction to the system energy can be applied to reduce
|
|
artifacts. For more information see :ref:`(Bogusz) <Bogusz>`. If the
|
|
*boundary* keyword is set to *yes*\ , which is the default, and *kspace*
|
|
contributions are included, then this energy correction term will be
|
|
added to the total group-group energy. This correction term does not
|
|
affect the force calculation and will be zero if one or both of the
|
|
groups are charge neutral. This energy correction term is the same as
|
|
that included in the regular Ewald and PPPM routines.
|
|
|
|
This compute does not calculate any bond or angle or dihedral or
|
|
improper interactions between atoms in the two groups.
|
|
|
|
|
|
----------
|
|
|
|
|
|
The pairwise contributions to the group-group interactions are
|
|
calculated by looping over a neighbor list. The Kspace contribution
|
|
to the group-group interactions require essentially the same amount of
|
|
work (FFTs, Ewald summation) as computing long-range forces for the
|
|
entire system. Thus it can be costly to invoke this compute too
|
|
frequently.
|
|
|
|
If you desire a breakdown of the interactions into a pairwise and
|
|
Kspace component, simply invoke the compute twice with the appropriate
|
|
yes/no settings for the *pair* and *kspace* keywords. This is no more
|
|
costly than using a single compute with both keywords set to *yes*\ .
|
|
The individual contributions can be summed in a
|
|
:doc:`variable <variable>` if desired.
|
|
|
|
This `document <PDF/kspace.pdf>`_ describes how the long-range
|
|
group-group calculations are performed.
|
|
|
|
|
|
----------
|
|
|
|
|
|
**Output info:**
|
|
|
|
This compute calculates a global scalar (the energy) and a global
|
|
vector of length 3 (force), which can be accessed by indices 1-3.
|
|
These values can be used by any command that uses global scalar or
|
|
vector values from a compute as input. See :ref:`this section <howto_15>` for an overview of LAMMPS output
|
|
options.
|
|
|
|
Both 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 be in force :doc:`units <units>`.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
|
|
|
|
Not all pair styles can be evaluated in a pairwise mode as required by
|
|
this compute. For example, 3-body and other many-body potentials,
|
|
such as :doc:`Tersoff <pair_tersoff>` and
|
|
:doc:`Stillinger-Weber <pair_sw>` cannot be used. :doc:`EAM <pair_eam>`
|
|
potentials only include the pair potential portion of the EAM
|
|
interaction when used by this compute, not the embedding term.
|
|
|
|
Not all Kspace styles support calculation of group/group interactions.
|
|
The *ewald* and *pppm* styles do.
|
|
|
|
**Related commands:** none
|
|
|
|
Default
|
|
"""""""
|
|
|
|
The option defaults are pair = yes, kspace = no, and boundary = yes.
|
|
|
|
|
|
----------
|
|
|
|
|
|
.. _Bogusz:
|
|
|
|
|
|
|
|
Bogusz et al, J Chem Phys, 108, 7070 (1998)
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|