ESyS-Particle  4.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ARandomAssembly3D Class Reference

Abstract base class for random assemblies, to be used for initialization of random lattices. More...

#include <RandomAssembly3D.h>

Inheritance diagram for ARandomAssembly3D:
Inheritance graph
[legend]
Collaboration diagram for ARandomAssembly3D:
Collaboration graph
[legend]

Public Member Functions

virtual void generate (int, unsigned int)=0
virtual void insertParticle (const SimpleParticle)=0
virtual void tagParticleClosestTo (const Vec3 &, int)=0
virtual void tagEdgeY (int, int, double)=0
virtual void tagEdgeZ (int, int, double)=0
- Public Member Functions inherited from ARandomAssembly
virtual void tagSplit (int, int, double)
virtual void writeToGeoFile (const string &)=0
virtual void writeToVtkFile (const string &)
virtual double calcPorosity ()=0
virtual vector< pair< double,
double > > 
getSizeDistribution (int)=0

Protected Member Functions

virtual Vec3 getAPoint ()=0
bool findAFit (SimpleParticle &, const vector< SimpleParticle > &)
bool findAFit (SimpleParticle &, const vector< SimpleParticle > &, const Plane &)
virtual bool checkAFit (const SimpleParticle &)
virtual Plane getClosestPlane (const SimpleParticle &)
void fillSpace (int)
virtual int getNParts () const =0
- Protected Member Functions inherited from ARandomAssembly
double m_random (double, double)
vector< SimpleParticlegetNeighborList (const SimpleParticle &)
vector< SimpleParticleget3ClosestNeighbors (const SimpleParticle &, const vector< SimpleParticle > &)
vector< SimpleParticlegetClosestNeighbors (const SimpleParticle &, int)
SimpleParticle getClosestParticle (const SimpleParticle &, const vector< SimpleParticle > &)

Protected Attributes

vector< PlaneBorders
double m_rmin
double m_rmax
 min/max particle radius
double m_xmin
double m_xmax
double m_ymin
double m_ymax
double m_zmin
double m_zmax
 x,y,z borders of the lattice
bool m_circ_x
- Protected Attributes inherited from ARandomAssembly
ASimpleNTablem_snt
set< BasicInteraction, BILessm_iset
vector< SimpleParticlem_bpart

Additional Inherited Members

- Static Protected Attributes inherited from ARandomAssembly
static double m_small_value = 1e-7

Detailed Description

Abstract base class for random assemblies, to be used for initialization of random lattices.

Author
Steffen Abe $Revision$ $Date$

Member Function Documentation

bool ARandomAssembly3D::checkAFit ( const SimpleParticle Po)
protectedvirtual

check if Po is within the Space and is not crossing any boundary or overlapping with other particles.

Parameters
Pothe particle

Reimplemented in CRoughPaddedBlock3D.

References getClosestPlane(), ARandomAssembly::getNeighborList(), m_rmax, m_zmax, and Plane::sep().

Referenced by fillSpace(), CSplitBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), and CPaddedBlock3D::generate_regular_padding().

Here is the call graph for this function:

Here is the caller graph for this function:

void ARandomAssembly3D::fillSpace ( int  tries)
protected

Fill the space in the skeleton after it has been seeded

Parameters
triesthe number of tries

References checkAFit(), findAFit(), ARandomAssembly::getClosestNeighbors(), getClosestPlane(), BasicCon::Info(), ARandomAssembly::m_random(), m_rmax, and Plane::sep().

Referenced by CSplitBlock3D::generate(), CPaddedBlock3D::generate(), CRoughPaddedBlock3D::generate(), and CRandomBlock3D::generate().

Here is the call graph for this function:

Here is the caller graph for this function:

bool ARandomAssembly3D::findAFit ( SimpleParticle Po,
const vector< SimpleParticle > &  NL 
)
protected

Find a fit for a sphere using the list of neigbors

Parameters
Pothe particle to fit
NLthe list of neighbors

References Sphere3D::FillIn().

Referenced by fillSpace().

Here is the call graph for this function:

Here is the caller graph for this function:

bool ARandomAssembly3D::findAFit ( SimpleParticle Po,
const vector< SimpleParticle > &  NL,
const Plane L 
)
protected

Find a fit for a sphere using the list of neigbor list and a plane

Parameters
Pothe particle to fit
NLthe list of neighbors
Lthe Plane

References Sphere3D::FillInWP().

Here is the call graph for this function:

Plane ARandomAssembly3D::getClosestPlane ( const SimpleParticle Po)
protectedvirtual

get closest plane to a particle

Parameters
Pothe particle

Reimplemented in CRoughPaddedBlock3D.

References Plane::sep().

Referenced by checkAFit(), and fillSpace().

Here is the call graph for this function:

Here is the caller graph for this function:


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