ESyS-Particle
4.0.1
|
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) | |
void | setRoughness (int, int, double, double) |
virtual bool | checkAFit (const SimpleParticle &) |
virtual void | generate (int, unsigned int) |
Protected Member Functions | |
virtual RectPatch | getClosestPatch (const SimpleParticle &, double) |
virtual Plane | getClosestPlane (const SimpleParticle &) |
Protected Attributes | |
double | m_rough_xres |
double | m_rough_yres |
double | m_rough_depth |
double | m_rough_prob |
vector< RectPatch > | m_fault |
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 |
bool CRoughPaddedBlock3D::checkAFit | ( | const SimpleParticle & | P | ) | [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.
Referenced by generate().
void CRoughPaddedBlock3D::generate | ( | int | tries, |
unsigned int | seed | ||
) | [virtual] |
generate the particle packing
tries | number of attempts to insert particle before giving up |
seed | random seed |
Reimplemented from CPaddedBlock3D.
References checkAFit(), ARandomAssembly3D::fillSpace(), CPaddedBlock3D::generate_regular_padding(), CRandomBlock3D::insertParticle(), ARandomAssembly::m_random(), ARandomAssembly3D::m_rmax, and ARandomAssembly3D::m_zmax.
RectPatch CRoughPaddedBlock3D::getClosestPatch | ( | const SimpleParticle & | Po, |
double | sep0 | ||
) | [protected, virtual] |
Get closest fault patch
Po | the particle |
References RectPatch::sep().
Referenced by getClosestPlane().
Plane CRoughPaddedBlock3D::getClosestPlane | ( | const SimpleParticle & | Po | ) | [protected, virtual] |
Get closest plane
Po | the particle |
Reimplemented from ARandomAssembly3D.
References getClosestPatch(), RectPatch::getPlane(), RectPatch::sep(), and Plane::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 ARandomAssembly::m_random(), and ARandomAssembly3D::m_zmax.