ESyS-Particle  2.3.4
ASimpleNTable Class Referenceabstract

Abstract base class providing the interface for a simple, serial neighbor table. Used in random initialization. More...

#include <SimpleNTable.h>

Inheritance diagram for ASimpleNTable:
Collaboration diagram for ASimpleNTable:

Public Member Functions

 ASimpleNTable ()
 
virtual ~ASimpleNTable ()
 
int getNumInsertedParticles () const
 
const vector< SimpleParticle > * getNeighbors (const Vec3 &) const
 
int getClosestParticleID (const Vec3 &) const
 
virtual void getInteractions (set< BasicInteraction, BILess > &, double)=0
 
void insertParticle (SimpleParticle)
 

Protected Member Functions

virtual int index (const Vec3 &) const =0
 
virtual vector< int > allidx (const Vec3 &) const =0
 
virtual void insertParticleCircular (SimpleParticle)=0
 

Protected Attributes

vector< SimpleParticle > * m_data
 
Vec3 m_p0
 
double m_dim
 
int m_numInsertedParticles
 

Detailed Description

Abstract base class providing the interface for a simple, serial neighbor table. Used in random initialization.

Author
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

◆ ASimpleNTable()

ASimpleNTable::ASimpleNTable ( )

◆ ~ASimpleNTable()

ASimpleNTable::~ASimpleNTable ( )
virtual

References m_data, and NULL.

Member Function Documentation

◆ allidx()

virtual vector<int> ASimpleNTable::allidx ( const Vec3 ) const
protectedpure virtual

Implemented in CSimple3DNTable, and CSimple2DNTable.

Referenced by insertParticle().

Here is the caller graph for this function:

◆ getClosestParticleID()

int ASimpleNTable::getClosestParticleID ( const Vec3 pos) const

get particle closest to given position

Parameters
posthe position
Warning
doesn't check if position is in space

References index(), esys::lsm::bpu::iter(), m_data, and m_dim.

Referenced by CRandomBlock2D::tagParticleClosestTo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getInteractions()

virtual void ASimpleNTable::getInteractions ( set< BasicInteraction, BILess > &  ,
double   
)
pure virtual

◆ getNeighbors()

const vector< SimpleParticle > * ASimpleNTable::getNeighbors ( const Vec3 pos) const

get all particles near a given position

Parameters
posthe position

References index(), and m_data.

Referenced by ARandomAssembly::getClosestNeighbors(), and ARandomAssembly::getNeighborList().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNumInsertedParticles()

int ASimpleNTable::getNumInsertedParticles ( ) const

◆ index()

virtual int ASimpleNTable::index ( const Vec3 ) const
protectedpure virtual

Implemented in CSimple3DNTable, and CSimple2DNTable.

Referenced by getClosestParticleID(), and getNeighbors().

Here is the caller graph for this function:

◆ insertParticle()

void ASimpleNTable::insertParticle ( SimpleParticle  cbp)

Add particle to all neighorlists it belongs to

Parameters
cbpthe particle

References allidx(), SimpleParticle::getPos(), insertParticleCircular(), m_data, and m_numInsertedParticles.

Referenced by CRandomBlock2D::insertParticle(), and CRandomBlock3D::insertParticle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insertParticleCircular()

virtual void ASimpleNTable::insertParticleCircular ( SimpleParticle  )
protectedpure virtual

Implemented in CSimple3DNTable, and CSimple2DNTable.

Referenced by insertParticle().

Here is the caller graph for this function:

Member Data Documentation

◆ m_data

◆ m_dim

◆ m_numInsertedParticles

int ASimpleNTable::m_numInsertedParticles
protected

◆ m_p0


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