ESyS-Particle  4.0.1
Public Member Functions | Protected Member Functions | Protected Attributes
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]

List of all members.

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: