ESyS-Particle  2.3.4
esys::lsm::GougeBlock3D Class Reference

Block consisting of regular padding, random layer and gouge. More...

#include <GougeBlock3D.h>

Inheritance diagram for esys::lsm::GougeBlock3D:
Collaboration diagram for esys::lsm::GougeBlock3D:

Public Types

typedef SimpleParticle Particle
 
typedef CircularNeighbourTable< SimpleParticleNTable
 
typedef boost::shared_ptr< NTableNTablePtr
 
typedef boost::shared_ptr< BlockGeneratorGeneratorPtr
 
typedef std::vector< GeneratorPtrGeneratorPtrVector
 
typedef NTable::ParticlePool ParticlePool
 
typedef NTable::ParticlePoolPtr ParticlePoolPtr
 
typedef std::set< BasicInteraction, BILessInteractionSet
 

Public Member Functions

 GougeBlock3D (const GougeBlockPrms &prms)
 
virtual ~GougeBlock3D ()
 
virtual void generate ()
 
int getNumParticles () const
 
const GeneratorPtrVectorgetGougeGeneratorVector () const
 
const GeneratorPtrVectorgetFaultGeneratorVector () const
 
bool isGougeParticle (const SimpleParticle &particle) const
 
bool areInDifferentFaultBlocks (const SimpleParticle &p1, const SimpleParticle &p2) const
 
virtual void write (std::ostream &oStream) const
 
void writeToFile (const std::string &fileName) const
 
void tagGougeParticles (int tag)
 
void tagFaultParticles (int tag)
 
void tagDrivingPlateParticles (int minDrivingTag, int maxDrivingTag, double distanceFromBBoxEdge)
 
virtual void createInteractionSet ()
 
const InteractionSetgetInteractionSet () const
 
template<typename TmplVisitor >
void visitParticles (TmplVisitor &visitor)
 
template<typename TmplVisitor >
void visitParticles (const TmplVisitor &visitor) const
 
template<typename TmplVisitor >
void visitInteractions (TmplVisitor &visitor) const
 
const GougeBlockPrmsgetPrms () const
 

Protected Member Functions

void createRegularBlockGenerators ()
 
void createFaultBlockGenerators ()
 
virtual void createGougeBlockGenerators ()
 

Protected Attributes

NTablePtr m_nTablePtr
 
GougeBlockPrms m_prms
 
InteractionSet m_interactionSet
 
GeneratorPtrVector m_gougeGenPtrVector
 
GeneratorPtrVector m_genPtrVector
 
ParticlePoolPtr m_particlePoolPtr
 

Private Attributes

GeneratorPtrVector m_regularGenPtrVector
 
GeneratorPtrVector m_faultGenPtrVector
 

Detailed Description

Block consisting of regular padding, random layer and gouge.

Member Typedef Documentation

◆ GeneratorPtr

◆ GeneratorPtrVector

◆ InteractionSet

◆ NTable

◆ NTablePtr

typedef boost::shared_ptr<NTable> esys::lsm::GougeBlock3D::NTablePtr

◆ Particle

◆ ParticlePool

◆ ParticlePoolPtr

Constructor & Destructor Documentation

◆ GougeBlock3D()

◆ ~GougeBlock3D()

esys::lsm::GougeBlock3D::~GougeBlock3D ( )
virtual

Member Function Documentation

◆ areInDifferentFaultBlocks()

bool esys::lsm::GougeBlock3D::areInDifferentFaultBlocks ( const SimpleParticle p1,
const SimpleParticle p2 
) const

References getFaultGeneratorVector().

Referenced by esys::lsm::GranularInteractionValidator::isValid(), and esys::lsm::InteractionValidator::isValid().

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

◆ createFaultBlockGenerators()

void esys::lsm::GougeBlock3D::createFaultBlockGenerators ( )
protected

◆ createGougeBlockGenerators()

void esys::lsm::GougeBlock3D::createGougeBlockGenerators ( )
protectedvirtual

◆ createInteractionSet()

void esys::lsm::GougeBlock3D::createInteractionSet ( )
virtual

◆ createRegularBlockGenerators()

void esys::lsm::GougeBlock3D::createRegularBlockGenerators ( )
protected

◆ generate()

◆ getFaultGeneratorVector()

const GougeBlock3D::GeneratorPtrVector & esys::lsm::GougeBlock3D::getFaultGeneratorVector ( ) const

References m_faultGenPtrVector.

Referenced by areInDifferentFaultBlocks().

Here is the caller graph for this function:

◆ getGougeGeneratorVector()

const GougeBlock3D::GeneratorPtrVector & esys::lsm::GougeBlock3D::getGougeGeneratorVector ( ) const

References m_gougeGenPtrVector.

Referenced by isGougeParticle().

Here is the caller graph for this function:

◆ getInteractionSet()

const GougeBlock3D::InteractionSet & esys::lsm::GougeBlock3D::getInteractionSet ( ) const

References m_interactionSet.

Referenced by visitInteractions(), and write().

Here is the caller graph for this function:

◆ getNumParticles()

int esys::lsm::GougeBlock3D::getNumParticles ( ) const

References m_genPtrVector.

◆ getPrms()

const GougeBlockPrms& esys::lsm::GougeBlock3D::getPrms ( ) const
inline

References m_prms.

◆ isGougeParticle()

bool esys::lsm::GougeBlock3D::isGougeParticle ( const SimpleParticle particle) const

References getGougeGeneratorVector().

Referenced by esys::lsm::GranularInteractionValidator::isValid(), and esys::lsm::InteractionValidator::isValid().

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

◆ tagDrivingPlateParticles()

◆ tagFaultParticles()

void esys::lsm::GougeBlock3D::tagFaultParticles ( int  tag)

◆ tagGougeParticles()

void esys::lsm::GougeBlock3D::tagGougeParticles ( int  tag)

◆ visitInteractions()

template<typename TmplVisitor >
void esys::lsm::GougeBlock3D::visitInteractions ( TmplVisitor &  visitor) const
inline

References getInteractionSet().

Referenced by write().

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

◆ visitParticles() [1/2]

template<typename TmplVisitor >
void esys::lsm::GougeBlock3D::visitParticles ( const TmplVisitor &  visitor) const
inline

◆ visitParticles() [2/2]

template<typename TmplVisitor >
void esys::lsm::GougeBlock3D::visitParticles ( TmplVisitor &  visitor)
inline

References esys::lsm::ForwardIterator< TmplIteratable >::hasNext(), m_genPtrVector, and esys::lsm::ForwardIterator< TmplIteratable >::next().

Referenced by esys::lsm::SphAggGougeBlock::visitParticles().

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

◆ write()

◆ writeToFile()

void esys::lsm::GougeBlock3D::writeToFile ( const std::string &  fileName) const

References write().

Here is the call graph for this function:

Member Data Documentation

◆ m_faultGenPtrVector

GeneratorPtrVector esys::lsm::GougeBlock3D::m_faultGenPtrVector
private

◆ m_genPtrVector

◆ m_gougeGenPtrVector

◆ m_interactionSet

◆ m_nTablePtr

◆ m_particlePoolPtr

◆ m_prms

◆ m_regularGenPtrVector

GeneratorPtrVector esys::lsm::GougeBlock3D::m_regularGenPtrVector
private

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