GenGeo  1.1
HexAggregateInsertGenerator3D Class Reference

#include <HexAggregateInsertGenerator3D.h>

Inheritance diagram for HexAggregateInsertGenerator3D:
Collaboration diagram for HexAggregateInsertGenerator3D:

Public Member Functions

 HexAggregateInsertGenerator3D ()
 HexAggregateInsertGenerator3D (double, double, int, int, double, bool)
virtual ~HexAggregateInsertGenerator3D ()
virtual void fillIn (AVolume3D *, MNTable3D *, int, int)
- Public Member Functions inherited from InsertGenerator3D
 InsertGenerator3D ()
 InsertGenerator3D (double, double, int, int, double)
 InsertGenerator3D (double, double, int, int, double, bool)
virtual ~InsertGenerator3D ()
void setOldSeeding (bool)
virtual void fillIn (AVolume3D *, MNTable3D *, int, int, ShapeList *)
virtual void fillIn (AVolume3D *, MNTable3D *, int, int, double)
virtual void generatePacking3 (AVolume3D *, MNTable3D *, int)
virtual void generatePacking4 (AVolume3D *, MNTable3D *, int, int)
virtual void generatePackingMaxVolume (AVolume3D *, MNTable3D *, int, int, double)
virtual void generatePacking (AVolume3D *, MNTable3D *, int, int, ShapeList *)
void setNextTag (int)
- Public Member Functions inherited from AGenerator3D
virtual ~AGenerator3D ()

Protected Member Functions

virtual void seedParticles (AVolume3D *, MNTable3D *, int, int)
void ParticleToAggregate (MNTable3D *, const Sphere &, int)
- Protected Member Functions inherited from InsertGenerator3D
virtual void seedParticles (AVolume3D *, MNTable3D *, int, int, ShapeList *)

Additional Inherited Members

- Protected Attributes inherited from InsertGenerator3D
double m_rmin
double m_rmax
double m_max_tries
int m_max_iter
double m_prec
double m_next_tag
bool m_old_seeding

Detailed Description

Packing generator using Place et al. insertion based algorithm to generate 1st generation particles which are replaced by regular 12-particle aggreagates.

Constructor & Destructor Documentation

HexAggregateInsertGenerator3D::HexAggregateInsertGenerator3D ( )
HexAggregateInsertGenerator3D::HexAggregateInsertGenerator3D ( double  rmin,
double  rmax,
int  ntries,
int  max_iter,
double  prec,
bool  seed 
)

Constructor

Parameters
rminminimum particle radius
rmaxmaximum particle radius
ntriesmax. nr. of tries to insert particle
max_itermaximum iterations within the iterative solvers
precmax. error in iterative solvers
seedif true, initialize random number generator via time
virtual HexAggregateInsertGenerator3D::~HexAggregateInsertGenerator3D ( )
inlinevirtual

Member Function Documentation

void HexAggregateInsertGenerator3D::fillIn ( AVolume3D vol,
MNTable3D ntable,
int  gid,
int  tag 
)
virtual

fill the remaining volume with particles

Parameters
vola pointer to the packing volume
ntablea pointer to the neighbour table used
gidparticle group id
tagthe particle tag

Reimplemented from InsertGenerator3D.

References MNTable3D::checkInsertable(), FitSphere3D(), AVolume::getAPoint(), AVolume3D::getClosestObjects(), AVolume::getNumberSubVolumes(), MNTable3D::getSpheresClosestTo(), AVolume::isIn(), InsertGenerator3D::m_max_iter, InsertGenerator3D::m_max_tries, InsertGenerator3D::m_prec, InsertGenerator3D::m_rmax, InsertGenerator3D::m_rmin, ParticleToAggregate(), Sphere::Radius(), and Sphere::setTag().

Here is the call graph for this function:

void HexAggregateInsertGenerator3D::ParticleToAggregate ( MNTable3D ntable,
const Sphere S,
int  gid 
)
protected

take a sphere and insert a aggregate grain into the ntable instead

Parameters
Sthe sphere

References Sphere::Center(), MNTable3D::checkInsertable(), Sphere::Id(), MNTable3D::insert(), MNTable3D::insertBond(), MNTable3D::insertChecked(), Sphere::Radius(), Sphere::setTag(), and Sphere::Tag().

Referenced by fillIn(), and seedParticles().

Here is the call graph for this function:

void HexAggregateInsertGenerator3D::seedParticles ( AVolume3D vol,
MNTable3D ntable,
int  gid,
int  tag 
)
protectedvirtual

seed the volume with particles

Parameters
vola pointer to the packing volume
ntablea pointer to the neighbour table used
gidparticle group id
tagthe particle tag

Reimplemented from InsertGenerator3D.

References MNTable3D::checkInsertable(), AVolume::getBoundingBox(), AVolume::isIn(), InsertGenerator3D::m_rmax, InsertGenerator3D::m_rmin, ParticleToAggregate(), and Sphere::setTag().

Here is the call graph for this function:


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