Interface | Description |
---|---|
NeighborCriterion |
Atom filter used to specify whether two atoms are considered neighbors,
for the purpose of tabulating neighbor lists.
|
Class | Description |
---|---|
CriterionAdapter |
Wraps another criterion while adding additional criteria to the acceptance
decision.
|
CriterionAll |
Specifies that all atoms pairs are to be considered neighbors.
|
CriterionBondedSimple | |
CriterionInterMolecular |
Pair criterion that judges whether two atoms are or are not in the same
molecule.
|
CriterionMolecular |
Pair criterion that judges whether two atoms are or are not in
the same molecule.
|
CriterionMolecularNonAdjacent |
Pair criterion that judges whether two atoms are or are not in the same
molecule, and whether or not they are separated by a minimum number of bonds.
|
CriterionNone | |
CriterionPositionWall |
Simple neighbor criterion based on distance moved by a leaf atom since
the last update.
|
CriterionPositionWall.DoubleWrapper | |
CriterionSimple |
Simple neighbor criterion based on distance moved by a leaf atom since
the last update.
|
CriterionType |
Filters atoms to match a given AtomType.
|
CriterionTypePair |
Filters atoms pairs to match a given pair of AtomTypes.
|
CriterionTypesCombination |
Filters AtomSets to match a given set of AtomTypes.
|
CriterionTypesMulti |
Filters AtomSets to match a given set of AtomTypes.
|
PotentialGroupHybrid |
A PotentialGroup class to work with PotentialMasterHybrid.
|
PotentialGroupNbr | |
PotentialMasterHybrid |
PotentialMaster that uses both neighbor-cell iteration and cell-list
iteration.
|
PotentialMasterNbr |
Neighbor-list facility is implemented as follows. Neighbor lists are held by the atom's sequencer (AtomSequencerNbr). Lists are keyed to the potential, so given an atom it is possible to iterate over all current neighbors interacting with it via a particular potential. Such lists are kept only for "real" potentials, not potential groups. PotentialMaster constructs a NeighborManager, which needs to listen for interval events, and must therefore be registered with all integrators as an interval listener. The neighborManager is responsible for keeping the neighbor lists up to date. The NeighborCriterion interface includes methods that allow it to flag whether an atom has moved sufficiently far to require that its neighbor list be updated. With each interval event it loops through all atoms and checks whether any of the neighbor criteria associated with each indicates that its neighbor list needs updating. If this situation is observed for one atom, the neighbor lists of all atoms are updated (with the idea that they will very soon need to be updated even if they are currently ok).
Once specified via the setSpecies method, NeighborCriterion instances are recorded in three places.