ESyS-Particle
4.0.1
|
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 |
![]() | |
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 Plane &) |
virtual bool | checkAFit (const SimpleParticle &) |
virtual Plane | getClosestPlane (const SimpleParticle &) |
void | fillSpace (int) |
virtual int | getNParts () const =0 |
![]() | |
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< Plane > | Borders |
double | m_rmin |
double | m_rmax |
min/max particle radius | |
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 | |
bool | m_circ_x |
![]() | |
ASimpleNTable * | m_snt |
set< BasicInteraction, BILess > | m_iset |
vector< SimpleParticle > | m_bpart |
Additional Inherited Members | |
![]() | |
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(), m_rmax, m_zmax, and Plane::sep().
Referenced by fillSpace(), CSplitBlock3D::generate(), CPaddedBlock3D::generate(), CRandomBlock3D::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(), findAFit(), ARandomAssembly::getClosestNeighbors(), getClosestPlane(), BasicCon::Info(), ARandomAssembly::m_random(), m_rmax, and Plane::sep().
Referenced by CSplitBlock3D::generate(), CPaddedBlock3D::generate(), CRoughPaddedBlock3D::generate(), and CRandomBlock3D::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().
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 Plane |
References Sphere3D::FillInWP().
|
protectedvirtual |
get closest plane to a particle
Po | the particle |
Reimplemented in CRoughPaddedBlock3D.
References Plane::sep().
Referenced by checkAFit(), and fillSpace().