|
ESyS-Particle
2.3.4
|
Class for the generation of a 3D lattice with a random middle section and random rough/smooth sections of the fault surface. More...
#include <RoughPaddedBlock3d.h>


Public Member Functions | |
| CRoughPaddedBlock3D (double, double, double, double, double, double, double, double, double, double, bool circ_x=false) | |
| virtual | ~CRoughPaddedBlock3D () |
| void | setRoughness (int, int, double, double) |
| virtual bool | checkAFit (const SimpleParticle &) |
| virtual void | generate (int) |
Public Member Functions inherited from CPaddedBlock3D | |
| CPaddedBlock3D (double, double, double, double, double, double, double, double, double, double, int, bool circ_x=false) | |
| virtual | ~CPaddedBlock3D () |
| virtual void | generate (int, unsigned int) |
Public Member Functions inherited from CSplitBlock3D | |
| CSplitBlock3D (double, double, double, double, double, double, double, double, double, int, bool circ_x=false, bool rough=false) | |
| virtual | ~CSplitBlock3D () |
| virtual void | tagSplit (int, int, double) |
Public Member Functions inherited from CRandomBlock3D | |
| CRandomBlock3D (double, double, double, double, double, double, double, double, double, bool, bool is_bonded=true) | |
| virtual | ~CRandomBlock3D () |
| virtual void | insertParticle (const SimpleParticle) |
| 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 ARandomAssembly3D | |
| virtual void | tagParticleClosestTo (const Vec3 &, int)=0 |
Public Member Functions inherited from ARandomAssembly | |
| virtual | ~ARandomAssembly () |
| virtual void | writeToVtkFile (const string &) |
Protected Member Functions | |
| virtual RectPatch | getClosestPatch (const SimpleParticle &, double) |
| virtual Plane3D | getClosestPlane (const SimpleParticle &) |
Protected Member Functions inherited from CPaddedBlock3D | |
| virtual Vec3 | getAPoint () |
| void | generate_regular_padding () |
Protected Member Functions inherited from CRandomBlock3D | |
| virtual int | getNParts () const |
Protected Member Functions inherited from ARandomAssembly3D | |
| bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &) |
| bool | findAFit (SimpleParticle &, const vector< SimpleParticle > &, const Plane3D &) |
| 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 | |
| double | m_rough_xres |
| double | m_rough_yres |
| double | m_rough_depth |
| double | m_rough_prob |
| vector< RectPatch > | m_fault |
Protected Attributes inherited from CPaddedBlock3D | |
| double | m_pad_size |
Protected Attributes inherited from CSplitBlock3D | |
| double | m_ysplit |
| int | m_dir |
Protected Attributes inherited from CRandomBlock3D | |
| double | m_maxConnDist |
Protected Attributes inherited from ARandomAssembly3D | |
| 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 |
Class for the generation of a 3D lattice with a random middle section and random rough/smooth sections of the fault surface.
| CRoughPaddedBlock3D::CRoughPaddedBlock3D | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax, | ||
| double | zmin, | ||
| double | zmax, | ||
| double | rmin, | ||
| double | rmax, | ||
| double | ysplit, | ||
| double | pad, | ||
| bool | circ_x = false |
||
| ) |
Constructor of CPaddedBlock3d
| xmin | minimum in x-direction |
| xmax | maximum in x-direction |
| ymin | minimum in y-direction |
| ymax | maximum in y-direction |
| zmin | minimum in z-direction |
| zmax | maximum in z-direction |
| rmin | minimum particle radius |
| rmax | maximum particle radius |
| ysplit | |
| pad | |
| circ_x |
References ARandomAssembly3D::Borders.
|
inlinevirtual |
|
virtual |
check if Po is within the Space and is not crossing any boundary or overlapping with other particles.
| Po | the particle |
Reimplemented from ARandomAssembly3D.
References ARandomAssembly3D::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 |
References checkAFit(), ARandomAssembly3D::fillSpace(), CPaddedBlock3D::generate_regular_padding(), ASimpleNTable::getInteractions(), CRandomBlock3D::getNParts(), CRandomBlock3D::insertParticle(), esys::lsm::bpu::iter(), ARandomAssembly::m_bpart, CSplitBlock3D::m_dir, ARandomAssembly::m_iset, CPaddedBlock3D::m_pad_size, ARandomAssembly::m_random(), ARandomAssembly3D::m_rmax, ARandomAssembly3D::m_rmin, ARandomAssembly::m_snt, ARandomAssembly3D::m_xmax, ARandomAssembly3D::m_xmin, ARandomAssembly3D::m_ymax, ARandomAssembly3D::m_ymin, CSplitBlock3D::m_ysplit, ARandomAssembly3D::m_zmax, and ARandomAssembly3D::m_zmin.

|
protectedvirtual |
Get closest fault patch
| Po | the particle |
References SimpleParticle::getPos(), esys::lsm::bpu::iter(), and m_fault.
Referenced by getClosestPlane().


|
protectedvirtual |
Get closest plane
| Po | the particle |
Reimplemented from ARandomAssembly3D.
References getClosestPatch(), ARandomAssembly3D::getClosestPlane(), RectPatch::getPlane(), SimpleParticle::getPos(), RectPatch::sep(), and Plane3D::sep().

| void CRoughPaddedBlock3D::setRoughness | ( | int | nx, |
| int | nz, | ||
| double | depth, | ||
| double | prob | ||
| ) |
setup fault roughness
| nx | x-resolution |
| nz | z-resolution |
| depth | amount of roughness in the rough patches |
| prob | probability of a patch to be rough |
References m_fault, ARandomAssembly::m_random(), ARandomAssembly3D::m_xmax, ARandomAssembly3D::m_xmin, CSplitBlock3D::m_ysplit, ARandomAssembly3D::m_zmax, and ARandomAssembly3D::m_zmin.

|
protected |
Referenced by checkAFit(), getClosestPatch(), and setRoughness().
|
protected |
|
protected |
|
protected |
|
protected |