update docs for added typelabel support

This commit is contained in:
Axel Kohlmeyer
2024-07-25 21:25:14 -04:00
parent c343287f2c
commit df4ae41283
2 changed files with 46 additions and 35 deletions

View File

@ -27,9 +27,9 @@ Syntax
.. parsed-literal:: .. parsed-literal::
*b* values = one or more bond types *b* values = one or more bond types (may use typelabels)
*a* values = one or more angle types *a* values = one or more angle types (may use typelabels)
*t* values = one or more atom types *t* values = one or more atom types (may use typelabels)
*m* value = one or more mass values *m* value = one or more mass values
* zero or more keyword/value pairs may be appended * zero or more keyword/value pairs may be appended
@ -137,6 +137,13 @@ constrained (within a fudge factor of MASSDELTA specified in
both bonds in the angle are constrained then the angle will also be both bonds in the angle are constrained then the angle will also be
constrained if its type is in the list. constrained if its type is in the list.
.. versionchanged:: TBD
The types may be given as typelabels for as long as none of the
typelabels are called *b*, *a*, *t*, or *m*. In those cases the type
arguments would be ambiguous and thus support for typelabels will be
disabled instead.
For all constraints, a particular bond is only constrained if both For all constraints, a particular bond is only constrained if both
atoms in the bond are in the group specified with the SHAKE fix. atoms in the bond are in the group specified with the SHAKE fix.

View File

@ -32,7 +32,7 @@ Syntax
group-ID = only build pair neighbor lists for atoms in this group group-ID = only build pair neighbor lists for atoms in this group
*exclude* values: *exclude* values:
*type* M N *type* M N
M,N = exclude if one atom in pair is type M, other is type N M,N = exclude if one atom in pair is type M, other is type N (M and N may be typelabels)
*group* group1-ID group2-ID *group* group1-ID group2-ID
group1-ID,group2-ID = exclude if one atom is in 1st group, other in 2nd group1-ID,group2-ID = exclude if one atom is in 1st group, other in 2nd
*molecule/intra* group-ID *molecule/intra* group-ID
@ -159,15 +159,19 @@ sample scenarios where this is useful:
* When one or more rigid bodies are specified, interactions within each * When one or more rigid bodies are specified, interactions within each
body can be turned off to save needless computation. See the :doc:`fix rigid <fix_rigid>` command for more details. body can be turned off to save needless computation. See the :doc:`fix rigid <fix_rigid>` command for more details.
The *exclude type* option turns off the pairwise interaction if one .. versionchanged:: TBD
atom is of type M and the other of type N. M can equal N. The
*exclude group* option turns off the interaction if one atom is in the Support for typelabels was added.
first group and the other is the second. Group1-ID can equal
group2-ID. The *exclude molecule/intra* option turns off the The *exclude type* option turns off the pairwise interaction if one atom
interaction if both atoms are in the specified group and in the same is of type M and the other of type N. M can equal N. The *exclude
molecule, as determined by their molecule ID. The *exclude group* option turns off the interaction if one atom is in the first
molecule/inter* turns off the interaction between pairs of atoms that group and the other is the second. Group1-ID can equal group2-ID. The
have different molecule IDs and are both in the specified group. *exclude molecule/intra* option turns off the interaction if both atoms
are in the specified group and in the same molecule, as determined by
their molecule ID. The *exclude molecule/inter* turns off the
interaction between pairs of atoms that have different molecule IDs and
are both in the specified group.
Each of the exclude options can be specified multiple times. The Each of the exclude options can be specified multiple times. The
*exclude type* option is the most efficient option to use; it requires *exclude type* option is the most efficient option to use; it requires
@ -219,34 +223,34 @@ atom can have.
The *binsize* option allows you to specify what size of bins will be The *binsize* option allows you to specify what size of bins will be
used in neighbor list construction to sort and find neighboring atoms. used in neighbor list construction to sort and find neighboring atoms.
By default, for :doc:`neighbor style bin <neighbor>`, LAMMPS uses bins By default, for :doc:`neighbor style bin <neighbor>`, LAMMPS uses bins
that are 1/2 the size of the maximum pair cutoff. For :doc:`neighbor style multi <neighbor>`, that are 1/2 the size of the maximum pair cutoff. For :doc:`neighbor
the bins are 1/2 the size of the collection interaction cutoff. style multi <neighbor>`, the bins are 1/2 the size of the collection
Typically these are good values for minimizing the time for interaction cutoff. Typically these are good values for minimizing the
neighbor list construction. This setting overrides the default. time for neighbor list construction. This setting overrides the
If you make it too big, there is little overhead due to default. If you make it too big, there is little overhead due to
looping over bins, but more atoms are checked. If you make it too looping over bins, but more atoms are checked. If you make it too
small, the optimal number of atoms is checked, but bin overhead goes small, the optimal number of atoms is checked, but bin overhead goes up.
up. If you set the binsize to 0.0, LAMMPS will use the default If you set the binsize to 0.0, LAMMPS will use the default binsize of
binsize of 1/2 the cutoff. 1/2 the cutoff.
The *collection/type* option allows you to define collections of atom The *collection/type* option allows you to define collections of atom
types, used by the *multi* neighbor mode. By grouping atom types with types, used by the *multi* neighbor mode. By grouping atom types with
similar physical size or interaction cutoff lengths, one may be able similar physical size or interaction cutoff lengths, one may be able to
to improve performance by reducing improve performance by reducing overhead. You must first specify the
overhead. You must first specify the number of collections N to be number of collections N to be defined followed by N lists of types.
defined followed by N lists of types. Each list consists of a series of type Each list consists of a series of type ranges separated by commas. The
ranges separated by commas. The range can be specified as a range can be specified as a single numeric value, or a wildcard asterisk
single numeric value, or a wildcard asterisk can be used to specify a range can be used to specify a range of values. This takes the form "\*" or
of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For "\*n" or "n\*" or "m\*n". For example, if M = the number of atom types,
example, if M = the number of atom types, then an asterisk with no numeric then an asterisk with no numeric values means all types from 1 to M. A
values means all types from 1 to M. A leading asterisk means all types leading asterisk means all types from 1 to n (inclusive). A trailing
from 1 to n (inclusive). A trailing asterisk means all types from n to M asterisk means all types from n to M (inclusive). A middle asterisk
(inclusive). A middle asterisk means all types from m to n (inclusive). means all types from m to n (inclusive). Note that all atom types must
Note that all atom types must be included in exactly one of the N collections. be included in exactly one of the N collections.
The *collection/interval* option provides a similar capability. This The *collection/interval* option provides a similar capability. This
command allows a user to define collections by specifying a series of command allows a user to define collections by specifying a series of
cutoff intervals. LAMMPS will automatically sort atoms into these cutoff intervals. LAMMPS will automatically sort atoms into these
intervals based on their type-dependent cutoffs or their finite size. intervals based on their type-dependent cutoffs or their finite size.
You must first specify the number of collections N to be defined You must first specify the number of collections N to be defined
followed by N values representing the upper cutoff of each interval. followed by N values representing the upper cutoff of each interval.