Loading...
Searching...
No Matches
SBSNeighborSearchParticleSystemGrid Class Reference

This class describes a grid-based neighbor search algorithm that can be applied to particle systems.

Debugging

SBHashMap< std::pair< unsigned int, unsigned int >, bool > * neighborMap
 Hashmap which caches whether two atoms are neighbors.
 
SBHashMap< GridKey, GridCell *, GridKeyFunctor, GridKeyComparator > * grid
 
SBVector< GridKey > * gridKeyVector
 
virtual void print (unsigned int offset=0) const override
 Prints debugging information.
 

Destructor

 SBSNeighborSearchParticleSystemGrid (SBParticleSystem *, const SBQuantity::length &cutoffDistance)
 
virtual ~SBSNeighborSearchParticleSystemGrid ()
 

Neighbor lists

virtual void initializeNeighborLists () override
 
virtual void updateNeighborLists () override
 

Neighbor search

virtual bool areNeighbors (unsigned int i, unsigned int j) const override
 Returns whether atoms with indices i and j are neighbors.
 
virtual bool areNeighbors (SBAtom *atomI, SBAtom *atomJ) const override
 Returns whether atoms atomI and atomJ are neighbors.
 
virtual void getNeighbors (SBVector< SBAtom * > &neighborVector, const SBPosition3 &position, const SBQuantity::length &radius) const override
 Appends to neighborVector all atoms that are at a distance smaller than or equal to radius from the specified position.
 
virtual void getNeighbors (SBVector< SBAtom * > &neighborVector, const SBIAPosition3 &box) const override
 Appends to neighborVector all atoms inside the box.
 

Event handling <br>

void onDynamicalEvent (SBDynamicalEvent *dynamicalEvent)
 

Additional Inherited Members

- Public Member Functions inherited from SBSNeighborSearchParticleSystem
virtual ~SBSNeighborSearchParticleSystem ()
 
SBVector< SBAtom * > const * getNeighborVector (unsigned int i)
 
void onDynamicalEvent (SBDynamicalEvent *dynamicalEvent)
 
- Public Member Functions inherited from SBCReferenceTarget
unsigned int getMemoryFootprint () const
 
void printReferencesToOwners () const
 
 SBCReferenceTarget ()
 
virtual ~SBCReferenceTarget ()
 
- Protected Member Functions inherited from SBSNeighborSearchParticleSystem
 SBSNeighborSearchParticleSystem (SBParticleSystem *, const SBQuantity::length &cutoffDistance)
 
- Protected Member Functions inherited from SBCReferenceTarget
void removeAllReferenceOwners ()
 
 SBCReferenceTarget (SBCReferenceTargetData *dataPointer)
 
- Protected Attributes inherited from SBSNeighborSearchParticleSystem
SBQuantity::squareLengthcutoffDistanceSquared
 
SBQuantity::inverseLengthinverseCutoffDistance
 
SBPointer< SBParticleSystem > * particleSystem
 The particle system the neighbor search algorithm is attached to.
 
SBBuffer< SBVector< SBAtom * > * > * neighborVectorBuffer
 The buffer containing the neighbor lists associated to each atom.
 
- Protected Attributes inherited from SBCReferenceTarget
SBCReferenceTargetData * dataPointer
 

Member Function Documentation

◆ areNeighbors() [1/2]

bool SBSNeighborSearchParticleSystemGrid::areNeighbors ( SBAtom atomI,
SBAtom atomJ 
) const
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.

◆ areNeighbors() [2/2]

bool SBSNeighborSearchParticleSystemGrid::areNeighbors ( unsigned int  i,
unsigned int  j 
) const
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.

◆ getNeighbors() [1/2]

void SBSNeighborSearchParticleSystemGrid::getNeighbors ( SBVector< SBAtom * > &  neighborVector,
const SBIAPosition3 box 
) const
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.

◆ getNeighbors() [2/2]

void SBSNeighborSearchParticleSystemGrid::getNeighbors ( SBVector< SBAtom * > &  neighborVector,
const SBPosition3 position,
const SBQuantity::length radius 
) const
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.

◆ initializeNeighborLists()

void SBSNeighborSearchParticleSystemGrid::initializeNeighborLists ( )
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.

◆ print()

void SBSNeighborSearchParticleSystemGrid::print ( unsigned int  offset = 0) const
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.

◆ updateNeighborLists()

void SBSNeighborSearchParticleSystemGrid::updateNeighborLists ( )
overridevirtual

Reimplemented from SBSNeighborSearchParticleSystem.