ESyS-Particle  2.3.4
GranularGougeBlock3D.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 #ifndef __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
14 #define __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
15 
16 // --- project includes --
17 #include "Geometry/GougeBlock3D.h"
18 
19 namespace esys {
20  namespace lsm {
21 
32  {
33  private:
34  vector<Vec3> m_grain_seeds;
35 
36  void generateSeeds(double,double,double,double,double,double);
37 
38  public:
40  virtual ~GranularGougeBlock3D();
41 
42  virtual void createInteractionSet();
43  virtual void generate();
44  //virtual void generateGrains(double,double,double,double,double,double,int,int rm_threshold=0);
45  virtual void generateGrains(double,double,double,double,double,double,int);
46  };
47 
57  {
58  private:
60  double m_tolerance;
61 
62  public:
64  bool isValid(const SimpleParticle&, const SimpleParticle&) const;
65  };
66  }
67 }
68 
69 #endif // __ESYS_LSM_GRANULARGOUGEBLOCK3D_H
SimpleParticle::getRad
double getRad() const
Definition: SimpleParticle.hpp:70
esys::lsm::GougeBlock3D
Block consisting of regular padding, random layer and gouge.
Definition: GougeBlock3D.h:169
esys::lsm::GranularInteractionValidator::isValid
bool isValid(const SimpleParticle &, const SimpleParticle &) const
Definition: GranularGougeBlock3D.cpp:177
esys::lsm::GougeBlock3D::m_nTablePtr
NTablePtr m_nTablePtr
Definition: GougeBlock3D.h:270
esys::lsm::GougeBlock3D::isGougeParticle
bool isGougeParticle(const SimpleParticle &particle) const
Definition: GougeBlock3D.cpp:612
esys::lsm::SimpleParticleData::getID
Id getID() const
Definition: SimpleParticleData.hpp:109
esys::lsm::CircularNeighbourTable::ParticleVector
Inherited::ParticleVector ParticleVector
Definition: CircularNeighbourTable.h:38
esys::lsm::GranularInteractionValidator
Used to check the validity of an interaction in a GranularGougeBlock.
Definition: GranularGougeBlock3D.h:57
esys::lsm::GranularGougeBlock3D::createInteractionSet
virtual void createInteractionSet()
Definition: GranularGougeBlock3D.cpp:130
esys::lsm::GranularInteractionValidator::GranularInteractionValidator
GranularInteractionValidator(const GranularGougeBlock3D &, double)
Definition: GranularGougeBlock3D.cpp:170
esys::lsm::GougeBlockPrms
Definition: GougeBlock3D.h:92
SimpleParticle::getPos
const Vec3 & getPos() const
Definition: SimpleParticle.hpp:30
esys::lsm::BoundingBox::getMaxPt
const Vec3 & getMaxPt() const
Definition: BoundingBox.hpp:45
esys::lsm::GougeBlock3D::m_prms
GougeBlockPrms m_prms
Definition: GougeBlock3D.h:271
esys::lsm::ForwardIterator::hasNext
bool hasNext() const
Definition: StlIterator.h:48
esys::lsm::ForwardIterator::next
reference next()
Definition: StlIterator.h:60
esys::lsm::GranularGougeBlock3D::generateSeeds
void generateSeeds(double, double, double, double, double, double)
Definition: GranularGougeBlock3D.cpp:54
SimpleParticle
Definition: SimpleParticle.h:25
esys::lsm::GranularGougeBlock3D::m_grain_seeds
vector< Vec3 > m_grain_seeds
seed points for grain generation algorithm
Definition: GranularGougeBlock3D.h:34
esys::lsm::GranularGougeBlock3D::~GranularGougeBlock3D
virtual ~GranularGougeBlock3D()
Definition: GranularGougeBlock3D.cpp:39
Vec3::X
VEC3_INLINE double & X()
Definition: vec3.h:119
esys::lsm::BoundingBox
3D bounding box
Definition: BoundingBox.h:28
esys
Definition: CheckPointable.cpp:17
BasicInteraction
Class to represent the common part of a pair interaction, i.e. the IDs of the particles and the inter...
Definition: BasicInteraction.h:28
esys::lsm::GougeBlockPrms::getGougePackingInfoVector
PackingInfoVector getGougePackingInfoVector() const
Definition: GougeBlock3D.cpp:331
Vec3::Z
VEC3_INLINE double & Z()
Definition: vec3.h:121
esys::lsm::CircularNeighbourTable::Particle
Inherited::Particle Particle
Definition: CircularNeighbourTable.h:37
esys::lsm::BoundingBox::getMinPt
const Vec3 & getMinPt() const
Definition: BoundingBox.hpp:40
GranularGougeBlock3D.h
esys::lsm::GranularGougeBlock3D
Class to generate a 3d block of material consisting of a granular gouge between two solid blocks.
Definition: GranularGougeBlock3D.h:32
Vec3::Y
VEC3_INLINE double & Y()
Definition: vec3.h:120
esys::lsm::GougeBlock3D::areInDifferentFaultBlocks
bool areInDifferentFaultBlocks(const SimpleParticle &p1, const SimpleParticle &p2) const
Definition: GougeBlock3D.cpp:592
esys::lsm::GougeBlockPrms::getConnectionTolerance
double getConnectionTolerance() const
Definition: GougeBlock3D.cpp:202
esys::lsm::SimpleParticleData::setTag
void setTag(const Tag &tag)
Definition: SimpleParticleData.hpp:129
Vec3
Definition: vec3.h:47
esys::lsm::bpu::iter
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
esys::lsm::ForwardIterator
Definition: StlIterator.h:30
esys::lsm::GranularGougeBlock3D::generate
virtual void generate()
Definition: GranularGougeBlock3D.cpp:154
esys::lsm::GranularGougeBlock3D::GranularGougeBlock3D
GranularGougeBlock3D(const GougeBlockPrms &prms)
Definition: GranularGougeBlock3D.cpp:31
esys::lsm::GranularInteractionValidator::m_pGougeBlock
const GranularGougeBlock3D * m_pGougeBlock
Definition: GranularGougeBlock3D.h:59
esys::lsm::GranularInteractionValidator::m_tolerance
double m_tolerance
Definition: GranularGougeBlock3D.h:60
esys::lsm::GougeBlock3D::m_gougeGenPtrVector
GeneratorPtrVector m_gougeGenPtrVector
Definition: GougeBlock3D.h:273
GougeBlock3D.h
getBBox
BoundingBox getBBox(const std::string &arg)
Definition: Main.cpp:24
esys::lsm::GougeBlock3D::m_interactionSet
InteractionSet m_interactionSet
Definition: GougeBlock3D.h:272
esys::lsm::GougeBlock3D::m_genPtrVector
GeneratorPtrVector m_genPtrVector
Definition: GougeBlock3D.h:274
esys::lsm::SimpleParticleData::getTag
Tag getTag() const
Definition: SimpleParticleData.hpp:124
esys::lsm::GranularGougeBlock3D::generateGrains
virtual void generateGrains(double, double, double, double, double, double, int)
Definition: GranularGougeBlock3D.cpp:98
BoundingBox.h
esys::lsm::PackingInfoVector
std::vector< PackingInfo > PackingInfoVector
Definition: GougeBlock3D.h:90