ESyS-Particle  4.0.1
Public Member Functions | Protected Member Functions | Protected Attributes
CRandomBlock3D Class Reference

Class for the generation of a 3D random lattice in a rectangular area. More...

#include <RandomBlock3D.h>

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

List of all members.

Public Member Functions

 CRandomBlock3D (double, double, double, double, double, double, double, double, double, bool, bool is_bonded=true)
virtual void generate (int, unsigned int)
virtual void insertParticle (const SimpleParticle)
virtual void tagParticleClosestTo (const Vec3 &, int)
virtual void tagEdgeY (int, int, double)
virtual void tagEdgeZ (int, int, double)
virtual void writeToGeoFile (const string &)
virtual double calcPorosity ()
virtual vector< pair< double,
double > > 
getSizeDistribution (int)

Protected Member Functions

virtual Vec3 getAPoint ()
virtual int getNParts () const
- Protected Member Functions inherited from ARandomAssembly3D
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)
- 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

double m_maxConnDist
- Protected Attributes inherited from ARandomAssembly3D
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

Detailed Description

Class for the generation of a 3D random lattice in a rectangular area.

Author:
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

CRandomBlock3D::CRandomBlock3D ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax,
double  rmin,
double  rmax,
double  mcd,
bool  circ_x,
bool  is_bonded = true 
)

Constructor of CRandomBlock

Parameters:
xminminimum in x-direction
xmaxmaximum in x-direction
yminminimum in y-direction
ymaxmaximum in y-direction
zminminimum in z-direction
zmaxmaximum in z-direction
rminminimum particle radius
rmaxmaximum particle radius
mcdmaximum relative distance for bond generation

References ARandomAssembly3D::m_rmax, and ARandomAssembly3D::m_zmax.


Member Function Documentation

double CRandomBlock3D::calcPorosity ( )
virtual

calculate the porosity of the material

Implements ARandomAssembly.

References BasicCon::Info(), and ARandomAssembly3D::m_zmax.

Here is the call graph for this function:

void CRandomBlock3D::generate ( int  tries,
unsigned int  seed 
)
virtual

Fill the space in the block

Parameters:
triesnumber of times the insertion of a particle is tried
seedseed for the random number generator

Implements ARandomAssembly3D.

Reimplemented in CRoughPaddedBlock3D, CPaddedBlock3D, and CSplitBlock3D.

References ARandomAssembly3D::checkAFit(), ARandomAssembly3D::fillSpace(), insertParticle(), ARandomAssembly::m_random(), ARandomAssembly3D::m_rmax, and ARandomAssembly3D::m_zmax.

Here is the call graph for this function:

Vec3 CRandomBlock3D::getAPoint ( )
protectedvirtual

Generate a random point within the space of the block

Implements ARandomAssembly3D.

Reimplemented in CPaddedBlock3D.

References ARandomAssembly::m_random(), and ARandomAssembly3D::m_zmax.

Here is the call graph for this function:

vector< pair< double, double > > CRandomBlock3D::getSizeDistribution ( int  nbins)
virtual

return a histogram of the particle size distribution

Parameters:
nbinsnumber of bins

Implements ARandomAssembly.

void CRandomBlock3D::insertParticle ( const SimpleParticle  P)
virtual

Insert a particle into the internal structures

Parameters:
Pthe particle

Implements ARandomAssembly3D.

References ASimpleNTable::insertParticle().

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

Here is the call graph for this function:

Here is the caller graph for this function:

void CRandomBlock3D::tagEdgeY ( int  tag1,
int  tag2,
double  d 
)
virtual

Tag particles along xz-edges

Parameters:
tag1tag for particles along y_min
tag2tag for particles along y_max
dmaximum distance from the edge at which a particle gets tagged

Implements ARandomAssembly3D.

void CRandomBlock3D::tagEdgeZ ( int  tag1,
int  tag2,
double  d 
)
virtual

Tag particles along xy-edges

Parameters:
tag1tag for particles along z_min
tag2tag for particles along z_max
dmaximum distance from the edge at which a particle gets tagged

Implements ARandomAssembly3D.

References ARandomAssembly3D::m_zmax.

void CRandomBlock3D::tagParticleClosestTo ( const Vec3 pos,
int  tag 
)
virtual

Tag particle closest to a given position

Parameters:
posthe position
tagthe tag

Implements ARandomAssembly3D.

void CRandomBlock3D::writeToGeoFile ( const string &  filename)
virtual

Write the particles contained in the random block into a LSM geometry file v 1.2

Parameters:
filenamethe name of the file

Implements ARandomAssembly.

References ARandomAssembly3D::m_zmax.


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