ESyS-Particle
4.0.1
|
Class to generate a 3d block of material consisting of a granular gouge between two solid blocks. More...
#include <GranularGougeBlock3D.h>
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) |
![]() | |
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 GougeBlockPrms & | getPrms () const |
Additional Inherited Members | |
![]() | |
typedef SimpleParticle | Particle |
typedef CircularNeighbourTable < SimpleParticle > | NTable |
typedef boost::shared_ptr< NTable > | NTablePtr |
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 |
![]() | |
void | createRegularBlockGenerators () |
void | createFaultBlockGenerators () |
virtual void | createGougeBlockGenerators () |
![]() | |
NTablePtr | m_nTablePtr |
GougeBlockPrms | m_prms |
InteractionSet | m_interactionSet |
GeneratorPtrVector | m_gougeGenPtrVector |
GeneratorPtrVector | m_genPtrVector |
ParticlePoolPtr | m_particlePoolPtr |
Class to generate a 3d block of material consisting of a granular gouge between two solid blocks.
esys::lsm::GranularGougeBlock3D::GranularGougeBlock3D | ( | const GougeBlockPrms & | prms | ) |
Constructor for GranularGougeBlock3D. Do nothing and call the base class constructor (GougeBlock3D)
prms | the GougeBlock3D parameters |
|
virtual |
Destructor. No dynamically allocated data in class -> do nothing
|
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.
|
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.
sdx | seed density, i.e. average distance between seeds in x-direction |
sdy | seed density in y-direction |
sdz | seed density in z-direction |
rdx | random variation of seed points in x-direction |
rdy | random variation of seed points in y-direction |
rdz | random variation of seed points in z-direction |
min_tag | minimum tag to be used in order not to collide with allready used tags |
rm_threshold | grains with less then rm_threshold particles get removed. Defaults to 0 |