Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
iselnodething.h
Go to the documentation of this file.
1 #pragma once
2 // iselnodething.h
3 
4 #include "iblockdef.h"
5 #include "base/src/farray.h"
6 
12 namespace itasca
13 {
14  class IThing;
15 }
16 
17 namespace block
18 {
19  class ICableThing;
20  class IBeamThing;
21  class ILinerThing;
22  class ISelProp;
23 
30  {
31  public:
32 
34  enum SELType {TypeBeam=1, TypeCable, TypeLiner};
35 
37  inline static const TType type_ = 0x52c31f5a;
39  virtual const itasca::IThing * getIThing() const=0;
41  virtual itasca::IThing * getIThing()=0;
43  virtual quint64 getSELNodeID() const=0;
45  virtual quint64 getSELCollectionID() const=0;
47  virtual FInt getFortranOffset() const=0;
49  virtual DVect3 getLocation() const=0;
51  virtual double getMass() const=0;
53  virtual DVect3 getDisplacement() const=0;
55  virtual double getAxialDisplacement() const=0;
57  virtual DVect3 getVelocity() const=0;
59  virtual void setVelocity(const DVect3 &vel)=0;
61  virtual DVect3 getForce() const=0;
63  virtual double getShearForce() const=0;
65  virtual DVect3 getAppliedLoad() const=0;
67  virtual void setAppliedLoad(const DVect &force) const=0;
69  virtual double getContactNormalForce() const=0;
71  virtual DVect3 getContactShearForce() const=0;
73  virtual double getContactNormalStress() const = 0;
75  virtual DVect3 getContactShearStress() const = 0;
77  virtual double getContactNormalDisplacement() const=0;
79  virtual DVect3 getContactShearDisplacement() const=0;
81  virtual DVect3 getMoment() const=0;
83  virtual double getMaximumMoment() const=0;
85  virtual double getMinimumMoment() const=0;
87  virtual double getConfiningStress() const=0;
89  virtual bool getIsFixed() const=0;
91  virtual bool getIsAttached() const=0;
93  virtual void setFixed(bool b)=0;
95  virtual void setAttached(bool b)=0;
97  virtual int getState() const = 0;
99  virtual QString getStateString() const=0;
101  virtual int getBond() const=0;
103  virtual void setBond(int i)=0;
105  virtual SELType getSELType() const=0;
107  virtual double getEffectiveLength() const=0;
109  virtual const ISelProp * getSelProp() const=0;
110 
111  // need to come up with a better way to do these!
112 
114  virtual FArray<ICableThing *> getCableElements() const=0;
116  virtual FArray<IBeamThing *> getBeamElements() const=0;
118  virtual FArray<ILinerThing *> getLinerElements() const=0;
120  virtual quint64 getNextID() const=0;
122  virtual int getMaterial() const=0;
124  virtual void setMaterial(int i)=0;
125  };
126 
127 } // end namespace block
128 // EOF
virtual DVect3 getForce() const =0
Returns SEL Node force sum.
virtual DVect3 getDisplacement() const =0
Returns SEL Node displacement.
virtual int getMaterial() const =0
get material ID
virtual DVect3 getAppliedLoad() const =0
Returns the load (force) applied to the SEL Node.
virtual DVect3 getVelocity() const =0
Returns SEL Node velocity.
namespace Itasca
Definition: basememory.cpp:9
virtual double getContactNormalForce() const =0
Return the normal force at the contact (beams and liners only)
Int FInt
Interface to provide access to 3DEC modules, global data, list of 3DEC entities, etc.
Definition: iblockdef.h:19
Base class for items that will be stored in containers.
Definition: ithing.h:31
virtual int getBond() const =0
Return the bond state as a number (1 intact, 2 broken, 3 absent)
virtual void setMaterial(int i)=0
Set material ID.
virtual double getMinimumMoment() const =0
Return the minimum moment (beams only - for liners this is element based)
Fortran to C++ type declarations.
This interface provides access to cable thing. The fortran offset for the SelProp ID is $ktypcpp in t...
Definition: iselprop.h:26
virtual void setBond(int i)=0
Set the bond state (1 intact, 2 broken, 3 absent)
virtual DVect3 getMoment() const =0
return x,y,z components of moment (beams only). Local coords?
An array class that attempts to minimize unnecessary heap access.
virtual DVect3 getContactShearForce() const =0
Return the shear force at the contact (beams and liners only)
virtual bool getIsAttached() const =0
Return true if attached, false otherwise.
virtual DVect3 getLocation() const =0
Returns SEL Node position.
unsigned int TType
class type indicator
Definition: basedef.h:41
virtual DVect3 getContactShearStress() const =0
Return the shear stress at the contact (beams and liners only)
virtual double getAxialDisplacement() const =0
Returns SEL Node axial displacement.
virtual const ISelProp * getSelProp() const =0
Return pointer to structural element property data.
virtual double getContactNormalStress() const =0
Return the normal stress at the contact (beams and liners only)
virtual SELType getSELType() const =0
Return the type of SEL Node (beam, cable or liner)
virtual FArray< ICableThing * > getCableElements() const =0
Return associated cable elements. Empty array if none.
virtual double getContactNormalDisplacement() const =0
Return the normal displacement at the contact (beams and liners only)
virtual FInt getFortranOffset() const =0
Return node fortran offset. Necessary for gui queries.
virtual bool getIsFixed() const =0
return true if fixed, false otherwise
virtual void setAppliedLoad(const DVect &force) const =0
Set the load (force) applied to the SEL Node.
This is the interface for SELNodeThing, a class that holds extra data not in the fortran arrays....
Definition: iselnodething.h:29
virtual int getState() const =0
Get node state: 1 = Intact, 2 = Broken, 3 = no bond.
virtual DVect3 getContactShearDisplacement() const =0
Return the shear displacement at the contact (beams and liners only)
virtual quint64 getNextID() const =0
Get ID of next node in list.
virtual quint64 getSELNodeID() const =0
Return Thing ID.
virtual QString getStateString() const =0
Return the state as a string (bond intact or broken)
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
virtual FArray< ILinerThing * > getLinerElements() const =0
Return associated liner elements. Empty array if none.
virtual quint64 getSELCollectionID() const =0
Return ID of collection of SEL elements.
virtual void setFixed(bool b)=0
Set fix condition (true for fixed, false for free)
virtual void setVelocity(const DVect3 &vel)=0
Set SEL Node velocity.
virtual double getMass() const =0
Return the mass associated with this node.
virtual double getShearForce() const =0
Return the shear force magnitude.
virtual FArray< IBeamThing * > getBeamElements() const =0
Return associated beam elements. Empty array if none.
virtual double getMaximumMoment() const =0
Return the maximum moment (beams only - for liners this is element based)
virtual const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
SELType
Enum of possible types.
Definition: iselnodething.h:34
static const TType type_
type used in IThing typing system
Definition: iselnodething.h:37
virtual double getEffectiveLength() const =0
get effective length associated with this node (beam or cable)
virtual void setAttached(bool b)=0
Set attach condition (true for attached, false otherwise)
virtual double getConfiningStress() const =0
Return the confining stress on the grout (cables only)