ESyS-Particle  4.0.1
Public Member Functions | List of all members
esys::lsm::GranularGougeBlock3D Class Reference

Class to generate a 3d block of material consisting of a granular gouge between two solid blocks. More...

#include <GranularGougeBlock3D.h>

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

Public Member Functions

 GranularGougeBlock3D (const GougeBlockPrms &prms)
virtual ~GranularGougeBlock3D ()
virtual void createInteractionSet ()
virtual void generate ()
virtual void generateGrains (double, double, double, double, double, double, int, int rm_threshold=0)
- 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 (TmplVisitor &visitor)
template<typename TmplVisitor >
void visitParticles (const TmplVisitor &visitor) const
template<typename TmplVisitor >
void visitInteractions (TmplVisitor &visitor) const
const GougeBlockPrmsgetPrms () const

Additional Inherited Members

- 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
- Protected Member Functions inherited from esys::lsm::GougeBlock3D
void createRegularBlockGenerators ()
void createFaultBlockGenerators ()
virtual void createGougeBlockGenerators ()
- 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

Class to generate a 3d block of material consisting of a granular gouge between two solid blocks.

Author
Steffen Abe $Revision$ $Date$

Constructor & Destructor Documentation

esys::lsm::GranularGougeBlock3D::GranularGougeBlock3D ( const GougeBlockPrms prms)

Constructor for GranularGougeBlock3D. Do nothing and call the base class constructor (GougeBlock3D)

Parameters
prmsthe GougeBlock3D parameters
esys::lsm::GranularGougeBlock3D::~GranularGougeBlock3D ( )
virtual

Destructor. No dynamically allocated data in class -> do nothing

Member Function Documentation

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

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.

void esys::lsm::GranularGougeBlock3D::generateGrains ( double  sdx,
double  sdy,
double  sdz,
double  rdx,
double  rdy,
double  rdz,
int  min_tag,
int  rm_threshold = 0 
)
virtual

Generate composite grains from the existing gouge particles by randomly distributing seed points within the gouge region, then tagging all particles closest to the same seed point with the same tag.

Warning
currently assumes single gouge layer/generator
Parameters
sdxseed density, i.e. average distance between seeds in x-direction
sdyseed density in y-direction
sdzseed density in z-direction
rdxrandom variation of seed points in x-direction
rdyrandom variation of seed points in y-direction
rdzrandom variation of seed points in z-direction
min_tagminimum tag to be used in order not to collide with allready used tags
rm_thresholdgrains with less then rm_threshold particles get removed. Defaults to 0

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