Itasca C++ Interface
Loading...
Searching...
No Matches
izonething.h
Go to the documentation of this file.
1#pragma once
2// izonething.h
3
9#include "iblockdef.h"
11
12namespace itasca
13{
14 class IThing;
15}
16
17namespace models {
18 class ConstitutiveModel;
19}
20
21namespace block
22{
23
24 class IVertexThing;
25 class IBlockThing;
26 class IFaceThing;
27
33
35 {
36 public:
38 static const FInt cpp = 23; // C++ extension from Fortran array
39
41 virtual const itasca::IThing * getIThing() const=0;
45 inline static const TType type_ = 0x4ede2fe7;
47 virtual FInt getFortranOffset() const=0;
49 virtual uint64 getZoneID() const = 0;
52 virtual bool getBit(int bit) const=0;
58 virtual void setBit(int bit,bool b) const=0;
61 virtual QVariant getValue(int index) const=0;
66 virtual void setValue(int index,const QVariant &v) const=0;
68 virtual uint32 getNumVertices() const=0;
70 virtual uint32 getNumFaces() const=0;
73 virtual const IVertexThing * getVertexThing(qint32 index) const=0;
76 virtual uint64 getVertexThingID(qint32 index) const=0;
79 virtual FInt getVertex(qint32 index) const=0;
82 virtual uint32 getFaceSize(uint32 face) const=0;
86 virtual const IVertexThing * getFaceVertexThing(uint32 face,uint32 index) const=0;
90 virtual uint32 getFaceVertexIndex(uint32 face,uint32 index) const=0;
94 virtual DVect3 getFaceNormal(uint32 face) const=0;
98 virtual DVect3 getFaceCentroid(uint32 face) const=0;
102 virtual const IFaceThing* getFaceThing(uint32 face) const=0;
106 virtual uint64 getFaceThingID(uint32 face) const=0;
109 virtual const IZoneThing * getJoin(uint32 face) const=0;
111 virtual double getDensity() const=0;
113 virtual void setDensity(double d)=0;
114 virtual const models::ConstitutiveModel* getCModel() const = 0;
116 virtual string getModelName() const=0;
118 virtual void setModelName(const string &mname)=0;
121 virtual StringList getModelStates() const = 0;
123 virtual int getState() const=0;
125 virtual void setState(int s)=0;
127 virtual string getStateString(bool omitpaststate=false) const=0;
130 virtual uint32 getPropertyIndex(const string &sc) const=0;
133 virtual string getPropertyName(uint32 index) const=0;
135 virtual StringList getPropertyNames() const=0;
138 virtual base::Property getProperty(uint index) const=0;
141 virtual base::Property getProperty(const string& propName) const=0;
143 virtual void setProperty(const string &sprop, base::Property val)=0;
145 virtual const QStringList getThermProperties() const=0;
148 virtual uint32 getThermPropertyIndex(const QString &sc) const=0;
151 virtual QVariant getThermProperty(uint index) const=0;
154 virtual QVariant getThermProperty(const QString& propName) const=0;
156 virtual bool setThermProperty(const QString& sprop, QVariant value)=0;
158 virtual const QStringList getFluidProperties() const=0;
161 virtual uint32 getFluidPropertyIndex(const QString &sc) const=0;
164 virtual QVariant getFluidProperty(uint index) const=0;
167 virtual QVariant getFluidProperty(const QString& propName) const=0;
169 virtual bool setFluidProperty(const QString& sprop, QVariant value)=0;
171 virtual double getSpare() const=0;
173 virtual SymTensor getStress(bool bEffective) const=0;
175 virtual void setStress(const SymTensor &st)=0;
177 virtual double getPP() const=0;
179 virtual SymTensor getStrainRate() const=0;
181 virtual SymTensor getStrainIncrement() const=0;
183 virtual SymTensor getRotStrainRate() const=0;
187 virtual FInt getBlock() const=0;
189 virtual IBlockThing* getBlockThing() const=0;
191 virtual uint64 getBlockThingID() const=0;
193 virtual double getMass() const=0;
195 virtual int getMaterialNumber() const=0;
197 //virtual double getMaxPressure() const=0;
199 //virtual double getVolumetricStrain() const=0;
201 //virtual double getMaxVolumetricStrain() const=0;
203 virtual bool isExcavated() const=0;
205 virtual bool isRemoved() const=0;
207 virtual bool getHidden() const=0;
209 virtual double getZoneVolume() const=0;
211 virtual uint32 getOverlay() const=0;
213 virtual double getMinEdgeLength() const=0;
215 virtual bool checkGoodForFLAC3D() const=0;
217 virtual DVect3 getFluidDischarge() const=0;
219 virtual DVect3 getThermalFlux() const=0;
221 virtual double getSxx() const=0;
223 virtual double getSyy() const=0;
225 virtual double getSzz() const=0;
227 virtual double getSxy() const=0;
229 virtual double getSxz() const=0;
231 virtual double getSyz() const=0;
233 virtual void setSxx(double s)=0;
235 virtual void setSyy(double s)=0;
237 virtual void setSzz(double s)=0;
239 virtual void setSxy(double s)=0;
241 virtual void setSxz(double s)=0;
243 virtual void setSyz(double s)=0;
248 virtual double getStrengthStressRatio(const SymTensor &s) const=0;
250 virtual double getZoneCondition(int i) const=0;
252 virtual DVect3 getDeformedPosition(bool active, double factor) const=0;
254 virtual double getSSI() const=0;
256 virtual double getSSR() const=0;
258 virtual double getVSI() const=0;
260 virtual double getVSR() const=0;
262 virtual DVect3 getLocation() const = 0;
263 };
264
265} // end namespace block
266// EOF
Definition basestring.h:89
A symmetric 2nd order tensor.
Definition symtensor.h:22
Definition property.h:25
This is the interface for BlockThing, a class that holds extra data not in the fortran arrays....
Definition iblockthing.h:32
This is the interface for FaceThing, a class that holds extra data not in the fortran arrays....
Definition ifacething.h:33
This is the interface for VertexThing. This will be stored in a container and the ID will be stored i...
Definition ivertexthing.h:29
This is the interface for ZoneThing, a class that holds extra data not in the fortran arrays....
Definition izonething.h:35
virtual uint32 getThermPropertyIndex(const QString &sc) const =0
virtual double getSSI() const =0
Return Shear Strain increment.
virtual SymTensor getStrainRate() const =0
Return strain rate.
virtual QVariant getThermProperty(const QString &propName) const =0
virtual double getPP() const =0
Return zone pore pressure (= average of gridpoint pore pressures)
virtual void setSxx(double s)=0
Set xx component of stress.
virtual DVect3 getFaceNormal(uint32 face) const =0
virtual void setBit(int bit, bool b) const =0
virtual int getState() const =0
Returns the code for the plastic state.
virtual double getSSR() const =0
Return Shear Strain rate increment.
virtual const IVertexThing * getVertexThing(qint32 index) const =0
virtual const QStringList getThermProperties() const =0
Returns the list of properties for the thermal model.
virtual string getModelName() const =0
Returns the name of the mechanical constitutive model present in the zone.
virtual bool getHidden() const =0
Returns true if zone or host block is hidden.
virtual double getVSR() const =0
Return Volumetric Strain rate increment.
virtual uint64 getZoneID() const =0
Return the zone ID.
virtual uint32 getFaceSize(uint32 face) const =0
virtual SymTensor getStress(bool bEffective) const =0
Return zone stress.
virtual uint32 getOverlay() const =0
Returns overlay number (0-3). Used in quad zoning.
virtual bool isExcavated() const =0
Returns total volumetric strain.
virtual double getZoneVolume() const =0
Returns zone volume.
virtual StringList getModelStates() const =0
virtual base::Property getProperty(const string &propName) const =0
virtual void setModelName(const string &mname)=0
Set constitutive modoel name.
virtual uint32 getNumVertices() const =0
Returns the number of vertices used by the zone.
virtual void setState(int s)=0
Sets the code for the plastic state.
virtual double getSxz() const =0
Get xz component of stress (=zx)
virtual SymTensor getRotStrainIncrement() const =0
Return rotational strain increment.
virtual double getDensity() const =0
returns the zone density
virtual FInt getBlock() const =0
return fortran offset of host block
virtual SymTensor getRotStrainRate() const =0
Return rotational strain rate.
virtual bool setFluidProperty(const QString &sprop, QVariant value)=0
Set fluid property sprop to value. Returns false if property not found.
virtual void setSyz(double s)=0
Set yz component of stress (=zy)
virtual double getSyz() const =0
Get yz component of stress (=zy)
virtual double getZoneCondition(int i) const =0
Returns the condition of zone geometry.
virtual uint32 getNumFaces() const =0
Returns the number of faces used by the zone.
virtual void setSyy(double s)=0
Set yy component of stress.
virtual double getSxx() const =0
Get xx component of stress.
virtual string getStateString(bool omitpaststate=false) const =0
Returns string associated with state.
virtual uint32 getPropertyIndex(const string &sc) const =0
static const TType type_
type used in IThing typing system
Definition izonething.h:45
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 QVariant getValue(int index) const =0
virtual void setSzz(double s)=0
Set zz component of stress.
virtual DVect3 getFaceCentroid(uint32 face) const =0
virtual bool setThermProperty(const QString &sprop, QVariant value)=0
Set thermal property sprop to value. Returns false if property not found.
virtual const IFaceThing * getFaceThing(uint32 face) const =0
Return 0 if not a block face.
virtual double getSpare() const =0
Returns value of spare offset.
virtual void setDensity(double d)=0
sets the density of the individual zone (not the material density)
virtual uint32 getFluidPropertyIndex(const QString &sc) const =0
virtual const IZoneThing * getJoin(uint32 face) const =0
virtual QVariant getThermProperty(uint index) const =0
virtual const IVertexThing * getFaceVertexThing(uint32 face, uint32 index) const =0
virtual bool getBit(int bit) const =0
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 const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
virtual double getStrengthStressRatio(const SymTensor &s) const =0
virtual uint64 getFaceThingID(uint32 face) const =0
virtual double getMinEdgeLength() const =0
Get minimum edge length.
virtual uint64 getBlockThingID() const =0
Return host blockthing id.
virtual IBlockThing * getBlockThing() const =0
Return host blockthing.
virtual double getSzz() const =0
Get zz component of stress.
virtual QVariant getFluidProperty(uint index) const =0
virtual double getVSI() const =0
Return Volumetric Strain increment.
virtual int getMaterialNumber() const =0
return zone material number
virtual void setSxz(double s)=0
Set xz component of stress (=zx)
virtual SymTensor getStrainIncrement() const =0
Return strain increment.
virtual DVect3 getThermalFlux() const =0
Get thermal flow vector.
virtual bool isRemoved() const =0
Returns true if zone is in a block that is removed.
virtual void setStress(const SymTensor &st)=0
Set the zone stress.
virtual double getSyy() const =0
Get yy component of stress.
virtual uint32 getFaceVertexIndex(uint32 face, uint32 index) const =0
virtual QVariant getFluidProperty(const QString &propName) const =0
virtual base::Property getProperty(uint index) const =0
virtual double getSxy() const =0
Get xy component of stress (=yx)
virtual StringList getPropertyNames() const =0
returns a list of all the valid properties of the current constitutive model assigned to this zone
virtual void setProperty(const string &sprop, base::Property val)=0
Set property sprop to value. Returns false if property not found.
virtual itasca::IThing * getIThing()=0
Returns a IThing pointer.
virtual const QStringList getFluidProperties() const =0
Returns the list of properties for the matrix flow model.
virtual DVect3 getLocation() const =0
Returns zone position.
virtual bool checkGoodForFLAC3D() const =0
Checks to ascertain if the tet volume will be adequate for FLAC3D.
virtual FInt getVertex(qint32 index) const =0
static const FInt cpp
offset to obtain pointer to zonething ID
Definition izonething.h:38
virtual FInt getFortranOffset() const =0
Return fortran offset. Necessary for gui queries.
virtual uint64 getVertexThingID(qint32 index) const =0
virtual DVect3 getFluidDischarge() const =0
Get the fluid discharge vector.
virtual double getMass() const =0
return zone mass
virtual void setSxy(double s)=0
Set xy component of stress (=yx)
virtual string getPropertyName(uint32 index) const =0
Base class for items that will be stored in containers.
Definition ithing.h:30
The base class for constitutive model plug-ins.
Definition conmodel.h:32
Generic base class for the zone interface made available to the constitutive model system.
Definition igenericzone.h:23
uint32 TType
class type indicator
Definition basedef.h:46
int32 FInt
Interface to provide access to 3DEC modules, global data, list of 3DEC entities, etc.
Definition iblockdef.h:19
Fortran to C++ type declarations.
Generic base class for the zone interface made available to the constitutive model system.
namespace Itasca
Definition basememory.cpp:10
The Constitutive Model interface library.
Definition conmodel.cpp:7