ESyS-Particle
4.0.1
|
Class for the generation of a 3D random lattice in a rectangular area. More...
#include <RandomBlock3D.h>
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 Attributes | |
double | m_maxConnDist |
Class for the generation of a 3D random lattice in a rectangular area.
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
xmin | minimum in x-direction |
xmax | maximum in x-direction |
ymin | minimum in y-direction |
ymax | maximum in y-direction |
zmin | minimum in z-direction |
zmax | maximum in z-direction |
rmin | minimum particle radius |
rmax | maximum particle radius |
mcd | maximum relative distance for bond generation |
References ARandomAssembly3D::m_rmax, and ARandomAssembly3D::m_zmax.
double CRandomBlock3D::calcPorosity | ( | ) | [virtual] |
calculate the porosity of the material
Implements ARandomAssembly.
References BasicCon::Info(), and ARandomAssembly3D::m_zmax.
void CRandomBlock3D::generate | ( | int | tries, |
unsigned int | seed | ||
) | [virtual] |
Fill the space in the block
tries | number of times the insertion of a particle is tried |
seed | seed 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.
Vec3 CRandomBlock3D::getAPoint | ( | ) | [protected, virtual] |
Generate a random point within the space of the block
Implements ARandomAssembly3D.
Reimplemented in CPaddedBlock3D.
References ARandomAssembly::m_random(), and ARandomAssembly3D::m_zmax.
vector< pair< double, double > > CRandomBlock3D::getSizeDistribution | ( | int | nbins | ) | [virtual] |
return a histogram of the particle size distribution
nbins | number of bins |
Implements ARandomAssembly.
void CRandomBlock3D::insertParticle | ( | const SimpleParticle | P | ) | [virtual] |
Insert a particle into the internal structures
P | the particle |
Implements ARandomAssembly3D.
References ASimpleNTable::insertParticle().
Referenced by CSplitBlock3D::generate(), CPaddedBlock3D::generate(), CRoughPaddedBlock3D::generate(), generate(), and CPaddedBlock3D::generate_regular_padding().
void CRandomBlock3D::tagEdgeY | ( | int | tag1, |
int | tag2, | ||
double | d | ||
) | [virtual] |
Tag particles along xz-edges
tag1 | tag for particles along y_min |
tag2 | tag for particles along y_max |
d | maximum 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
tag1 | tag for particles along z_min |
tag2 | tag for particles along z_max |
d | maximum 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
pos | the position |
tag | the 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
filename | the name of the file |
Implements ARandomAssembly.
References ARandomAssembly3D::m_zmax.