Class SBSNeighborSearchParticleSystemPBC#
ClassList > SBSNeighborSearchParticleSystemPBC
This class is the base class of neighbor search algorithms that can be applied to particle systems with periodic boundary conditions. More...
#include <SBSNeighborSearchParticleSystemPBC.hpp>
Inherits the following classes: SBSNeighborSearch
Inherited by the following classes: SBSNeighborSearchParticleSystemGridPBC
Public Functions#
| Type | Name |
|---|---|
| SBVector< SBAtom * > * | getNeighborVector (unsigned int i) Returns the neighbor list for the i-th particle. |
| virtual void | getNeighbors (SBVector< SBAtom * > & neighborVector, const SBPosition3 & position, const SBQuantity::length & radius) const Appends to neighborVector all atoms that are at a distance smaller than or equal toradius from the specifiedposition . |
| virtual void | getNeighbors (SBVector< SBAtom * > & neighborVector, const SBIAPosition3 & box) const Appends to neighborVector all atoms inside thebox . |
| virtual void | initializeNeighborLists () Initializes the neighbor lists. |
| void | onDynamicalEvent (SBDynamicalEvent * dynamicalEvent) Handles dynamical model events. |
| virtual void | print (unsigned int offset=0) override const Prints debugging information. |
| virtual void | updateNeighborLists () Updates the neighbor lists. |
| virtual | ~SBSNeighborSearchParticleSystemPBC () Destructor. |
Public Functions inherited from SBSNeighborSearch#
| Type | Name |
|---|---|
| virtual void | print (unsigned int offset=0) const Prints debugging information. |
| virtual | ~SBSNeighborSearch () Destructor. |
Public Functions inherited from SBCReferenceTarget#
| Type | Name |
|---|---|
| SBCReferenceTarget () Builds the reference target. |
|
| unsigned int | getMemoryFootprint () const Returns the memory footprint. |
| void | printReferencesToOwners () const Prints the references to the owners of this reference target. |
| virtual | ~SBCReferenceTarget () Destructor. |
Protected Attributes#
| Type | Name |
|---|---|
| SBIAPosition3 * | boxPBC The box's periodic boundary conditions bounds. |
| SBQuantity::length * | boxSizeX The box's size in x-direction. |
| SBQuantity::length * | boxSizeY The box's size in y-direction. |
| SBQuantity::length * | boxSizeZ The box's size in z-direction. |
| SBQuantity::squareLength * | cutoffDistanceSquared The squared cutoff distance. |
| SBQuantity::inverseLength * | inverseCutoffDistance The inverse cutoff distance. |
| SBBuffer< SBVector< SBAtom * > * > * | neighborVectorBuffer The buffer containing the neighbor lists associated to each atom. |
| SBPointer< SBParticleSystem > * | particleSystem The particle system the neighbor search algorithm is attached to. |
Protected Attributes inherited from SBCReferenceTarget#
| Type | Name |
|---|---|
| SBCReferenceTargetData * | dataPointer A pointer to the private data. |
Protected Functions#
| Type | Name |
|---|---|
| SBSNeighborSearchParticleSystemPBC (SBParticleSystem * particleSystem, const SBQuantity::length & cutoffDistance) Protected constructor. |
|
| SBSNeighborSearchParticleSystemPBC (SBParticleSystem * particleSystem, const SBQuantity::length & cutoffDistance, SBSNeighborSearchParticleSystemPBCData * dataPointer) Protected constructor. |
Protected Functions inherited from SBSNeighborSearch#
| Type | Name |
|---|---|
| SBSNeighborSearch () Protected constructor. |
|
| SBSNeighborSearch (SBSNeighborSearchData * dataPointer) Protected constructor. |
Protected Functions inherited from SBCReferenceTarget#
| Type | Name |
|---|---|
| SBCReferenceTarget (SBCReferenceTargetData * dataPointer) Protected constructor. |
|
| void | removeAllReferenceOwners () Stops all the reference owners from referencing this reference target. |
Detailed Description#
Short name: SBNeighborSearchParticleSystemPBC
Public Functions Documentation#
function getNeighborVector#
Returns the neighbor list for the i-th particle.
Returns the neighbor list vector for a given particle index.
The returned vector contains pointers to neighboring atoms for the specified particle.
Parameters:
iIndex of the particle whose neighbor vector is requested.
Returns:
Pointer to the vector of neighboring atoms.
function getNeighbors [1/2]#
Appends to neighborVector all atoms that are at a distance smaller than or equal toradius from the specifiedposition .
virtual void SBSNeighborSearchParticleSystemPBC::getNeighbors (
SBVector< SBAtom * > & neighborVector,
const SBPosition3 & position,
const SBQuantity::length & radius
) const
Appends to a vector all atoms within a specified radius of a given position.
This method searches for atoms whose distance to the provided position is less than or equal to the given radius and appends them to the supplied neighbor vector.
Parameters:
neighborVectorVector that will receive the neighboring atoms.positionPosition around which to search for neighbors.radiusSearch radius.
function getNeighbors [2/2]#
Appends to neighborVector all atoms inside thebox .
virtual void SBSNeighborSearchParticleSystemPBC::getNeighbors (
SBVector< SBAtom * > & neighborVector,
const SBIAPosition3 & box
) const
Appends to a vector all atoms inside a specified box region.
This method searches for atoms that lie within the given axis-aligned bounding box and appends them to the neighbor vector.
Parameters:
neighborVectorVector that will receive the neighboring atoms.boxBox defining the region to search for atoms.
function initializeNeighborLists#
Initializes the neighbor lists.
Initializes the neighbor lists for all particles.
function onDynamicalEvent#
Handles dynamical model events.
Handles a dynamical event, updating the neighbor search state as needed.
This method processes the provided dynamical event, which may affect particle positions or system configuration.
Parameters:
dynamicalEventPointer to the dynamical event to handle.
function print#
Prints debugging information.
Prints debugging information with a specified indentation offset.
The method outputs the internal state of the neighbor search object, indented by the given offset.
Parameters:
offsetNumber of spaces to indent the output.
Implements SBSNeighborSearch::print
function updateNeighborLists#
Updates the neighbor lists.
Updates the neighbor lists after particle positions have changed.
function ~SBSNeighborSearchParticleSystemPBC#
Destructor.
Destroys the neighbor search object and releases allocated resources.
Protected Attributes Documentation#
variable boxPBC#
The box's periodic boundary conditions bounds.
variable boxSizeX#
The box's size in x-direction.
variable boxSizeY#
The box's size in y-direction.
variable boxSizeZ#
The box's size in z-direction.
variable cutoffDistanceSquared#
The squared cutoff distance.
variable inverseCutoffDistance#
The inverse cutoff distance.
variable neighborVectorBuffer#
The buffer containing the neighbor lists associated to each atom.
variable particleSystem#
The particle system the neighbor search algorithm is attached to.
Protected Functions Documentation#
function SBSNeighborSearchParticleSystemPBC [1/2]#
Protected constructor.
SBSNeighborSearchParticleSystemPBC::SBSNeighborSearchParticleSystemPBC (
SBParticleSystem * particleSystem,
const SBQuantity::length & cutoffDistance
)
Constructs a neighbor search object for a particle system with a given cutoff distance.
This constructor creates a neighbor search algorithm attached to the specified particle system and uses the provided cutoff distance to determine neighbor interactions. It delegates to the protected constructor with a newly allocated internal data object.
Parameters:
pPointer to the particle system.cCutoff distance used for neighbor determination.
function SBSNeighborSearchParticleSystemPBC [2/2]#
Protected constructor.
SBSNeighborSearchParticleSystemPBC::SBSNeighborSearchParticleSystemPBC (
SBParticleSystem * particleSystem,
const SBQuantity::length & cutoffDistance,
SBSNeighborSearchParticleSystemPBCData * dataPointer
)
Constructs a neighbor search object for a particle system with a given cutoff distance and internal data pointer.
This constructor initializes the neighbor search algorithm, associating it with the specified particle system, cutoff distance, and internal data structure.
Parameters:
pPointer to the particle system.cCutoff distance.dataPointerPointer to the internal data object used by the neighbor search algorithm.