ESyS-Particle
4.0.1
|
Class for the generation of a 2D random lattice in a rectangular area. More...
#include <RandomBlock.h>
Public Member Functions | |
CRandomBlock2D (double, double, double, double, double, double, double, bool circ_x=false) | |
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 |
![]() | |
bool | isInSpace (const Vec3 &) |
bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &, const Line &) |
bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &) |
virtual bool | checkAFit (const SimpleParticle &) |
virtual Line * | getClosestPlane (const SimpleParticle &) |
void | fillSpace (int) |
![]() | |
double | m_random (double, double) |
vector< SimpleParticle > | getNeighborList (const SimpleParticle &) |
vector< SimpleParticle > | get3ClosestNeighbors (const SimpleParticle &, const vector< SimpleParticle > &) |
vector< SimpleParticle > | getClosestNeighbors (const SimpleParticle &, int) |
SimpleParticle | getClosestParticle (const SimpleParticle &, const vector< SimpleParticle > &) |
Protected Attributes | |
double | m_maxConnDist |
![]() | |
vector< Line > | Borders |
double | m_rmin |
double | m_rmax |
min/max particle radius | |
double | m_xmin |
double | m_xmax |
double | m_ymin |
double | m_ymax |
x,y borders of the lattice | |
bool | m_circ_x |
![]() | |
ASimpleNTable * | m_snt |
set< BasicInteraction, BILess > | m_iset |
vector< SimpleParticle > | m_bpart |
Class for the generation of a 2D random lattice in a rectangular area.
CRandomBlock2D::CRandomBlock2D | ( | double | xmin, |
double | xmax, | ||
double | ymin, | ||
double | ymax, | ||
double | rmin, | ||
double | rmax, | ||
double | mcd, | ||
bool | circ_x = false |
||
) |
Constructor of CRandomBlock
xmin | minimum in x-direction |
xmax | maximum in x-direction |
ymin | minimum in y-direction |
ymax | maximum in y-direction |
rmin | minimum particle radius |
rmax | maximum particle radius |
mcd | maximum relative distance for bond generation |
References ARandomAssembly2D::m_rmax, and ARandomAssembly2D::m_ymax.
|
virtual |
calculate the porosity of the material
Implements ARandomAssembly.
References ARandomAssembly2D::m_ymax.
|
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 ARandomAssembly2D.
Reimplemented in FaultedBlock2D, CLayeredBlock2D, and CSplitBlock2D.
References ARandomAssembly2D::checkAFit(), ARandomAssembly2D::fillSpace(), insertParticle(), ARandomAssembly::m_random(), ARandomAssembly2D::m_rmax, and ARandomAssembly2D::m_ymax.
Referenced by CLayeredBlock2D::generate().
|
protectedvirtual |
Generate a random point within the space of the block
Implements ARandomAssembly2D.
Reimplemented in FaultedBlock2D.
References ARandomAssembly::m_random(), and ARandomAssembly2D::m_ymax.
|
virtual |
return a histogram of the particle size distribution
nbins | number of bins |
Implements ARandomAssembly.
References ARandomAssembly2D::m_rmax.
|
virtual |
Insert a particle into the internal structures
P | the particle |
Implements ARandomAssembly2D.
References ASimpleNTable::insertParticle().
Referenced by FaultedBlock2D::generate(), and generate().
|
virtual |
Tag particles along x-edges
tag1 | tag for particles along x_min |
tag2 | tag for particles along x_max |
d | maximum distance from the edge at which a particle gets tagged |
Implements ARandomAssembly2D.
References ARandomAssembly2D::m_ymax.
|
virtual |
Tag particle closest to a given position
pos | the position |
tag | the tag |
Implements ARandomAssembly2D.
References ASimpleNTable::getClosestParticleID().
|
virtual |
Write the particles contained in the random block into a LSM geometry file v 1.1
filename | the name of the file |
Implements ARandomAssembly.
References ARandomAssembly2D::m_ymax.