ESyS-Particle  2.3.4
CSimple3DNTable Class Reference

#include <SimpleNTable3D.h>

Inheritance diagram for CSimple3DNTable:
Collaboration diagram for CSimple3DNTable:

Public Member Functions

 CSimple3DNTable (const Vec3 &, const Vec3 &, double, bool xcirc=false, bool ycirc=false, bool zcirc=false)
 
virtual void getInteractions (set< BasicInteraction, BILess > &, double)
 
void print ()
 
template<class TmplInteractionValidator >
InteractionSet getInteractions (const TmplInteractionValidator &validator) const
 
- Public Member Functions inherited from ASimpleNTable
 ASimpleNTable ()
 
virtual ~ASimpleNTable ()
 
int getNumInsertedParticles () const
 
const vector< SimpleParticle > * getNeighbors (const Vec3 &) const
 
int getClosestParticleID (const Vec3 &) const
 
void insertParticle (SimpleParticle)
 

Protected Member Functions

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

Private Attributes

Vec3 m_xshift
 
Vec3 m_yshift
 
Vec3 m_zshift
 
int m_xsize
 
int m_ysize
 
int m_zsize
 
bool m_xcirc
 
bool m_ycirc
 
bool m_zcirc
 

Additional Inherited Members

- Protected Attributes inherited from ASimpleNTable
vector< SimpleParticle > * m_data
 
Vec3 m_p0
 
double m_dim
 
int m_numInsertedParticles
 

Constructor & Destructor Documentation

◆ CSimple3DNTable()

CSimple3DNTable::CSimple3DNTable ( const Vec3 pos,
const Vec3 dim,
double  r,
bool  xcirc = false,
bool  ycirc = false,
bool  zcirc = false 
)

Constructor

Parameters
posposition of the (xmin,ymin,zmin) point
dimsize of the space
rgrid spacing

References ASimpleNTable::m_data, ASimpleNTable::m_dim, ASimpleNTable::m_p0, m_xcirc, m_xshift, m_xsize, m_ycirc, m_yshift, m_ysize, m_zcirc, m_zsize, Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

Member Function Documentation

◆ allidx()

vector< int > CSimple3DNTable::allidx ( const Vec3 pos) const
protectedvirtual

Get all indices to which a particle at a given position will be added.

Parameters
posthe position
Warning
does not check if pos is within space

Implements ASimpleNTable.

References ASimpleNTable::m_dim, ASimpleNTable::m_p0, m_xsize, m_ysize, m_zsize, Vec3::X(), Vec3::Y(), and Vec3::Z().

Referenced by insertParticleCircular().

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

◆ getInteractions() [1/2]

template<class TmplInteractionValidator >
InteractionSet CSimple3DNTable::getInteractions ( const TmplInteractionValidator &  validator) const
inline

References esys::lsm::bpu::iter(), ASimpleNTable::m_data, m_xsize, m_ysize, and m_zsize.

Here is the call graph for this function:

◆ getInteractions() [2/2]

void CSimple3DNTable::getInteractions ( set< BasicInteraction, BILess > &  iset,
double  dmax 
)
virtual

Put all interactions into a set

Parameters
isetthe set into which to put them
dmaxmax distance for the creation of an interaction

Implements ASimpleNTable.

References esys::lsm::bpu::iter(), ASimpleNTable::m_data, m_xsize, m_ysize, and m_zsize.

Here is the call graph for this function:

◆ index()

int CSimple3DNTable::index ( const Vec3 pos) const
protectedvirtual

Return the grid index of a position.

Parameters
posthe position
Warning
does not check if pos is within space

Implements ASimpleNTable.

References ASimpleNTable::m_dim, ASimpleNTable::m_p0, m_xsize, m_ysize, Vec3::X(), Vec3::Y(), and Vec3::Z().

Here is the call graph for this function:

◆ insertParticleCircular()

void CSimple3DNTable::insertParticleCircular ( SimpleParticle  cbp)
protectedvirtual

insert circular images of the particle

Parameters
cbpthe particle

Implements ASimpleNTable.

References allidx(), SimpleParticle::getPos(), ASimpleNTable::m_data, ASimpleNTable::m_dim, ASimpleNTable::m_p0, m_xcirc, m_xshift, m_xsize, SimpleParticle::moveTo(), and Vec3::X().

Here is the call graph for this function:

◆ print()

void CSimple3DNTable::print ( )

References esys::lsm::bpu::iter(), ASimpleNTable::m_data, m_xsize, m_ysize, and m_zsize.

Here is the call graph for this function:

Member Data Documentation

◆ m_xcirc

bool CSimple3DNTable::m_xcirc
private

◆ m_xshift

Vec3 CSimple3DNTable::m_xshift
private

◆ m_xsize

int CSimple3DNTable::m_xsize
private

◆ m_ycirc

bool CSimple3DNTable::m_ycirc
private

Referenced by CSimple3DNTable().

◆ m_yshift

Vec3 CSimple3DNTable::m_yshift
private

Referenced by CSimple3DNTable().

◆ m_ysize

int CSimple3DNTable::m_ysize
private

◆ m_zcirc

bool CSimple3DNTable::m_zcirc
private

Referenced by CSimple3DNTable().

◆ m_zshift

Vec3 CSimple3DNTable::m_zshift
private

◆ m_zsize

int CSimple3DNTable::m_zsize
private

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