Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
izonething.h
Go to the documentation of this file.
1 #pragma once
2 // izonething.h
3 
9 #include "iblockdef.h"
11 
12 namespace itasca
13 {
14  class IThing;
15 }
16 
17 namespace block
18 {
19 
20  class IVertexThing;
21  class IBlockThing;
22  class IFaceThing;
23 
29 
31  {
32  public:
34  static const FInt cpp = 23; // C++ extension from Fortran array
35 
37  virtual const itasca::IThing * getIThing() const=0;
39  virtual itasca::IThing * getIThing()=0;
41  inline static const TType type_ = 0x4ede2fe7;
43  virtual FInt getFortranOffset() const=0;
45  virtual quint64 getZoneID() const = 0;
48  virtual bool getBit(int bit) const=0;
54  virtual void setBit(int bit,bool b) const=0;
57  virtual QVariant getValue(int index) const=0;
62  virtual void setValue(int index,const QVariant &v) const=0;
64  virtual quint32 getNumVertices() const=0;
66  virtual quint32 getNumFaces() const=0;
69  virtual const IVertexThing * getVertexThing(qint32 index) const=0;
72  virtual quint64 getVertexThingID(qint32 index) const=0;
75  virtual FInt getVertex(qint32 index) const=0;
78  virtual quint32 getFaceSize(quint32 face) const=0;
82  virtual const IVertexThing * getFaceVertexThing(quint32 face,quint32 index) const=0;
86  virtual quint32 getFaceVertexIndex(quint32 face,quint32 index) const=0;
90  virtual DVect3 getFaceNormal(quint32 face) const=0;
94  virtual DVect3 getFaceCentroid(quint32 face) const=0;
98  virtual const IFaceThing* getFaceThing(quint32 face) const=0;
102  virtual quint64 getFaceThingID(quint32 face) const=0;
105  virtual const IZoneThing * getJoin(quint32 face) const=0;
107  virtual double getDensity() const=0;
109  virtual void setDensity(double d)=0;
111  virtual QString getModelName() const=0;
113  virtual void setModelName(const QString &mname)=0;
116  virtual QStringList getModelStates() const = 0;
118  virtual int getState() const=0;
120  virtual void setState(int s)=0;
122  virtual QString getStateString() const=0;
125  virtual quint32 getPropertyIndex(const QString &sc) const=0;
128  virtual QString getPropertyName(quint32 index) const=0;
130  virtual QStringList getPropertyNames() const=0;
133  virtual QVariant getProperty(uint index) const=0;
136  virtual QVariant getProperty(const QString& propName) const=0;
138  virtual void setProperty(const QString &sprop, QVariant val)=0;
140  virtual const QStringList getThermProperties() const=0;
143  virtual quint32 getThermPropertyIndex(const QString &sc) const=0;
146  virtual QVariant getThermProperty(uint index) const=0;
149  virtual QVariant getThermProperty(const QString& propName) const=0;
151  virtual bool setThermProperty(const QString& sprop, QVariant value)=0;
153  virtual const QStringList getFluidProperties() const=0;
156  virtual quint32 getFluidPropertyIndex(const QString &sc) const=0;
159  virtual QVariant getFluidProperty(uint index) const=0;
162  virtual QVariant getFluidProperty(const QString& propName) const=0;
164  virtual bool setFluidProperty(const QString& sprop, QVariant value)=0;
166  virtual double getSpare() const=0;
168  virtual SymTensor getStress(bool bEffective) const=0;
170  virtual void setStress(const SymTensor &st)=0;
172  virtual double getPP() const=0;
174  virtual SymTensor getStrainRate() const=0;
176  virtual SymTensor getStrainIncrement() const=0;
178  virtual SymTensor getRotStrainRate() const=0;
180  virtual SymTensor getRotStrainIncrement() const=0;
182  virtual FInt getBlock() const=0;
184  virtual IBlockThing* getBlockThing() const=0;
186  virtual quint64 getBlockThingID() const=0;
188  virtual double getMass() const=0;
190  virtual int getMaterialNumber() const=0;
192  //virtual double getMaxPressure() const=0;
194  //virtual double getVolumetricStrain() const=0;
196  //virtual double getMaxVolumetricStrain() const=0;
198  virtual bool isExcavated() const=0;
200  virtual bool isRemoved() const=0;
202  virtual bool getHidden() const=0;
204  virtual double getZoneVolume() const=0;
206  virtual quint32 getOverlay() const=0;
208  virtual double getMinEdgeLength() const=0;
210  virtual bool checkGoodForFLAC3D() const=0;
212  virtual DVect3 getFluidDischarge() const=0;
214  virtual DVect3 getThermalFlux() const=0;
216  virtual double getSxx() const=0;
218  virtual double getSyy() const=0;
220  virtual double getSzz() const=0;
222  virtual double getSxy() const=0;
224  virtual double getSxz() const=0;
226  virtual double getSyz() const=0;
228  virtual void setSxx(double s)=0;
230  virtual void setSyy(double s)=0;
232  virtual void setSzz(double s)=0;
234  virtual void setSxy(double s)=0;
236  virtual void setSxz(double s)=0;
238  virtual void setSyz(double s)=0;
243  virtual double getStressStrengthRatio(const SymTensor &s) const=0;
245  virtual double getZoneCondition(int i) const=0;
247  virtual DVect3 getDeformedPosition(bool active, double factor) const=0;
249  virtual double getSSI() const=0;
251  virtual double getSSR() const=0;
253  virtual double getVSI() const=0;
255  virtual double getVSR() const=0;
257  virtual DVect3 getLocation() const = 0;
258  };
259 
260 } // end namespace block
261 // EOF
virtual QString getPropertyName(quint32 index) const =0
virtual double getVSI() const =0
Return Volumetric Strain increment.
virtual const IZoneThing * getJoin(quint32 face) const =0
virtual void setSyz(double s)=0
Set yz component of stress (=zy)
virtual QString getStateString() const =0
Returns string associated with state.
virtual bool setThermProperty(const QString &sprop, QVariant value)=0
Set thermal property sprop to value. Returns false if property not found.
virtual quint32 getFluidPropertyIndex(const QString &sc) const =0
virtual QStringList getModelStates() const =0
This is the interface for ZoneThing, a class that holds extra data not in the fortran arrays....
Definition: izonething.h:30
virtual quint64 getVertexThingID(qint32 index) const =0
virtual DVect3 getFaceNormal(quint32 face) const =0
virtual quint32 getPropertyIndex(const QString &sc) const =0
namespace Itasca
Definition: basememory.cpp:9
virtual DVect3 getLocation() const =0
Returns zone position.
virtual int getMaterialNumber() const =0
return zone material number
virtual bool isRemoved() const =0
Returns true if zone is in a block that is removed.
Int FInt
Interface to provide access to 3DEC modules, global data, list of 3DEC entities, etc.
Definition: iblockdef.h:19
virtual quint32 getThermPropertyIndex(const QString &sc) const =0
virtual double getSyz() const =0
Get yz component of stress (=zy)
virtual FInt getFortranOffset() const =0
Return fortran offset. Necessary for gui queries.
virtual double getSpare() const =0
Returns value of spare offset.
Base class for items that will be stored in containers.
Definition: ithing.h:31
virtual const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
virtual double getSxy() const =0
Get xy component of stress (=yx)
Generic base class for the zone interface made available to the constitutive model system.
virtual QStringList getPropertyNames() const =0
returns a list of all the valid properties of the current constitutive model assigned to this zone
virtual double getSxx() const =0
Get xx component of stress.
virtual double getZoneCondition(int i) const =0
Returns the condition of zone geometry.
virtual const IFaceThing * getFaceThing(quint32 face) const =0
Return 0 if not a block face.
virtual void setSxx(double s)=0
Set xx component of stress.
Fortran to C++ type declarations.
virtual DVect3 getDeformedPosition(bool active, double factor) const =0
Return the position of the gridpoint with deformation exaggerated by factor if active is true.
virtual double getZoneVolume() const =0
Returns zone volume.
virtual void setBit(int bit, bool b) const =0
virtual void setSzz(double s)=0
Set zz component of stress.
virtual quint32 getFaceVertexIndex(quint32 face, quint32 index) const =0
virtual SymTensor getStrainRate() const =0
Return strain rate.
virtual bool getHidden() const =0
Returns true if zone or host block is hidden.
virtual FInt getVertex(qint32 index) const =0
virtual quint64 getFaceThingID(quint32 face) const =0
virtual QVariant getProperty(uint index) const =0
virtual const QStringList getFluidProperties() const =0
Returns the list of properties for the matrix flow model.
virtual void setValue(int index, const QVariant &v) const =0
Note - this is const through some hack so that we can use const ZoneThings when getting data.
virtual double getDensity() const =0
returns the zone density
virtual void setSyy(double s)=0
Set yy component of stress.
virtual double getPP() const =0
Return zone pore pressure (= average of gridpoint pore pressures)
virtual double getStressStrengthRatio(const SymTensor &s) const =0
virtual double getSxz() const =0
Get xz component of stress (=zx)
virtual SymTensor getStrainIncrement() const =0
Return strain increment.
virtual double getMass() const =0
return zone mass
This is the interface for BlockThing, a class that holds extra data not in the fortran arrays....
Definition: iblockthing.h:31
virtual QVariant getThermProperty(uint index) const =0
virtual void setStress(const SymTensor &st)=0
Set the zone stress.
unsigned int TType
class type indicator
Definition: basedef.h:41
virtual SymTensor getRotStrainIncrement() const =0
Return rotational strain increment.
virtual const QStringList getThermProperties() const =0
Returns the list of properties for the thermal model.
A symmetric 2nd order tensor.
Definition: symtensor.h:19
virtual bool isExcavated() const =0
Returns total volumetric strain.
virtual const IVertexThing * getFaceVertexThing(quint32 face, quint32 index) const =0
virtual double getMinEdgeLength() const =0
Get minimum edge length.
virtual IBlockThing * getBlockThing() const =0
Return host blockthing.
virtual quint32 getNumFaces() const =0
Returns the number of faces used by the zone.
virtual quint64 getBlockThingID() const =0
Return host blockthing id.
virtual bool getBit(int bit) const =0
virtual bool checkGoodForFLAC3D() const =0
Checks to ascertain if the tet volume will be adequate for FLAC3D.
virtual quint32 getFaceSize(quint32 face) const =0
virtual double getSyy() const =0
Get yy component of stress.
This is the interface for VertexThing. This will be stored in a container and the ID will be stored i...
Definition: ivertexthing.h:28
virtual const IVertexThing * getVertexThing(qint32 index) const =0
virtual void setModelName(const QString &mname)=0
Set constitutive modoel name.
virtual DVect3 getFluidDischarge() const =0
Get the fluid discharge vector.
virtual QVariant getValue(int index) const =0
static const FInt cpp
offset to obtain pointer to zonething ID
Definition: izonething.h:34
virtual SymTensor getRotStrainRate() const =0
Return rotational strain rate.
virtual double getSzz() const =0
Get zz component of stress.
virtual int getState() const =0
Returns the code for the plastic state.
static const TType type_
type used in IThing typing system
Definition: izonething.h:41
Generic base class for the zone interface made available to the constitutive model system.
Definition: igenericzone.h:22
virtual void setProperty(const QString &sprop, QVariant val)=0
Set property sprop to value. Returns false if property not found.
virtual double getSSR() const =0
Return Shear Strain rate increment.
virtual DVect3 getFaceCentroid(quint32 face) const =0
virtual double getVSR() const =0
Return Volumetric Strain rate increment.
virtual void setDensity(double d)=0
sets the density of the individual zone (not the material density)
virtual void setSxy(double s)=0
Set xy component of stress (=yx)
virtual void setState(int s)=0
Sets the code for the plastic state.
virtual quint64 getZoneID() const =0
Return the zone ID.
virtual QVariant getFluidProperty(uint index) const =0
virtual double getSSI() const =0
Return Shear Strain increment.
virtual QString getModelName() const =0
Returns the name of the mechanical constitutive model present in the zone.
virtual FInt getBlock() const =0
return fortran offset of host block
virtual quint32 getNumVertices() const =0
Returns the number of vertices used by the zone.
virtual void setSxz(double s)=0
Set xz component of stress (=zx)
virtual SymTensor getStress(bool bEffective) const =0
Return zone stress.
This is the interface for FaceThing, a class that holds extra data not in the fortran arrays....
Definition: ifacething.h:32
virtual bool setFluidProperty(const QString &sprop, QVariant value)=0
Set fluid property sprop to value. Returns false if property not found.
virtual quint32 getOverlay() const =0
Returns overlay number (0-3). Used in quad zoning.
virtual DVect3 getThermalFlux() const =0
Get thermal flow vector.