ESyS-Particle
4.0.1
|
Block of gouge consisting of spherical aggregate grains. More...
#include <SphAggGougeBlock.h>
Public Types | |
typedef boost::shared_ptr < SphereBlockGenerator > | SBG_ptr |
![]() | |
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 |
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 |
![]() | |
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 GougeBlockPrms & | getPrms () const |
Protected Member Functions | |
void | generateMacroGrains () |
void | fillMacroGrains () |
void | setupNT2 () |
void | createInteractionSet () |
virtual void | createGougeBlockGenerators () |
![]() | |
void | createRegularBlockGenerators () |
void | createFaultBlockGenerators () |
Protected Attributes | |
double | m_min_rad_grain |
double | m_max_rad_grain |
vector< SimpleParticle > | m_macro_grains |
NTablePtr | m_nTablePtr2 |
ParticlePoolPtr | m_particlePoolPtr2 |
GeneratorPtr | m_grainGen |
vector< SBG_ptr > | m_grainParticleGen |
int | m_min_grain_tag |
![]() | |
NTablePtr | m_nTablePtr |
GougeBlockPrms | m_prms |
InteractionSet | m_interactionSet |
GeneratorPtrVector | m_gougeGenPtrVector |
GeneratorPtrVector | m_genPtrVector |
ParticlePoolPtr | m_particlePoolPtr |
Block of gouge consisting of spherical aggregate grains.
esys::lsm::SphAggGougeBlock::SphAggGougeBlock | ( | const GougeBlockPrms & | params, |
double | minRadGrain, | ||
double | maxRadGrain, | ||
int | minGrainTag | ||
) |
constructor
params | the general gouge parameters |
minRadGrain | minimum radius of the macro grains |
maxRadGrain | maximum radius of the macro grains |
minGrainTag | minimum tag for grains |
|
protectedvirtual |
create block generators for gouge region -> do nothing
Reimplemented from esys::lsm::GougeBlock3D.
|
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().
|
protected |
helper function for generate - fill each generated macro sphere with smaller particles
Referenced by generate().
|
virtual |
generate particle packing
Reimplemented from esys::lsm::GougeBlock3D.
References createInteractionSet(), fillMacroGrains(), generateMacroGrains(), and setupNT2().
|
protected |
helper function for generate - setup inital sphere packing for macro grains
Referenced by generate().
|
protected |
helper function for generate - setup the 2nd NTable (for the macro grains)
Referenced by generate().