Itasca C++ Interface
Loading...
Searching...
No Matches
isel.h
Go to the documentation of this file.
1#pragma once
8
9namespace itasca {
10 class IFishParam;
11 class IGroup;
12 class IThing;
13}
14
15namespace sel {
16 using namespace itasca;
17
18 class ISELNode;
19
22 class ISEL {
23 public:
25 inline static const TType type_ = 0x4c815a02;
32
34 virtual TType getType() const=0;
36 virtual const IThing * getIThing() const=0;
38 virtual IThing * getIThing()=0;
40 virtual QString getKeyword() const=0;
43 virtual const ISEL * getNext() const=0;
45 virtual uint32 getNumNd() const =0;
47 virtual const ISELNode * getNdPtr(uint32 loc_ndnum) const =0;
49 virtual ISELNode * getNdPtr(uint32 loc_ndnum) =0;
51 virtual bool getMark() const=0;
53 virtual void setMark(bool b) =0;
55 virtual double getDensity() const =0;
57 virtual void setDensity(double d) =0;
59 virtual Axes getLocalSys() const =0;
62 virtual Axes getMaterialSys() const=0;
64 virtual double getThExp() const =0;
66 virtual void setThExp(double d) =0;
69 virtual QString getYieldName(YieldState state) const=0;
75 virtual double getForceAtNode2(uint32 dof,uint32 end,bool local=false) const=0;
81 virtual DVect getForceAtNode2(uint32 end,bool trans,bool local=false) const=0;
83 virtual double getGravityLoadOnNodes() const =0;
85 virtual CLinkType<ISEL> getNextLink(uint32 node) const=0;
86 virtual double getArea() const=0;
87 virtual bool IsEmbedded() const=0;
88 virtual bool IsDowel() const = 0;
89 virtual bool supportsEmbedding() const=0;
90
92 virtual StringList getProperties(bool elementOnly) const =0;
93 // Returns 0.0 if index or ip is out of range.
94 // Integration point (ip={1,2,...}), use 1 if N/A.
95 virtual base::Property getProperty(uint32 index, uint32 ip) const =0;
96 // Does nothing if index out of range. Returns true if elastic property changed.
97 // Throws exception if property type is incompatible.
98 virtual bool setProperty(uint32 index,const base::Property &val) =0;
99 virtual bool isPropertyConstant(uint32 index) const =0;
100 };
101} // namespace sel
102// EoF
Class for specifying a particular 3D cartesian axes system, and converting to and from it.
Definition axes.h:121
Definition basestring.h:89
Definition property.h:25
Base class for items that will be stored in containers.
Definition ithing.h:30
Interface to the structural elements base class.
Definition isel.h:22
virtual ISELNode * getNdPtr(uint32 loc_ndnum)=0
Returns pointer to a node located at loc_ndnum in node array (zero-based).
virtual void setDensity(double d)=0
Sets the structural element density, see getDensity().
virtual double getForceAtNode2(uint32 dof, uint32 end, bool local=false) const =0
YieldState
Yield states.
Definition isel.h:27
@ PAST
has yielded in the past
Definition isel.h:30
@ NOW
now yielding
Definition isel.h:29
@ NO
no yield (has never yielded)
Definition isel.h:28
virtual const ISEL * getNext() const =0
virtual double getThExp() const =0
Returns the structural element thermal expansion coefficient, see setThExp().
virtual StringList getProperties(bool elementOnly) const =0
Property Interface (includes shell & beam constitutive model props).
virtual Axes getMaterialSys() const =0
virtual void setMark(bool b)=0
Sets the structural element mark flag, see getMark().
virtual QString getYieldName(YieldState state) const =0
virtual CLinkType< ISEL > getNextLink(uint32 node) const =0
Returns the next SEL in the list of SELs connected to node index /a node.
virtual DVect getForceAtNode2(uint32 end, bool trans, bool local=false) const =0
virtual double getDensity() const =0
Returns the structural element density, see setDensity().
virtual const IThing * getIThing() const =0
Returns a const IThing pointer.
virtual const ISELNode * getNdPtr(uint32 loc_ndnum) const =0
Returns const pointer to a node located at loc_ndnum in node array (zero-based).
virtual uint32 getNumNd() const =0
Returns number of nodes of this structural element.
virtual bool getMark() const =0
Returns true if structural element is 'marked', see setMark().
virtual IThing * getIThing()=0
Returns a IThing pointer.
virtual Axes getLocalSys() const =0
Returns axes of the structural element local coordinate system.
virtual double getGravityLoadOnNodes() const =0
Returns avg. gravity load acting on one node: density * volume / number of nodes.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition isel.h:25
virtual TType getType() const =0
Type identification number, for use in convert_cast() and convert_getcast().
virtual QString getKeyword() const =0
Returns keyword used to identify the type of SEL element on the command line.
virtual void setThExp(double d)=0
Sets the structural element thermal expansion coefficient, see getThExp().
Interface to provide access to structural element nodes.
Definition iselnode.h:44
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
namespace Itasca
Definition basememory.cpp:14