|
ESyS-Particle
2.3.4
|
Abstract base class for random assemblies, to be used for initialization of random lattices. More...
#include <RandomAssembly2D.h>


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 |
Public Member Functions inherited from ARandomAssembly | |
| virtual | ~ARandomAssembly () |
| virtual void | tagEdgeZ (int, int, double)=0 |
| 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 | 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) |
| virtual int | getNParts () const =0 |
Protected Member Functions inherited from ARandomAssembly | |
| 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 | |
| vector< Line > | Borders |
| double | m_rmin |
| double | m_rmax |
| min/max particle radius More... | |
| double | m_xmin |
| double | m_xmax |
| double | m_ymin |
| double | m_ymax |
| x,y borders of the lattice More... | |
| bool | m_circ_x |
Protected Attributes inherited from ARandomAssembly | |
| ASimpleNTable * | m_snt |
| set< BasicInteraction, BILess > | m_iset |
| vector< SimpleParticle > | m_bpart |
Additional Inherited Members | |
Static Protected Attributes inherited from ARandomAssembly | |
| static double | m_small_value =1e-7 |
Abstract base class for random assemblies, to be used for initialization of random lattices.
|
protectedvirtual |
check if Po is within the Space and is not crossing any boundary or overlapping with other particles.
| Po | the particle |
Reimplemented in FaultedBlock2D.
References getClosestPlane(), ARandomAssembly::getNeighborList(), SimpleParticle::getPos(), SimpleParticle::getRad(), esys::lsm::bpu::iter(), m_rmax, m_rmin, ARandomAssembly::m_small_value, m_xmax, m_xmin, m_ymax, m_ymin, Line::sep(), Vec3::X(), and Vec3::Y().
Referenced by FaultedBlock2D::checkAFit(), fillSpace(), CRandomBlock2D::generate(), and CSplitBlock2D::generate().


|
protected |
Fill the space in the skeleton after it has been seeded
| tries | the number of tries |
References checkAFit(), console, findAFit(), getAPoint(), ARandomAssembly::getClosestNeighbors(), getClosestPlane(), getNParts(), SimpleParticle::getPos(), SimpleParticle::getRad(), Console::Info(), insertParticle(), ARandomAssembly::m_random(), m_rmax, m_rmin, SimpleParticle::moveTo(), and Line::sep().
Referenced by FaultedBlock2D::generate(), CRandomBlock2D::generate(), and CSplitBlock2D::generate().


|
protected |
Find a fit for a sphere using the list of neigbors
| Po | the particle to fit |
| NL | the list of neighbors |
References Sphere2D::FillIn(), and esys::lsm::SimpleParticleData::getID().

|
protected |
Find a fit for a sphere using the list of neigbor list and a plane
| Po | the particle to fit |
| NL | the list of neighbors |
| PL | the Plane |
References Sphere2D::FillInWP(), esys::lsm::SimpleParticleData::getID(), Line::GetO(), and Line::GetU().
Referenced by fillSpace().


|
pure virtual |
Implements ARandomAssembly.
Implemented in CSplitBlock2D, CRandomBlock2D, CLayeredBlock2D, and FaultedBlock2D.
|
protectedpure virtual |
Implemented in CRandomBlock2D, and FaultedBlock2D.
Referenced by fillSpace().

|
protectedvirtual |
get closest plane to a particle
| Po | the particle |
Reimplemented in FaultedBlock2D.
References Borders, SimpleParticle::getPos(), and esys::lsm::bpu::iter().
Referenced by checkAFit(), fillSpace(), and FaultedBlock2D::getClosestPlane().


|
protectedpure virtual |
Implemented in CRandomBlock2D.
Referenced by fillSpace().

|
pure virtual |
Implements ARandomAssembly.
Implemented in CRandomBlock2D.
Referenced by fillSpace().

|
protected |
|
pure virtual |
Implements ARandomAssembly.
Implemented in CRandomBlock2D.
|
pure virtual |
Implements ARandomAssembly.
Implemented in CRandomBlock2D.
|
protected |
Referenced by CRandomBlock2D::CRandomBlock2D(), CSplitBlock2D::CSplitBlock2D(), and getClosestPlane().
|
protected |
Referenced by CRandomBlock2D::CRandomBlock2D(), and CRandomBlock2D::writeToGeoFile().
|
protected |
min/max particle radius
Referenced by checkAFit(), CRandomBlock2D::CRandomBlock2D(), fillSpace(), FaultedBlock2D::generate(), CRandomBlock2D::generate(), CSplitBlock2D::generate(), and CRandomBlock2D::getSizeDistribution().
|
protected |
|
protected |
|
protected |
|
protected |
x,y borders of the lattice
Referenced by CRandomBlock2D::calcPorosity(), checkAFit(), CRandomBlock2D::CRandomBlock2D(), FaultedBlock2D::generate(), CRandomBlock2D::generate(), CSplitBlock2D::generate(), FaultedBlock2D::getAPoint(), CRandomBlock2D::getAPoint(), CRandomBlock2D::tagEdgeY(), and CRandomBlock2D::writeToGeoFile().
|
protected |