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


Public Member Functions | |
| virtual | ~ARandomAssembly () |
| 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 |
| 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 | |
| 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 | |
| ASimpleNTable * | m_snt |
| set< BasicInteraction, BILess > | m_iset |
| vector< SimpleParticle > | m_bpart |
Static Protected Attributes | |
| static double | m_small_value =1e-7 |
Abstract base class for random assemblies, to be used for initialization of random lattices.
|
inlinevirtual |
|
pure virtual |
Implemented in CRandomBlock3D, and CRandomBlock2D.
|
pure virtual |
Implemented in ARandomAssembly3D, ARandomAssembly2D, CSplitBlock3D, CSplitBlock2D, CRandomBlock3D, CRandomBlock2D, CPaddedBlock3D, CLayeredBlock2D, and FaultedBlock2D.
|
protected |
Get the 3 clostest neighbors of a particle (sorted)
| Po | the particle |
| NL | the list of neighbors |
References SimpleParticle::getPos(), and esys::lsm::bpu::iter().

|
protected |
Get the n closest neighbors of a particle (sorted)
| Po | the particle |
| n | max nr. or neighbours returned |
References ASimpleNTable::getNeighbors(), SimpleParticle::getPos(), esys::lsm::bpu::iter(), and m_snt.
Referenced by ARandomAssembly2D::fillSpace(), and ARandomAssembly3D::fillSpace().


|
protected |
get particle closest to a particle (on surface separation)
| Po | the particle |
| NL | the list of neighbors |
References SimpleParticle::getPos(), and SimpleParticle::getRad().

|
protected |
get the list of neighbors of a particle
| Po | the Particle |
References ASimpleNTable::getNeighbors(), SimpleParticle::getPos(), and m_snt.
Referenced by ARandomAssembly2D::checkAFit(), and ARandomAssembly3D::checkAFit().


|
pure virtual |
Implemented in CRandomBlock3D, and CRandomBlock2D.
|
pure virtual |
Implemented in ARandomAssembly3D, ARandomAssembly2D, CRandomBlock3D, and CRandomBlock2D.
|
protected |
helper function, return random value between min & max
Referenced by ARandomAssembly2D::fillSpace(), ARandomAssembly3D::fillSpace(), CRoughPaddedBlock3D::generate(), FaultedBlock2D::generate(), CPaddedBlock3D::generate(), CRandomBlock2D::generate(), CRandomBlock3D::generate(), CSplitBlock2D::generate(), CSplitBlock3D::generate(), FaultedBlock2D::getAPoint(), CPaddedBlock3D::getAPoint(), CRandomBlock2D::getAPoint(), CRandomBlock3D::getAPoint(), and CRoughPaddedBlock3D::setRoughness().

|
pure virtual |
Implemented in ARandomAssembly3D, ARandomAssembly2D, CRandomBlock3D, and CRandomBlock2D.
|
pure virtual |
Implemented in ARandomAssembly3D, CRandomBlock3D, and CRandomBlock2D.
|
pure virtual |
Implemented in ARandomAssembly3D, ARandomAssembly2D, and CRandomBlock2D.
|
inlinevirtual |
Reimplemented in CSplitBlock3D, CSplitBlock2D, and FaultedBlock2D.
|
pure virtual |
Implemented in CRandomBlock3D, and CRandomBlock2D.
|
virtual |
|
protected |
Referenced by CRandomBlock2D::calcPorosity(), CRandomBlock3D::calcPorosity(), CRoughPaddedBlock3D::generate(), FaultedBlock2D::generate(), CLayeredBlock2D::generate(), CPaddedBlock3D::generate(), CSplitBlock2D::generate(), CSplitBlock3D::generate(), CRandomBlock2D::getNParts(), CRandomBlock3D::getNParts(), CRandomBlock2D::getSizeDistribution(), CRandomBlock2D::insertParticle(), CRandomBlock3D::insertParticle(), CRandomBlock2D::tagEdgeY(), CRandomBlock3D::tagEdgeY(), CRandomBlock3D::tagEdgeZ(), CRandomBlock2D::tagParticleClosestTo(), FaultedBlock2D::tagSplit(), CSplitBlock2D::tagSplit(), CSplitBlock3D::tagSplit(), CRandomBlock2D::writeToGeoFile(), CRandomBlock3D::writeToGeoFile(), and writeToVtkFile().
|
protected |
Referenced by CRoughPaddedBlock3D::generate(), FaultedBlock2D::generate(), CPaddedBlock3D::generate(), CRandomBlock2D::generate(), CRandomBlock3D::generate(), CSplitBlock2D::generate(), CSplitBlock3D::generate(), CRandomBlock2D::writeToGeoFile(), CRandomBlock3D::writeToGeoFile(), and writeToVtkFile().
|
staticprotected |
|
protected |
Referenced by CRandomBlock2D::CRandomBlock2D(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), FaultedBlock2D::generate(), CPaddedBlock3D::generate(), CRandomBlock2D::generate(), CRandomBlock3D::generate(), CSplitBlock2D::generate(), CSplitBlock3D::generate(), getClosestNeighbors(), getNeighborList(), CRandomBlock2D::insertParticle(), CRandomBlock3D::insertParticle(), CRandomBlock2D::tagParticleClosestTo(), CRandomBlock2D::~CRandomBlock2D(), and CRandomBlock3D::~CRandomBlock3D().