forked from lijiext/lammps
143 lines
6.2 KiB
Plaintext
143 lines
6.2 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
|
|
|
|
compute property/local command :h3
|
|
|
|
[Syntax:]
|
|
|
|
compute ID group-ID property/local input1 input2 ... :pre
|
|
|
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
|
property/local = style name of this compute command :l
|
|
input = one or more attributes :l
|
|
possible attributes = natom1 natom2 ntype1 ntype2
|
|
patom1 patom2 ptype1 ptype2
|
|
batom1 batom2 btype
|
|
aatom1 aatom2 aatom3 atype
|
|
datom1 datom2 datom3 dtype
|
|
iatom1 iatom2 iatom3 itype :pre
|
|
|
|
natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
|
|
ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
|
|
patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff)
|
|
ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff)
|
|
batom1, batom2 = IDs of 2 atoms in each bond
|
|
btype = bond type of each bond
|
|
aatom1, aatom2, aatom3 = IDs of 3 atoms in each angle
|
|
atype = angle type of each angle
|
|
datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral
|
|
dtype = dihedral type of each dihedral
|
|
iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper
|
|
itype = improper type of each improper :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
compute 1 all property/local btype batom1 batom2
|
|
compute 1 all property/local atype aatom2 :pre
|
|
|
|
[Description:]
|
|
|
|
Define a computation that stores the specified attributes as local
|
|
data so it can be accessed by other "output
|
|
commands"_Section_howto.html#howto_15. If the input attributes refer
|
|
to bond information, then the number of datums generated, aggregated
|
|
across all processors, equals the number of bonds in the system.
|
|
Ditto for pairs, angles, etc.
|
|
|
|
If multiple input attributes are specified then they must all generate
|
|
the same amount of information, so that the resulting local array has
|
|
the same number of rows for each column. This means that only bond
|
|
attributes can be specified together, or angle attributes, etc. Bond
|
|
and angle attributes can not be mixed in the same compute
|
|
property/local command.
|
|
|
|
If the inputs are pair attributes, the local data 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. For {natom1} and {natom2}, all
|
|
atom pairs in the neighbor list are considered (out to the neighbor
|
|
cutoff = force cutoff + "neighbor skin"_neighbor.html). For {patom1}
|
|
and {patom2}, the distance between the atoms must be less than the
|
|
force cutoff distance for that pair to be included, as defined by the
|
|
"pair_style"_pair_style.html and "pair_coeff"_pair_coeff.html
|
|
commands.
|
|
|
|
If the inputs are bond, angle, etc attributes, the local data is
|
|
generated by looping over all the atoms owned on a processor and
|
|
extracting bond, angle, etc info. For bonds, info about an individual
|
|
bond will only be included if both atoms in the bond are in the
|
|
specified compute group. Likewise for angles, dihedrals, etc.
|
|
|
|
For bonds and angles, a bonds/angles that have been broken by setting
|
|
their bond/angle type to 0 will not be included. Bonds/angles that
|
|
have been turned off (see the "fix shake"_fix_shake.html or
|
|
"delete_bonds"_delete_bonds.html commands) by setting their bond/angle
|
|
type negative are written into the file. This is consistent with the
|
|
"compute bond/local"_compute_bond_local.html and "compute
|
|
angle/local"_compute_angle_local.html commands
|
|
|
|
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, output from the "compute
|
|
bond/local"_compute_bond_local.html command can be combined with bond
|
|
atom indices from this command and output by the "dump
|
|
local"_dump.html command in a consistent way.
|
|
|
|
The {natom1} and {natom2}, or {patom1} and {patom2} attributes refer
|
|
to the atom IDs of the 2 atoms in each pairwise interaction computed
|
|
by the "pair_style"_pair_style.html command. The {ntype1} and
|
|
{ntype2}, or {ptype1} and {ptype2} attributes refer to the atom types
|
|
of the 2 atoms in each pairwise interaction.
|
|
|
|
IMPORTANT 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 may 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 "special_bonds"_special_bonds.html
|
|
command.
|
|
|
|
The {batom1} and {batom2} attributes refer to the atom IDs of the 2
|
|
atoms in each "bond"_bond_style.html. The {btype} attribute refers to
|
|
the type of the bond, from 1 to Nbtypes = # of bond types. The number
|
|
of bond types is defined in the data file read by the
|
|
"read_data"_read_data.html command.
|
|
|
|
The attributes that start with "a", "d", "i", refer to similar values
|
|
for "angles"_angle_style.html, "dihedrals"_dihedral_style.html, and
|
|
"impropers"_improper_style.html.
|
|
|
|
[Output info:]
|
|
|
|
This compute calculates a local vector or local array depending on the
|
|
number of input values. The length of the vector or number of rows in
|
|
the array is the number of bonds, angles, etc. If a single input is
|
|
specified, a local vector is produced. If two or more inputs are
|
|
specified, a local array is produced where the number of columns = the
|
|
number of inputs. The vector or array can be accessed by any command
|
|
that uses local values from a compute as input. See "this
|
|
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
|
options.
|
|
|
|
The vector or array values will be integers that correspond to the
|
|
specified attribute.
|
|
|
|
[Restrictions:] none
|
|
|
|
[Related commands:]
|
|
|
|
"dump local"_dump.html, "compute reduce"_compute_reduce.html
|
|
|
|
[Default:] none
|