|
ESyS-Particle
2.3.4
|
Abstract base class for random assemblies, to be used for initialization of random lattices. More...
#include <RandomAssembly3D.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 |
| virtual void | tagEdgeZ (int, int, double)=0 |
Public Member Functions inherited from ARandomAssembly | |
| virtual | ~ARandomAssembly () |
| 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 | findAFit (SimpleParticle &, const vector< SimpleParticle > &) |
| bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &, const Plane3D &) |
| virtual bool | checkAFit (const SimpleParticle &) |
| virtual Plane3D | 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< Plane3D > | Borders |
| double | m_rmin |
| double | m_rmax |
| min/max particle radius More... | |
| 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 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 CRoughPaddedBlock3D.
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, m_zmax, m_zmin, Plane3D::sep(), Vec3::X(), Vec3::Y(), and Vec3::Z().
Referenced by CRoughPaddedBlock3D::checkAFit(), fillSpace(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), and CPaddedBlock3D::generate_regular_padding().


|
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(), esys::lsm::SimpleParticleData::getID(), getNParts(), SimpleParticle::getPos(), SimpleParticle::getRad(), Console::Info(), insertParticle(), ARandomAssembly::m_random(), m_rmax, m_rmin, SimpleParticle::moveTo(), and Plane3D::sep().
Referenced by CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), and CSplitBlock3D::generate().


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


|
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 |
| L | the Plane3D |
References Sphere3D::FillInWP(), esys::lsm::SimpleParticleData::getID(), Plane3D::GetO(), and Plane3D::GetW().

|
pure virtual |
Implements ARandomAssembly.
Implemented in CSplitBlock3D, CRandomBlock3D, and CPaddedBlock3D.
|
protectedpure virtual |
Implemented in CRandomBlock3D, and CPaddedBlock3D.
Referenced by fillSpace().

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


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

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

|
pure virtual |
Implements ARandomAssembly.
Implemented in CRandomBlock3D.
|
pure virtual |
Implements ARandomAssembly.
Implemented in CRandomBlock3D.
|
pure virtual |
Implements ARandomAssembly.
|
protected |
|
protected |
Referenced by CRandomBlock3D::CRandomBlock3D(), and CRandomBlock3D::writeToGeoFile().
|
protected |
min/max particle radius
Referenced by checkAFit(), CRandomBlock3D::CRandomBlock3D(), fillSpace(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), and CPaddedBlock3D::generate_regular_padding().
|
protected |
|
protected |
Referenced by CRandomBlock3D::calcPorosity(), checkAFit(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), CPaddedBlock3D::generate_regular_padding(), CPaddedBlock3D::getAPoint(), CRandomBlock3D::getAPoint(), CRoughPaddedBlock3D::setRoughness(), and CRandomBlock3D::writeToGeoFile().
|
protected |
Referenced by CRandomBlock3D::calcPorosity(), checkAFit(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), CPaddedBlock3D::generate_regular_padding(), CPaddedBlock3D::getAPoint(), CRandomBlock3D::getAPoint(), CRoughPaddedBlock3D::setRoughness(), and CRandomBlock3D::writeToGeoFile().
|
protected |
Referenced by CRandomBlock3D::calcPorosity(), checkAFit(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), CPaddedBlock3D::generate_regular_padding(), CPaddedBlock3D::getAPoint(), CRandomBlock3D::getAPoint(), CRandomBlock3D::tagEdgeY(), and CRandomBlock3D::writeToGeoFile().
|
protected |
Referenced by CRandomBlock3D::calcPorosity(), checkAFit(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), CPaddedBlock3D::generate_regular_padding(), CPaddedBlock3D::getAPoint(), CRandomBlock3D::getAPoint(), CRandomBlock3D::tagEdgeY(), and CRandomBlock3D::writeToGeoFile().
|
protected |
x,y,z borders of the lattice
Referenced by CRandomBlock3D::calcPorosity(), checkAFit(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), CPaddedBlock3D::generate_regular_padding(), CPaddedBlock3D::getAPoint(), CRandomBlock3D::getAPoint(), CRoughPaddedBlock3D::setRoughness(), CRandomBlock3D::tagEdgeZ(), and CRandomBlock3D::writeToGeoFile().
|
protected |
Referenced by CRandomBlock3D::calcPorosity(), checkAFit(), CRandomBlock3D::CRandomBlock3D(), CRoughPaddedBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::generate(), CSplitBlock3D::generate(), CPaddedBlock3D::generate_regular_padding(), CPaddedBlock3D::getAPoint(), CRandomBlock3D::getAPoint(), CRoughPaddedBlock3D::setRoughness(), CRandomBlock3D::tagEdgeZ(), and CRandomBlock3D::writeToGeoFile().