Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Scine::SwooseUtilities::TopologyUtils Class Reference
Collaboration diagram for Scine::SwooseUtilities::TopologyUtils:
Collaboration graph

Static Public Member Functions

static std::vector< std::list
< int > > 
generateListsOfNeighborsFromBondOrderMatrix (int nAtoms, const Utils::BondOrderCollection &bondOrderMatrix, double minimalBondOrderToConsider)
 This function generates an array of nAtoms lists of neighbors from a lower-triangular bond-order matrix.
 
static Utils::BondOrderCollection generateBondOrderMatrixFromListsOfNeighbors (const std::vector< std::list< int >> &listsOfNeighbors)
 This function generates a bond order matrix from a given lists of neighbors.
 
static std::vector< int > divideStructureAtBond (int a1, int a2, const Utils::BondOrderCollection &bondOrderMatrix, bool &ok)
 Divides the atoms into two groups according to which side of the bond given by atoms a1 and a2 are. More...
 
static int countNeighborsOfElementType (int atomType, const std::vector< std::list< int >> &listsOfNeighbors, Utils::ElementType elementType, const Utils::ElementTypeCollection &elementTypeCollection)
 Counts and returns the number of neighbors for atom with index 'atomIndex' that has the given element type.
 
static void calculateNumberOfNeighbors (int nAtoms, std::vector< std::list< int >> listsOfNeighbors, std::vector< int > &nNeighbors)
 

Member Function Documentation

void Scine::SwooseUtilities::TopologyUtils::calculateNumberOfNeighbors ( int  nAtoms,
std::vector< std::list< int >>  listsOfNeighbors,
std::vector< int > &  nNeighbors 
)
static
Parameters
nAtoms
listsOfNeighbors
nNeighbors
std::vector< int > Scine::SwooseUtilities::TopologyUtils::divideStructureAtBond ( int  a1,
int  a2,
const Utils::BondOrderCollection bondOrderMatrix,
bool &  ok 
)
static

Divides the atoms into two groups according to which side of the bond given by atoms a1 and a2 are.

In the returned array, index i is 1 if atom i is on the side of a1, 2 if it is on the side of a2, and 0 if if elsewhere. ok is true if the division was successful (i.e. no cycles).


The documentation for this class was generated from the following files: