ESyS-Particle  4.0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
esys::lsm::SphAggGougeBlock Class Reference

Block of gouge consisting of spherical aggregate grains. More...

#include <SphAggGougeBlock.h>

Inheritance diagram for esys::lsm::SphAggGougeBlock:
Inheritance graph
[legend]
Collaboration diagram for esys::lsm::SphAggGougeBlock:
Collaboration graph
[legend]

Public Types

typedef boost::shared_ptr
< SphereBlockGenerator
SBG_ptr
- Public Types inherited from esys::lsm::GougeBlock3D
typedef SimpleParticle Particle
typedef CircularNeighbourTable
< SimpleParticle
NTable
typedef boost::shared_ptr< NTableNTablePtr
typedef boost::shared_ptr
< BlockGenerator
GeneratorPtr
typedef std::vector< GeneratorPtr > GeneratorPtrVector
typedef NTable::ParticlePool ParticlePool
typedef NTable::ParticlePoolPtr ParticlePoolPtr
typedef std::set
< BasicInteraction, BILess
InteractionSet

Public Member Functions

 SphAggGougeBlock (const GougeBlockPrms &, double, double, int)
virtual void generate ()
template<typename TmplVisitor >
void visitParticles (TmplVisitor &)
template<typename TmplVisitor >
void visitParticles (TmplVisitor &) const
- Public Member Functions inherited from esys::lsm::GougeBlock3D
 GougeBlock3D (const GougeBlockPrms &prms)
int getNumParticles () const
const GeneratorPtrVector & getGougeGeneratorVector () const
const GeneratorPtrVector & getFaultGeneratorVector () 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)
const InteractionSet & getInteractionSet () const
template<typename TmplVisitor >
void visitParticles (const TmplVisitor &visitor) const
template<typename TmplVisitor >
void visitInteractions (TmplVisitor &visitor) const
const GougeBlockPrmsgetPrms () const

Protected Member Functions

void generateMacroGrains ()
void fillMacroGrains ()
void setupNT2 ()
void createInteractionSet ()
virtual void createGougeBlockGenerators ()
- Protected Member Functions inherited from esys::lsm::GougeBlock3D
void createRegularBlockGenerators ()
void createFaultBlockGenerators ()

Protected Attributes

double m_min_rad_grain
double m_max_rad_grain
vector< SimpleParticlem_macro_grains
NTablePtr m_nTablePtr2
ParticlePoolPtr m_particlePoolPtr2
GeneratorPtr m_grainGen
vector< SBG_ptr > m_grainParticleGen
int m_min_grain_tag
- Protected Attributes inherited from esys::lsm::GougeBlock3D
NTablePtr m_nTablePtr
GougeBlockPrms m_prms
InteractionSet m_interactionSet
GeneratorPtrVector m_gougeGenPtrVector
GeneratorPtrVector m_genPtrVector
ParticlePoolPtr m_particlePoolPtr

Detailed Description

Block of gouge consisting of spherical aggregate grains.

Constructor & Destructor Documentation

esys::lsm::SphAggGougeBlock::SphAggGougeBlock ( const GougeBlockPrms params,
double  minRadGrain,
double  maxRadGrain,
int  minGrainTag 
)

constructor

Parameters
paramsthe general gouge parameters
minRadGrainminimum radius of the macro grains
maxRadGrainmaximum radius of the macro grains
minGrainTagminimum tag for grains

Member Function Documentation

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

create block generators for gouge region -> do nothing

Reimplemented from esys::lsm::GougeBlock3D.

void esys::lsm::SphAggGougeBlock::createInteractionSet ( )
protectedvirtual

Create interaction set. Changed from base class by using a different validator which allows links between particles with the same tag, i.e. belonging to the same composite grain. Refactor ?

Reimplemented from esys::lsm::GougeBlock3D.

Referenced by generate().

Here is the caller graph for this function:

void esys::lsm::SphAggGougeBlock::fillMacroGrains ( )
protected

helper function for generate - fill each generated macro sphere with smaller particles

Referenced by generate().

Here is the caller graph for this function:

void esys::lsm::SphAggGougeBlock::generate ( )
virtual

generate particle packing

Reimplemented from esys::lsm::GougeBlock3D.

References createInteractionSet(), fillMacroGrains(), generateMacroGrains(), and setupNT2().

Here is the call graph for this function:

void esys::lsm::SphAggGougeBlock::generateMacroGrains ( )
protected

helper function for generate - setup inital sphere packing for macro grains

Referenced by generate().

Here is the caller graph for this function:

void esys::lsm::SphAggGougeBlock::setupNT2 ( )
protected

helper function for generate - setup the 2nd NTable (for the macro grains)

Referenced by generate().

Here is the caller graph for this function:


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