ESyS-Particle  2.3.4
CRoughPaddedBlock3D Class Reference

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>

Inheritance diagram for CRoughPaddedBlock3D:
Collaboration diagram for CRoughPaddedBlock3D:

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< SimpleParticlegetNeighborList (const SimpleParticle &)
 
vector< SimpleParticleget3ClosestNeighbors (const SimpleParticle &, const vector< SimpleParticle > &)
 
vector< SimpleParticlegetClosestNeighbors (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< RectPatchm_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< Plane3DBorders
 
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
ASimpleNTablem_snt
 
set< BasicInteraction, BILessm_iset
 
vector< SimpleParticlem_bpart
 

Additional Inherited Members

- Static Protected Attributes inherited from ARandomAssembly
static double m_small_value =1e-7
 

Detailed Description

Class for the generation of a 3D lattice with a random middle section and random rough/smooth sections of the fault surface.

Author
Steffen Abe
Revision
Date

Constructor & Destructor Documentation

◆ CRoughPaddedBlock3D()

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

Parameters
xminminimum in x-direction
xmaxmaximum in x-direction
yminminimum in y-direction
ymaxmaximum in y-direction
zminminimum in z-direction
zmaxmaximum in z-direction
rminminimum particle radius
rmaxmaximum particle radius
ysplit
pad
circ_x

References ARandomAssembly3D::Borders.

◆ ~CRoughPaddedBlock3D()

virtual CRoughPaddedBlock3D::~CRoughPaddedBlock3D ( )
inlinevirtual

Member Function Documentation

◆ checkAFit()

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.

Parameters
Pothe particle

Reimplemented from ARandomAssembly3D.

References ARandomAssembly3D::checkAFit(), SimpleParticle::getPos(), SimpleParticle::getRad(), esys::lsm::bpu::iter(), and m_fault.

Referenced by generate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate()

◆ getClosestPatch()

RectPatch CRoughPaddedBlock3D::getClosestPatch ( const SimpleParticle Po,
double  sep0 
)
protectedvirtual

Get closest fault patch

Parameters
Pothe particle

References SimpleParticle::getPos(), esys::lsm::bpu::iter(), and m_fault.

Referenced by getClosestPlane().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getClosestPlane()

Plane3D CRoughPaddedBlock3D::getClosestPlane ( const SimpleParticle Po)
protectedvirtual

Get closest plane

Parameters
Pothe particle

Reimplemented from ARandomAssembly3D.

References getClosestPatch(), ARandomAssembly3D::getClosestPlane(), RectPatch::getPlane(), SimpleParticle::getPos(), RectPatch::sep(), and Plane3D::sep().

Here is the call graph for this function:

◆ setRoughness()

void CRoughPaddedBlock3D::setRoughness ( int  nx,
int  nz,
double  depth,
double  prob 
)

setup fault roughness

Parameters
nxx-resolution
nzz-resolution
depthamount of roughness in the rough patches
probprobability 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.

Here is the call graph for this function:

Member Data Documentation

◆ m_fault

vector<RectPatch> CRoughPaddedBlock3D::m_fault
protected

◆ m_rough_depth

double CRoughPaddedBlock3D::m_rough_depth
protected

◆ m_rough_prob

double CRoughPaddedBlock3D::m_rough_prob
protected

◆ m_rough_xres

double CRoughPaddedBlock3D::m_rough_xres
protected

◆ m_rough_yres

double CRoughPaddedBlock3D::m_rough_yres
protected

The documentation for this class was generated from the following files: