ESyS-Particle  4.0.1
Public Member Functions | Protected Member Functions | Protected Attributes
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]

List of all members.

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)

Protected Member Functions

virtual LinegetClosestPlane (const SimpleParticle &)
virtual Vec3 getAPoint ()

Protected Attributes

vector< pair< double,
LineSegment > > 
m_fault
vector< LineSegmentm_f2
double m_pad_size

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 ( ) [protected, virtual]

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) [protected, virtual]

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: