GenGeo  1.1
FullCircMNTable3D Class Reference

circular 3D Multi-group Neighbour table More...

#include <FullCircMNTable3D.h>

Inheritance diagram for FullCircMNTable3D:
Collaboration diagram for FullCircMNTable3D:

Public Member Functions

 FullCircMNTable3D ()
 FullCircMNTable3D (const Vector3 &, const Vector3 &, double, unsigned int)
virtual ~FullCircMNTable3D ()
virtual bool insert (const Sphere &, unsigned int)
virtual bool insertChecked (const Sphere &, unsigned int, double tol=s_small_value)
virtual bool checkInsertable (const Sphere &, unsigned int)
virtual void generateBonds (int, double, int)
- Public Member Functions inherited from CircMNTable3D
 CircMNTable3D ()
 CircMNTable3D (const Vector3 &, const Vector3 &, double, unsigned int)
 ~CircMNTable3D ()
virtual void generateClusterBonds (int, double, int, int)
- Public Member Functions inherited from MNTable3D
 MNTable3D ()
 MNTable3D (const Vector3 &, const Vector3 &, double, unsigned int)
virtual ~MNTable3D ()
bool insertFromRawFile (const string &, double, double)
void GrowNGroups (unsigned int)
const multimap< double, const
Sphere * > 
getSpheresClosestTo (const Vector3 &, unsigned int) const
const multimap< double, const
Sphere * > 
getSpheresFromGroupNear (const Vector3 &, double, int) const
const vector< const Sphere * > getAllSpheresFromGroup (int) const
const SpheregetClosestSphereFromGroup (const Sphere &, int) const
int getTagOfClosestSphereFromGroup (const Sphere &, int) const
const SpheregetClosestSphereFromGroup (const Sphere &, int, double, double, double) const
int getTagOfClosestSphereFromGroup (const Sphere &, int, double, double, double) const
void tagParticlesAlongPlane (const Plane &, double, int, unsigned int)
void tagParticlesAlongPlaneWithMask (const Plane &, double, int, int, unsigned int)
void tagParticlesInSphere (const Sphere &, int, unsigned int)
void tagParticlesInGroupNT (int tag, int gid)
void tagParticlesInGroup (int, int, int)
void tagParticlesToClosest (int, int)
void tagParticlesToClosestAnisotropic (int, int, double, double, double)
void removeParticlesWithTag (int, unsigned int)
void removeParticlesWithTagMask (unsigned int, int, int)
void removeParticlesInVolume (AVolume3D *, int, bool)
void removeParticlesInGroup (unsigned int)
void tagParticlesAlongJoints (const TriPatchSet &, double, int, int, unsigned int)
void tagParticlesInVolume (const AVolume &, int, unsigned int)
void renumberParticlesContinuous ()
virtual void calculateTightBoundingBox ()
void setBoundingBoxTracking (bool)
boost::python::list getSphereListFromGroup (int) const
boost::python::list getSphereListDist (const Vector3 &, double, int) const
virtual void generateBondsWithJointSet (const TriPatchSet &, int, double, int)
virtual void generateBondsTagged (int, double, int, int, int)
virtual void generateRandomBonds (int, double, double, int, int, int)
void insertBond (int, int, int)
double getSumVolume (int)
void SetOutputPrecision (int)
void SetWriteTightBoundingBox (bool)
void write (char *filename, int outputStyle)

Protected Member Functions

virtual void set_y_circ ()
virtual void set_z_circ ()
virtual int getIndex (const Vector3 &) const
- Protected Member Functions inherited from CircMNTable3D
virtual void set_x_circ ()
int getXIndex (const Vector3 &) const
int getYIndex (const Vector3 &) const
int getZIndex (const Vector3 &) const
int getFullIndex (const Vector3 &) const
- Protected Member Functions inherited from MNTable3D
int idx (int i, int j, int k) const
void WriteAsVtkXml (ostream &) const

Protected Attributes

Vector3 m_shift_y
Vector3 m_shift_z
- Protected Attributes inherited from CircMNTable3D
Vector3 m_shift_x
- Protected Attributes inherited from MNTable3D
MNTCellm_data
map< int, set< bond > > m_bonds
Vector3 m_origin
 origin
Vector3 m_min_pt
Vector3 m_max_pt
double m_celldim
 cell size
int m_nx
int m_ny
int m_nz
 number of cells in x-, y- and z-direction
unsigned int m_ngroups
int m_x_periodic
int m_y_periodic
int m_z_periodic
bool m_bbx_tracking
 if true, bbx is updated for each insert operation
bool m_has_tight_bbx
 true if a tight bounding box has been calculated
bool m_write_tight_bbx
 if true, tight bbx is written instead of min/max
Vector3 m_min_tbbx
Vector3 m_max_tbbx
 corner points of tight bounding box
int m_write_prec
 precision (nr. of significant digits) for file output

Additional Inherited Members

- Public Types inherited from MNTable3D
typedef pair< int, int > bond
- Static Public Member Functions inherited from MNTable3D
static void SetOutputStyle (int)
- Static Protected Attributes inherited from MNTable3D
static int s_output_style = 0
static double s_small_value = 1e-7

Detailed Description

circular 3D Multi-group Neighbour table

Neighbour table supporting multiple tagged groups of particles and circular boundary conditions in x, y and z

Constructor & Destructor Documentation

FullCircMNTable3D::FullCircMNTable3D ( )
FullCircMNTable3D::FullCircMNTable3D ( const Vector3 MinPt,
const Vector3 MaxPt,
double  cd,
unsigned int  ngroups 
)

Construct FullCircMNTable3D.

Parameters
MinPtminimum point
MaxPtmaximum point
cdcell dimension
ngroupsinitial number of particle groups

References MNTable3D::m_celldim, MNTable3D::m_max_pt, MNTable3D::m_min_pt, m_shift_y, and m_shift_z.

FullCircMNTable3D::~FullCircMNTable3D ( )
virtual

Destruct FullCircMNTable3D.

Member Function Documentation

bool FullCircMNTable3D::checkInsertable ( const Sphere S,
unsigned int  gid 
)
virtual
void FullCircMNTable3D::generateBonds ( int  gid,
double  tol,
int  btag 
)
virtual

Generate bonds between particles of a group. Takes cloned particles into account.

Parameters
gidthe group ID
tolmax. difference between bond length and equilibrium dist.
btagbond tag

Reimplemented from CircMNTable3D.

References MNTCell::getBonds(), MNTable3D::idx(), MNTable3D::m_bonds, MNTable3D::m_data, MNTable3D::m_nx, MNTable3D::m_ny, and MNTable3D::m_nz.

Referenced by exportFullCircMNTable3D().

Here is the call graph for this function:

int FullCircMNTable3D::getIndex ( const Vector3 Pos) const
protectedvirtual

get the cell index for a given position

Parameters
Posthe position
Returns
the cell index if Pos is inside the table, -1 otherwise

Reimplemented from CircMNTable3D.

References MNTable3D::idx(), MNTable3D::m_celldim, MNTable3D::m_nx, MNTable3D::m_ny, MNTable3D::m_nz, MNTable3D::m_origin, Vector3::x(), Vector3::y(), and Vector3::z().

Referenced by checkInsertable(), insert(), and insertChecked().

Here is the call graph for this function:

bool FullCircMNTable3D::insert ( const Sphere S,
unsigned int  gid 
)
virtual
bool FullCircMNTable3D::insertChecked ( const Sphere S,
unsigned int  gid,
double  tol = s_small_value 
)
virtual
void FullCircMNTable3D::set_y_circ ( )
protectedvirtual

set circularity of y-dimension to 1

Reimplemented from MNTable3D.

References MNTable3D::m_y_periodic.

void FullCircMNTable3D::set_z_circ ( )
protectedvirtual

set circularity of z-dimension to 1

Reimplemented from MNTable3D.

References MNTable3D::m_z_periodic.

Member Data Documentation

Vector3 FullCircMNTable3D::m_shift_y
protected
Vector3 FullCircMNTable3D::m_shift_z
protected

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