Itasca C++ Interface
iselnode.h
Go to the documentation of this file.
1 #pragma once
2 // ISELNode.h
3 
10 
11 namespace itasca {
12  class IFishParam;
13  class IThing;
14 }
15 
16 namespace 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;
203  virtual void setLocalSys( const DVect& n1, const DVect& n2,
204  bool make_invalid = true)=0;
206  virtual double getLocalDampFac() const=0;
208  virtual void setLocalDampFac(double val) =0;
210  virtual bool getBuddy2(uint32 dof) const=0;
212  virtual double getGsum2(uint32 dof) const=0;
214  virtual Axes getLocalSys() const=0;
215  virtual IVect getFix(bool tran_comp) const = 0;
216 #ifdef THREED
218  virtual bool getSurfaceSysValid(uint32 index) const=0;
220  virtual Axes getSurfaceSys(uint32 index) const=0;
222  virtual void setSurfSys(uint32 index,const Axes3D &axes)=0;
227  virtual DVect getMass(bool tran_comp) const=0;
230  virtual DVect getAddedMass(bool tran_comp) const = 0;
231 #else
233  virtual DVect getTransMass() const = 0;
235  virtual double getRotMass() const = 0;
238  virtual DVect getAddedMass() const = 0;
239 #endif
240 
243  virtual void setAddedMass(const double &newmass, uint32 index)=0;
247  virtual double getDTemp(bool local=false) const=0;
249  virtual void setDTemp(const double &t)=0;
251  virtual bool getInUse() const=0;
253  virtual CLinkType<ISEL> getStartLink() const=0;
254 #ifdef THREED
255  virtual double getStressResultant(uint32 index,uint32 component)=0;
256 #endif
257  virtual double getLocalRatio() const=0;
258  virtual double getRatioTarget() const=0;
259  virtual void setRatioTarget(double d)=0;
260  virtual double getConvergence() const=0;
261  virtual double getDynamicCriticalTimestep() const=0;
262  };
263 } // namespace f3
264 // 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 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 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 const IThing * getIThing() const =0
returns a const IThing pointer
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 ISELLink * getLink(uint32 side)=0
virtual bool getApForSysGbl() const =0
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
virtual DVect getFAPGlobal() const =0
Returns applied force in global coordinate system for plotting purposes only. .
virtual const ISELNode * getNext() const =0
virtual void setAcc2(double val, uint32 dof_comp)=0
virtual void setFAP(const DVect &dvVal)=0
virtual const ISELLink * getLink(uint32 side) const =0
virtual DVect getAddedMass() 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 IThing * getIThing()=0
returns a IThing pointer
virtual void setFixFree2(uint32 dof, bool b)=0
virtual void setPosition(bool cur, const DVect &newPos)=0
virtual DVect getGeoPos() const =0
virtual ISELNode * getNext()=0
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 CLinkType< ISEL > getStartLink() const =0
Returns the start link of the first SEL connected to this node.
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:150
IVect3 IVect
Vector of ints, either 2D or 3D.
Definition: dim.h:152
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