Itasca C++ Interface
Loading...
Searching...
No Matches
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
12namespace itasca
13{
14 class IThing;
15}
16
17namespace 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;
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
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
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
This is the interface for SELNodeThing, a class that holds extra data not in the fortran arrays....
Definition iselnodething.h:30
virtual SELType getSELType() const =0
Return the type of SEL Node (beam, cable or liner)
virtual FArray< ILinerThing * > getLinerElements() const =0
Return associated liner elements. Empty array if none.
virtual double getContactNormalForce() const =0
Return the normal force at the contact (beams and liners only)
virtual void setMaterial(int i)=0
Set material ID.
virtual bool getIsFixed() const =0
return true if fixed, false otherwise
virtual bool getIsAttached() const =0
Return true if attached, false otherwise.
virtual FInt getFortranOffset() const =0
Return node fortran offset. Necessary for gui queries.
virtual double getMass() const =0
Return the mass associated with this node.
virtual FArray< ICableThing * > getCableElements() const =0
Return associated cable elements. Empty array if none.
virtual DVect3 getLocation() const =0
Returns SEL Node position.
virtual const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
virtual int getBond() const =0
Return the bond state as a number (1 intact, 2 broken, 3 absent)
virtual itasca::IThing * getIThing()=0
Returns a IThing pointer.
virtual DVect3 getAppliedLoad() const =0
Returns the load (force) applied to the SEL Node.
virtual const ISelProp * getSelProp() const =0
Return pointer to structural element property data.
virtual QString getStateString() const =0
Return the state as a string (bond intact or broken)
virtual DVect3 getVelocity() const =0
Returns SEL Node velocity.
virtual double getMinimumMoment() const =0
Return the minimum moment (beams only - for liners this is element based)
virtual void setBond(int i)=0
Set the bond state (1 intact, 2 broken, 3 absent)
virtual DVect3 getDisplacement() const =0
Returns SEL Node displacement.
virtual DVect3 getForce() const =0
Returns SEL Node force sum.
virtual double getShearForce() const =0
Return the shear force magnitude.
virtual double getMaximumMoment() const =0
Return the maximum moment (beams only - for liners this is element based)
virtual int getMaterial() const =0
get material ID
virtual int getState() const =0
Get node state: 1 = Intact, 2 = Broken, 3 = no bond.
virtual double getEffectiveLength() const =0
get effective length associated with this node (beam or cable)
virtual void setFixed(bool b)=0
Set fix condition (true for fixed, false for free)
SELType
Enum of possible types.
Definition iselnodething.h:34
virtual quint64 getSELCollectionID() const =0
Return ID of collection of SEL elements.
virtual void setAttached(bool b)=0
Set attach condition (true for attached, false otherwise)
virtual DVect3 getContactShearForce() const =0
Return the shear force at the contact (beams and liners only)
virtual DVect3 getMoment() const =0
return x,y,z components of moment (beams only). Local coords?
virtual quint64 getSELNodeID() const =0
Return Thing ID.
virtual double getConfiningStress() const =0
Return the confining stress on the grout (cables only)
virtual void setAppliedLoad(const DVect &force) const =0
Set the load (force) applied to the SEL Node.
static const TType type_
type used in IThing typing system
Definition iselnodething.h:37
virtual void setVelocity(const DVect3 &vel)=0
Set SEL Node velocity.
virtual DVect3 getContactShearStress() const =0
Return the shear stress at the contact (beams and liners only)
virtual DVect3 getContactShearDisplacement() const =0
Return the shear displacement at the contact (beams and liners only)
virtual double getAxialDisplacement() const =0
Returns SEL Node axial displacement.
virtual double getContactNormalStress() const =0
Return the normal stress at the contact (beams and liners only)
virtual quint64 getNextID() const =0
Get ID of next node in list.
virtual FArray< IBeamThing * > getBeamElements() const =0
Return associated beam elements. Empty array if none.
virtual double getContactNormalDisplacement() const =0
Return the normal displacement at the contact (beams and liners only)
This interface provides access to cable thing. The fortran offset for the SelProp ID is $ktypcpp in t...
Definition iselprop.h:27
Base class for items that will be stored in containers.
Definition ithing.h:30
An array class that attempts to minimize unnecessary heap access.
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
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
Fortran to C++ type declarations.
namespace Itasca
Definition basememory.cpp:10