ESyS-Particle  4.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FaultedBlock2D Class Reference

class for the generation of a 2D random block with a fault consisting of line segments More...

#include <FaultedBlock2d.h>

Inheritance diagram for FaultedBlock2D:
Inheritance graph
[legend]
Collaboration diagram for FaultedBlock2D:
Collaboration graph
[legend]

Public Member Functions

 FaultedBlock2D (double, double, double, double, double, double, double, bool circ_x=false)
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 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)

Protected Member Functions

virtual LinegetClosestPlane (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< SimpleParticlegetNeighborList (const SimpleParticle &)
vector< SimpleParticleget3ClosestNeighbors (const SimpleParticle &, const vector< SimpleParticle > &)
vector< SimpleParticlegetClosestNeighbors (const SimpleParticle &, int)
SimpleParticle getClosestParticle (const SimpleParticle &, const vector< SimpleParticle > &)

Protected Attributes

vector< pair< double,
LineSegment > > 
m_fault
vector< LineSegmentm_f2
double m_pad_size
- Protected Attributes inherited from CRandomBlock2D
double m_maxConnDist
- Protected Attributes inherited from ARandomAssembly2D
vector< LineBorders
double m_rmin
double m_rmax
 min/max particle radius
double m_xmin
double m_xmax
double m_ymin
double m_ymax
 x,y borders of the lattice
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 2D random block with a fault consisting of line segments

Author
Steffen Abe $Date$ $Revision$

Constructor & Destructor Documentation

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

Parameters
xminminimum in x-direction
xmaxmaximum in x-direction
yminminimum in y-direction
ymaxmaximum in y-direction
rminminimum particle radius
rmaxmaximum particle radius
padthickness of the padding region at each diving edge
circ_xcircular boudary condition in x-direction

Member Function Documentation

void FaultedBlock2D::addSegment ( const Vec3 P1,
const Vec3 P2,
double  r 
)

Add a fault segment to the block

Parameters
P11st end point
P22nd end point
rroughness parameter (0.0...1.0)
bool FaultedBlock2D::checkAFit ( const SimpleParticle Po)
virtual

check if Po is within the Space and is not crossing any boundary or overlapping with other particles.

Parameters
Pothe particle

Reimplemented from ARandomAssembly2D.

Referenced by generate().

Here is the caller graph for this function:

void FaultedBlock2D::generate ( int  tries,
unsigned int  seed 
)
virtual

generate the particle packing

Parameters
triesnumber of attempts to insert particle before giving up
seedrandom seed

Reimplemented from CRandomBlock2D.

References checkAFit(), ARandomAssembly2D::fillSpace(), CRandomBlock2D::insertParticle(), ARandomAssembly::m_random(), ARandomAssembly2D::m_rmax, and ARandomAssembly2D::m_ymax.

Here is the call graph for this function:

Vec3 FaultedBlock2D::getAPoint ( )
protectedvirtual

Get a random point with in the "random" region, i.e. outside the padding zone

Reimplemented from CRandomBlock2D.

References ARandomAssembly::m_random(), and ARandomAssembly2D::m_ymax.

Here is the call graph for this function:

Line * FaultedBlock2D::getClosestPlane ( const SimpleParticle Po)
protectedvirtual

Get closest line/line segment to a particle. Overloaded from ARandomAssembly2D to include line segments with overlap of 0.0

Parameters
Pothe particle

Reimplemented from ARandomAssembly2D.

void FaultedBlock2D::tagSplit ( int  tag1,
int  tag2,
double  d 
)
virtual

Tag particles along the split line

Parameters
tag1the tag for particles "above" the split (y>y_split)
tag2the tag for particles "below" the split (y<y_split)
dmaximum distance from the split line at which a particle gets tagged

Reimplemented from ARandomAssembly.


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