Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
block::ISubcontactThing Class Referenceabstract

This is the interface for SubcontactThing, a class that holds extra data not in the fortran arrays. This will be stored in a container and the ID will be stored in offset $KCXCPP in the fortran subcontact linked list. This inherits from Thing so we can use groups and extra variables There is also two-way accessibility with the corresponding fortran data block. More...

#include <isubcontactthing.h>

Public Types

enum  SubcontactType { VertexFace =0 , EdgeEdge }
 enumeration of possible subcontact types
 

Public Member Functions

virtual const itasca::IThinggetIThing () const =0
 Returns a const IThing pointer.
 
virtual itasca::IThinggetIThing ()=0
 Returns a IThing pointer.
 
virtual FInt getFortranOffset () const =0
 Return contact fortran offset. Necessary for gui queries.
 
virtual uint64 getSubcontactID () const =0
 Return Thing ID.
 
virtual const IContactThinggetHostContact () const =0
 Return host ContactThing.
 
virtual uint64 getHostContactID () const =0
 Return host contact id.
 
virtual DVect3 getLocation () const =0
 Returns subcontact position.
 
virtual bool getHidden () const =0
 Returns true if subcontact or host contact is hidden.
 
virtual IFaceThinggetFace () const =0
 Returns the face associated with this subcontact. null for no face.
 
virtual uint64 getFaceID () const =0
 Returns the id of the face associated with this subcontact. 0 for no face.
 
virtual IVertexThinggetVertex () const =0
 Returns the vertex associated with this subcontact. null for no vertex.
 
virtual uint64 getVertexID () const =0
 Returns the Vertex ID associated with the subcontact. 0 for no vertex.
 
virtual uint64 getFractureID () const =0
 
virtual uint64 getDFN_ID () const =0
 Returns ID of DFN used to create contact. 0 if DFN was not used.
 
virtual QString getDFN_name () const =0
 Returns name of DFN used to create contact. Empty string if DFN was not used.
 
virtual int getMaterial () const =0
 Return material number.
 
virtual string getMaterialString () const =0
 Return material as string.
 
virtual int getConstitutive () const =0
 Return constitutive model number.
 
virtual DVect3 getShearForce () const =0
 Return the shear force vector.
 
virtual void setShearForce (const DVect3 &dv)=0
 Set the shear force vector.
 
virtual double getNormalForce () const =0
 Return the normal force magnitude.
 
virtual void setNormalForce (double nf)=0
 
virtual DVect3 getShearDisplacement () const =0
 Return the shear displacement vector.
 
virtual void setShearDisplacement (const DVect3 &dv)=0
 Set the shear displacement vector.
 
virtual double getNormalDisplacement () const =0
 Return the normal displacement.
 
virtual void setNormalDisplacement (double nd)=0
 Set the normal displacement.
 
virtual double getArea () const =0
 
virtual double getNormalStress () const =0
 Return the normal stress.
 
virtual double getShearStress () const =0
 Return the magnitude of shear stress.
 
virtual string getModel () const =0
 Get the joint constitutive model as a string.
 
virtual void setModel (const string &s)=0
 Set joint constitutive model.
 
virtual string getStateString () const =0
 Get the subcontact failure state as a string.
 
virtual int getState () const =0
 Get the subcontact failure state as an integer.
 
virtual void setState (int i)=0
 Set the subcontact failure state.
 
virtual const IBlockThinggetBlock1 () const =0
 Return block 1 of the subcontact.
 
virtual const IBlockThinggetBlock2 () const =0
 Return block 2 of the subcontact.
 
virtual uint64 getBlock1_ID () const =0
 Return id of block 1 of the subcontact.
 
virtual uint64 getBlock2_ID () const =0
 Return id of block 2 of the subcontact.
 
virtual StringList getProperties () const =0
 returns a list of all the valid properties of the current constitutive model assigned to this subcontact
 
virtual uint32 getPropertyIndex (const string &prop) const =0
 
virtual base::Property getProperty (uint32 index) const =0
 
virtual void setProperty (const string &prop, base::Property val)=0
 Set property with name prop to value val.
 
virtual SubcontactType getSubcontactType () const =0
 Return the subcontact type.
 
virtual double getPorePressure () const =0
 Return the pore pressure on the subcontact.
 
virtual void setPorePressure (double d)=0
 Set the pore pressure on the subcontact.
 
virtual IFlowZoneThinggetFlowZone () const =0
 Return the flow zone associated with the subcontact. Null if no flow.
 
virtual IFlowPlaneVertexThinggetFlowVertex () const =0
 Return the flow plane vertex associated with the subcontact. Null if no flow.
 
virtual bool isExcavated () const =0
 Return true if subcontact is excavate. False otherwise.
 
virtual double getInitialAperture () const =0
 Get the initial mechanical aperture.
 
virtual void setInitialAperture (double ap0)=0
 Set the initial mechanical aperture.
 
virtual bool getBit (int bit) const =0
 
virtual void setBit (int bit, bool b) const =0
 
virtual DVect3 getShearVelocity () const =0
 Return the shear velocity vector.
 
virtual double getMaxShear () const =0
 Returns maximum shear displacement.
 
virtual void setMaxShear (double d)=0
 Set maximum shear displacement.
 
virtual double getEnergy (uint32 i) const =0
 Return energy.
 
virtual double getEnergy (const string &e) const =0
 
virtual double getTotalEnergy () const =0
 
virtual IBlockThinggetFaceBlock1 () const =0
 Return first fblockthing (nullptr if not a faceblock)
 
virtual IBlockThinggetFaceBlock2 () const =0
 Return second fblockthing (nullptr if not a faceblock)
 
virtual bool isBonded () const =0
 Return true if subcontact has non-zero strength and has not failed.
 
virtual double getFOS () const =0
 Return ratio of shear strength to shear stress.
 

Static Public Attributes

static const TType type_ = 0x4f54d345
 type used in IThing typing system
 

Detailed Description

This is the interface for SubcontactThing, a class that holds extra data not in the fortran arrays. This will be stored in a container and the ID will be stored in offset $KCXCPP in the fortran subcontact linked list. This inherits from Thing so we can use groups and extra variables There is also two-way accessibility with the corresponding fortran data block.

Member Function Documentation

◆ getArea()

virtual double block::ISubcontactThing::getArea ( ) const
pure virtual

Return the area associated with the subcontact Manual says half area. TODO: Check this!!

◆ getBit()

virtual bool block::ISubcontactThing::getBit ( int bit) const
pure virtual

Returns the boolean stored in utility bit bit in the subcontact.

  • bit must be a bit index previouly returned from ISubcobcontactArray::claimBit().

◆ getFractureID()

virtual uint64 block::ISubcontactThing::getFractureID ( ) const
pure virtual

Return fracture ID (from DFN) associated with subcontact.
Returns 0 if not created with DFN.

◆ getProperty()

virtual base::Property block::ISubcontactThing::getProperty ( uint32 index) const
pure virtual

Returns value of subcontact property corresponding to index
Returns 0 if index is not recognized

◆ getPropertyIndex()

virtual uint32 block::ISubcontactThing::getPropertyIndex ( const string & prop) const
pure virtual

Given a property name, returns the index of the property of the constitutive model assigned to this subcontact.

Note
Base 1, returns 0 if name is not found.

◆ setBit()

virtual void block::ISubcontactThing::setBit ( int bit,
bool b ) const
pure virtual

Sets the boolean stored in utility bit bit in the subcontact. This function is const, to indicate that setting bit values does not impact the calculation logic in any way.

  • bit must be a bit index previouly returned from ISubcontactArray::claimBit(). Note - this is const through some hack so that we can use const SubcontactThings when getting data

The documentation for this class was generated from the following file: