|
ESyS-Particle
2.3.4
|
class for the generation of a 2D random block with a fault consisting of line segments More...
#include <FaultedBlock2d.h>


Public Member Functions | |
| FaultedBlock2D (double, double, double, double, double, double, double, bool circ_x=false) | |
| virtual | ~FaultedBlock2D () |
| void | addSegment (const Vec3 &, const Vec3 &, double) |
| virtual bool | checkAFit (const SimpleParticle &) |
| virtual void | generate (int, unsigned int) |
| virtual void | tagSplit (int, int, double) |
Public Member Functions inherited from CRandomBlock2D | |
| CRandomBlock2D (double, double, double, double, double, double, double, bool circ_x=false) | |
| virtual | ~CRandomBlock2D () |
| 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) |
Public Member Functions inherited from ARandomAssembly | |
| virtual | ~ARandomAssembly () |
| virtual void | writeToVtkFile (const string &) |
Protected Member Functions | |
| virtual Line * | getClosestPlane (const SimpleParticle &) |
| virtual Vec3 | getAPoint () |
Protected Member Functions inherited from CRandomBlock2D | |
| virtual int | getNParts () const |
Protected Member Functions inherited from ARandomAssembly2D | |
| bool | isInSpace (const Vec3 &) |
| bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &, const Line &) |
| bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &) |
| void | fillSpace (int) |
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< pair< double, LineSegment > > | m_fault |
| vector< LineSegment > | m_f2 |
| double | m_pad_size |
Protected Attributes inherited from CRandomBlock2D | |
| double | m_maxConnDist |
Protected Attributes inherited from ARandomAssembly2D | |
| 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 |
class for the generation of a 2D random block with a fault consisting of line segments
| FaultedBlock2D::FaultedBlock2D | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax, | ||
| double | rmin, | ||
| double | rmax, | ||
| double | pad, | ||
| bool | circ_x = false |
||
| ) |
Constructor. Set up "empty" block, i.e. without any fault segments -> add those via addSegment
| 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 |
| pad | thickness of the padding region at each diving edge |
| circ_x | circular boudary condition in x-direction |
References m_pad_size.
|
virtual |
|
virtual |
check if Po is within the Space and is not crossing any boundary or overlapping with other particles.
| Po | the particle |
Reimplemented from ARandomAssembly2D.
References ARandomAssembly2D::checkAFit(), SimpleParticle::getPos(), SimpleParticle::getRad(), esys::lsm::bpu::iter(), and m_fault.
Referenced by generate().


|
virtual |
generate the particle packing
| tries | number of attempts to insert particle before giving up |
| seed | random seed |
Reimplemented from CRandomBlock2D.
References checkAFit(), ARandomAssembly2D::fillSpace(), ASimpleNTable::getInteractions(), CRandomBlock2D::getNParts(), CRandomBlock2D::insertParticle(), esys::lsm::bpu::iter(), ARandomAssembly::m_bpart, m_f2, ARandomAssembly::m_iset, m_pad_size, ARandomAssembly::m_random(), ARandomAssembly2D::m_rmax, ARandomAssembly2D::m_rmin, ARandomAssembly::m_snt, ARandomAssembly2D::m_xmax, ARandomAssembly2D::m_xmin, ARandomAssembly2D::m_ymax, and ARandomAssembly2D::m_ymin.

|
protectedvirtual |
Get a random point with in the "random" region, i.e. outside the padding zone
Reimplemented from CRandomBlock2D.
References m_pad_size, ARandomAssembly::m_random(), ARandomAssembly2D::m_rmin, ARandomAssembly2D::m_xmax, ARandomAssembly2D::m_xmin, ARandomAssembly2D::m_ymax, and ARandomAssembly2D::m_ymin.

|
protectedvirtual |
Get closest line/line segment to a particle. Overloaded from ARandomAssembly2D to include line segments with overlap of 0.0
| Po | the particle |
Reimplemented from ARandomAssembly2D.
References ARandomAssembly2D::getClosestPlane(), SimpleParticle::getPos(), esys::lsm::bpu::iter(), m_fault, and Line::sep().

|
virtual |
Tag particles along the split line
| tag1 | the tag for particles "above" the split (y>y_split) |
| tag2 | the tag for particles "below" the split (y<y_split) |
| d | maximum distance from the split line at which a particle gets tagged |
Reimplemented from ARandomAssembly.
References ARandomAssembly::m_bpart, m_f2, and m_fault.
|
protected |
Referenced by addSegment(), generate(), and tagSplit().
|
protected |
Referenced by addSegment(), checkAFit(), getClosestPlane(), and tagSplit().
|
protected |
Referenced by FaultedBlock2D(), generate(), and getAPoint().