Itasca C++ Interface
Loading...
Searching...
No Matches
iselnode.h
Go to the documentation of this file.
1#pragma once
2// ISELNode.h
3
10
11namespace itasca {
12 class IFishParam;
13 class IThing;
14}
15
16namespace sel {
17 using namespace itasca;
18 using namespace itascaxd;
19
20 class ISEL;
21 class ISELLink;
22
24 {
25 public:
27#ifdef THREED
28 virtual DVect getAcc(bool tran_comp) const=0;
29#else
30 virtual DVect getTransAcc() const = 0;
31 virtual double getAngularAcc() const = 0;
32#endif
33 };
34
36
44 class ISELNode {
45 public:
46 inline static const int maxSides_ = 16;
48 inline static const TType type_ = 0x4c815bfb;
50 virtual const IThing * getIThing() const=0;
52 virtual IThing * getIThing()=0;
55 virtual const ISELNode * getNext() const=0;
58 virtual ISELNode * getNext() =0;
61 virtual const ISELLink * getLink(uint32 side) const=0;
64 virtual ISELLink * getLink(uint32 side)=0;
65 virtual uint32 getNumLinks() const=0;
67 virtual bool getMark() const=0;
69 virtual void setMark(bool b) =0;
77 virtual DVect getPosition(bool cur) const =0;
81 virtual void setPosition(bool cur, const DVect &newPos) =0;
84 virtual DVect getGeoPos() const=0;
85#ifdef THREED
90 virtual DVect getVel(bool local_sys, bool tran_comp ) const=0;
91#else
94 virtual DVect getTransVel(bool local_sys) const = 0;
97 virtual double getAngularVel(bool local_sys) const = 0;
98#endif
101 virtual void setVel2(double val, uint32 dof_comp) =0;
104 virtual void setVelGlb2(double val, uint32 comp) =0;
109#ifdef THREED
110 virtual DVect getAcc(bool local_sys, bool tran_comp ) const=0;
111#else
112 virtual DVect getTransAcc(bool local_sys) const = 0;
113 virtual double getAngularAcc(bool local_sys) const = 0;
114#endif
117 virtual void setAcc2(double val, uint32 dof_comp) =0;
120 virtual void setAccGlb2(double val, uint32 comp) =0;
121#ifdef THREED
126 virtual DVect getDisp(bool local_sys, bool tran_comp ) const=0;
127#else
129 virtual DVect getTransDisp(bool local_sys) const = 0;
131 virtual double getAngularDisp(bool local_sys) const = 0;
132#endif
135 virtual void setDisp2(double val, uint32 dof_comp) =0;
136#ifdef THREED
140 virtual DVect getFOB(bool local_sys, bool tran_comp ) const=0;
141#else
143 virtual DVect getTransFOB(bool local_sys) const = 0;
145 virtual double getAngularFOB(bool local_sys) const = 0;
146#endif
149 virtual bool getApForValid(bool bForce) const =0;
152 virtual bool getApForSysGbl() const=0;
153#ifdef THREED
157 virtual DVect getFAP( bool bForce ) const =0;
161 virtual void setFAP( bool bForce, const DVect &dvVal )=0;
162#else
165 virtual DVect getFAP() const = 0;
168 virtual void setFAP(const DVect& dvVal) = 0;
171 virtual double getMAP() const = 0;
174 virtual void setMAP(double val) = 0;
175#endif
178 virtual void setFAPRemove(bool bForce)=0;
181 virtual void setFAPSys(bool bGlobal)=0;
182#ifdef THREED
185 virtual DVect getFAPGlobal(bool bForce) const=0;
186#else
188 virtual DVect getFAPGlobal() const = 0;
190 virtual double getMAPGlobal() const = 0;
191#endif
193 virtual bool getLocalSysFixed() const =0;
195 virtual void setFixFreeLocalSys(bool b) =0;
198 virtual void setFixFree2(uint32 dof, bool b) =0;
201 virtual void setLocalSys( const DVect3& n1, const DVect3& n2,
202 const DVect3& n3, bool make_invalid = true)=0;
204 virtual double getLocalDampFac() const=0;
206 virtual void setLocalDampFac(double val) =0;
208 virtual bool getBuddy2(uint32 dof) const=0;
210 virtual double getGsum2(uint32 dof) const=0;
212 virtual Axes getLocalSys() const=0;
213 virtual IVect getFix(bool tran_comp) const = 0;
214#ifdef THREED
216 virtual bool getSurfaceSysValid(uint32 index) const=0;
218 virtual Axes getSurfaceSys(uint32 index) const=0;
220 virtual void setSurfSys(uint32 index,const Axes3D &axes)=0;
225 virtual DVect getMass(bool tran_comp) const=0;
228 virtual DVect getAddedMass(bool tran_comp) const = 0;
229#else
231 virtual DVect getTransMass() const = 0;
233 virtual double getRotMass() const = 0;
236 virtual DVect getAddedMass() const = 0;
238 virtual DVect getTransAddedMass() const = 0;
240 virtual double getRotAddedMass() const = 0;
241#endif
242
245 virtual void setAddedMass(const double &newmass, uint32 index)=0;
249 virtual double getDTemp(bool local=false) const=0;
251 virtual void setDTemp(const double &t)=0;
253 virtual bool getInUse() const=0;
255 virtual CLinkType<ISEL> getStartLink() const=0;
256#ifdef THREED
257 virtual double getStressResultant(uint32 index,uint32 component)=0;
258#endif
259 virtual double getLocalRatio() const=0;
260 virtual double getRatioTarget() const=0;
261 virtual void setRatioTarget(double d)=0;
262 virtual double getConvergence() const=0;
263 virtual double getDynamicCriticalTimestep() const=0;
264 };
265} // namespace f3
266// EoF
Class for specifying a particular 3D cartesian axes system, and converting to and from it.
Definition axes.h:121
Base class for items that will be stored in containers.
Definition ithing.h:30
Definition iselnode.h:24
virtual DVect getTransAcc() const =0
Returns dynamic acceleration vector.
Interface to provide access to structural element nodes.
Definition iselnode.h:44
virtual ISELLink * getLink(uint32 side)=0
virtual double getAngularDisp(bool local_sys) const =0
Returns generalized accumulated angular displacement expressed in local-system coordinates .
virtual double getRotMass() const =0
Returns the rotationl compenent mass in node-local sytem. .
virtual void setDisp2(double val, uint32 dof_comp)=0
virtual void setFAPSys(bool bGlobal)=0
virtual DVect getFAP() const =0
virtual void setFixFreeLocalSys(bool b)=0
If parameter b is true, sets local system fixity to on, see getFixFreeLocalSys().
virtual bool getBuddy2(uint32 dof) const =0
Returns true if the node is slaved. Valid values for parameter dof are [0,5].
virtual void setAddedMass(const double &newmass, uint32 index)=0
virtual ISELNode * getNext()=0
virtual double getMAP() const =0
virtual double getAngularVel(bool local_sys) const =0
virtual double getLocalDampFac() const =0
Returns the local damping factor, see setLocalDampFac().
virtual void setDTemp(const double &t)=0
Sets the local value of temperature increment in the node.
virtual double getRotAddedMass() const =0
Returns the rotationl compenent of the added mass in node-local sytem. .
virtual void setLocalSys(const DVect3 &n1, const DVect3 &n2, const DVect3 &n3, bool make_invalid=true)=0
virtual DVect getTransMass() const =0
Returns the translational compenent mass in node-local sytem. .
virtual void setMark(bool b)=0
Sets the mark flag is to on, if parameter b is true. See getMark().
virtual bool getApForValid(bool bForce) const =0
virtual bool getApForSysGbl() const =0
virtual DVect getTransAddedMass() const =0
Returns the translational compenent of the added mass in node-local sytem. .
virtual DVect getTransDisp(bool local_sys) const =0
Returns generalized accumulated translational displacement expressed in local-system coordinates .
virtual void setAccGlb2(double val, uint32 comp)=0
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition iselnode.h:48
virtual DVect getFAPGlobal() const =0
Returns applied force in global coordinate system for plotting purposes only. .
virtual const IThing * getIThing() const =0
returns a const IThing pointer
virtual void setAcc2(double val, uint32 dof_comp)=0
virtual void setFAP(const DVect &dvVal)=0
virtual const ISELNode * getNext() const =0
virtual DVect getAddedMass() const =0
virtual const ISELLink * getLink(uint32 side) const =0
virtual double getDTemp(bool local=false) const =0
is false, then returns the sum of the value set in the node and that returned by links.
virtual void setFixFree2(uint32 dof, bool b)=0
virtual void setPosition(bool cur, const DVect &newPos)=0
virtual DVect getGeoPos() const =0
virtual CLinkType< ISEL > getStartLink() const =0
Returns the start link of the first SEL connected to this node.
virtual void setVelGlb2(double val, uint32 comp)=0
virtual void setVel2(double val, uint32 dof_comp)=0
virtual bool getMark() const =0
Returns true is the mark flag is on. See setMark().
virtual DVect getTransVel(bool local_sys) const =0
virtual DVect getTransFOB(bool local_sys) const =0
Returns generalized out-of-balance translational force expressed in local-system coordinates .
virtual void setMAP(double val)=0
virtual void setFAPRemove(bool bForce)=0
virtual double getMAPGlobal() const =0
Returns applied moment in global coordinate system for plotting purposes only. .
virtual bool getLocalSysFixed() const =0
Return true to indicate that local system fixity flag is on, see setFixFreeLocalSys().
virtual void setLocalDampFac(double val)=0
Sets the local damping factor, see getLocalDampFac().
virtual Axes getLocalSys() const =0
Returns the local system axis.
virtual double getAngularFOB(bool local_sys) const =0
Returns generalized out-of-balance angular force expressed in local-system coordinates .
virtual double getGsum2(uint32 dof) const =0
Returns node stiffness sum. Valid values for parameter dof are [0,5].
virtual DVect getPosition(bool cur) const =0
virtual bool getInUse() const =0
Returns TRUE if any structural element is connected to this node.
virtual IThing * getIThing()=0
returns a IThing pointer
virtual DVect getTransAcc(bool local_sys) const =0
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
IVect3 IVect
Vector of ints, either 2D or 3D.
Definition dim.h:156
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4