|
faunus
|
Determines if two particles within a group are excluded from mutual nonbonded interactions. More...
#include <molecule.h>
Public Types | |
| using | char_bool = unsigned char |
| obs: std::vector<bool> uses packing with performance implications | |
| using | AtomPair = std::pair< int, int > |
Public Member Functions | |
| ExclusionsVicinity (int atoms_cnt=0, int max_difference=0) | |
| void | add (int i, int j) |
| void | add (const std::vector< std::pair< int, int >> &pairs) |
| bool | isExcluded (int i, int j) const |
| bool | empty () const |
| true if no excluded interactions at all | |
Static Public Member Functions | |
| static ExclusionsVicinity | create (int atoms_cnt, const std::vector< AtomPair > &pairs) |
| Generates memory-optimal structure from underlying pair list. More... | |
Friends | |
| void | to_json (json &j, const ExclusionsVicinity &exclusions) |
Determines if two particles within a group are excluded from mutual nonbonded interactions.
This is a memory optimized implementation especially for linear molecules. The matrix of excluded pairs has dimensions of number of atoms × maximal distance between excluded neighbours (in terms of atom indices within the molecule).
|
explicit |
| atoms_cnt | number of atoms in the molecule |
| max_difference | maximal allowed distance |
| void Faunus::ExclusionsVicinity::add | ( | int | i, |
| int | j | ||
| ) |
| i,j | indices of atoms within molecule with excluded nonbonded interaction |
|
static |
Generates memory-optimal structure from underlying pair list.
| atoms_cnt | number of atoms in the molecule |
| pairs | list of excluded pairs using intramolecular indices |
|
inline |
| i,j | indices of atoms within molecule with excluded nonbonded interaction |
1.8.13