Itasca C++ Interface
iselcable.h
Go to the documentation of this file.
1 #pragma once
2 
8 #include "isel.h"
9 
10 namespace itasca {
11  class IThing;
12 }
13 
14 namespace sel {
16 
19  class ISELCable {
20  public:
22  inline static const TType type_ = 0x4c815a0b;
24  virtual const IThing *getIThing() const=0;
26  virtual IThing *getIThing()=0;
28  virtual const ISEL *getISEL() const=0;
30  virtual ISEL *getISEL()=0;
32  virtual double getPropYComp() const=0;
34  virtual void setPropYComp(const double &d)=0;
36  virtual double getPropYTens() const=0;
38  virtual void setPropYTens(const double &d)=0;
40  virtual double getPropGrK() const=0;
42  virtual void setPropGrK(const double &d)=0;
44  virtual double getPropGrCoh() const=0;
46  virtual void setPropGrCoh(const double &d)=0;
48  virtual double getPropGrFric() const=0;
50  virtual void setPropGrFric(const double &d)=0;
52  virtual double getPropGrPer() const=0;
54  virtual void setPropGrPer(const double &d)=0;
56  virtual bool getPropSlide() const=0;
58  virtual void setPropSlide(bool b)=0;
60  virtual double getPropSlideTol() const=0;
62  virtual void setPropSlideTol(const double &d)=0;
64  virtual double getPropE() const=0;
66  virtual void setPropE(const double &e)=0;
68  virtual double getPropXCArea() const=0;
70  virtual void setPropXCArea(const double &d)=0;
74  virtual ISEL::YieldState getRespYield(bool tension) const=0;
76  virtual double getLength() const=0;
79  virtual double getArea() const=0;
81  virtual double getVolume() const=0;
82 #ifdef TWOD
84  virtual double getSpacing() const=0;
85  virtual void setSpacing(const double &d)=0;
86 #endif
88  virtual double getRespForce() const=0;
90  virtual double getRespStress() const=0;
94  virtual double getRespGrStress2(uint32 end) const=0;
98  virtual double getRespGrDisp2(uint32 end) const=0;
102  virtual DVect getRespGrStressDir2(uint32 end) const=0;
106  virtual ISEL::YieldState getRespGrYield2(uint32 end) const=0;
110  virtual double getRespGrConfine2(uint32 end) const=0;
111  virtual double getAppliedTensionValue() const=0;
112  virtual void setAppliedTensionValue(double d)=0;
113  virtual bool getAppliedTensionState() const=0;
114  virtual void setAppliedTensionState(bool b)=0;
115  virtual double getPlasticTensileStrain() const=0;
116  virtual double getPlasticTensileFailureStrain() const = 0;
117  virtual void setPlasticTensileFailureStrain(double d) = 0;
118  virtual bool getPlasticTensileStrainFailure() const=0;
119  virtual void setPlasticTensileStrainFailure(bool b)=0;
120  };
121 } // namespace sel
122 // EoF
Base class for items that will be stored in containers.
Definition: ithing.h:30
Interface to cable structural elements.
Definition: iselcable.h:19
virtual bool getPropSlide() const =0
Returns true if the large-strain sliding flag is activated, see setPropSlide().
virtual DVect getRespGrStressDir2(uint32 end) const =0
virtual IThing * getIThing()=0
Returns a IThing pointer.
virtual void setPropE(const double &e)=0
Sets the Young's modulus for the cable, see getPropE().
virtual ISEL::YieldState getRespYield(bool tension) const =0
virtual double getRespStress() const =0
Returns the average axial stress on the cable (+ tension; - compression).
virtual double getPropYTens() const =0
Returns the tensile-yield force, see setPropYTens().
virtual ISEL::YieldState getRespGrYield2(uint32 end) const =0
virtual double getVolume() const =0
Returns the volume of the cable.
virtual const ISEL * getISEL() const =0
Returns a const pointer to object base class.
virtual double getPropGrK() const =0
Returns the grout stiffness, see setPropGrK().
virtual double getLength() const =0
Returns the length of the cable.
virtual double getPropE() const =0
Returns the Young's modulus for the cable, see setPropE().
virtual double getPropXCArea() const =0
Returns the cross-sectional area for the cable, setPropXCArea().
virtual ISEL * getISEL()=0
Returns a pointer to object base class.
virtual void setPropSlide(bool b)=0
Activates the large-strain sliding flag if parameter b is true.
virtual void setPropGrFric(const double &d)=0
Sets the grout friction angle in degrees, see getPropGrFric().
virtual void setPropGrK(const double &d)=0
Sets the grout stiffness, see getPropGrK().
static const TType type_
Type ID number for this class, for use in convert_cast() and convert_getcast().
Definition: iselcable.h:22
virtual double getPropYComp() const =0
Returns the compressive-yield force, see setPropYComp().
virtual double getRespGrConfine2(uint32 end) const =0
virtual const IThing * getIThing() const =0
Returns a const IThing pointer.
virtual double getPropGrFric() const =0
Returns the grout friction angle in degrees, see setPropGrFric().
virtual void setPropGrPer(const double &d)=0
Sets the grout exposed perimeter in meters, see getPropGrPer().
virtual double getPropGrPer() const =0
Returns the grout exposed perimeter in meters, see setPropGrPer().
virtual double getRespForce() const =0
Returns the average axial force on the cable (+ tension; - compression).
virtual double getPropGrCoh() const =0
Returns the grout cohesion, see setPropGrCoh().
virtual void setPropXCArea(const double &d)=0
Sets the cross-sectional area for the cable, getPropXCArea().
virtual void setPropSlideTol(const double &d)=0
Stes the zone-in tolerance for large-strain sliding, see getPropSlideTol().
virtual double getRespGrStress2(uint32 end) const =0
virtual void setPropGrCoh(const double &d)=0
Sets the grout cohesion, see getPropGrCoh().
virtual void setPropYComp(const double &d)=0
Sets the compressive-yield force, see getPropYComp().
virtual double getPropSlideTol() const =0
Returns the zone-in tolerance for large-strain sliding, see setPropSlideTol().
virtual double getArea() const =0
virtual double getRespGrDisp2(uint32 end) const =0
virtual void setPropYTens(const double &d)=0
Sets the tensile-yield force, see getPropYTens().
Interface to the structural elements base class.
Definition: isel.h:22
YieldState
Yield states.
Definition: isel.h:27
uint32 TType
class type indicator
Definition: basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
Interface to the structural elements base class.
namespace Itasca
Definition: basememory.cpp:10