Itasca C++ Interface
Loading...
Searching...
No Matches
iintnode.h
1#pragma once
2
3namespace itasca
4{
5 class IThing;
6}
7
8namespace zone
9{
10 using namespace itasca;
11
12 class IFace;
13 class IIntModel;
14 class INode;
15 class IFaceWeight;
16 class IIntElem;
17
19
23 {
24 public:
26 inline static const TType type_ = 0x4c815a10;
28 virtual const IThing * getIThing() const=0;
30 virtual IThing * getIThing()=0;
33 virtual const IIntNode * getNext() const=0;
36 virtual IIntNode * getNext() =0;
38 virtual double getArea() const=0;
40 virtual DVect3 getNormal() const=0;
42 virtual double getNormalStress() const=0;
44 virtual DVect getShearStress() const=0;
46 virtual void setShearStress(const DVect &dv)=0;
48 virtual double getPreStress() const=0;
50 virtual void setPreStress(const double &d)=0;
52 virtual DVect getShearDisplacement() const=0;
54 virtual void setShearDisplacement(const DVect &dv)=0;
57 virtual double getContactTolerance() const=0;
60 virtual void setContactTolerance(const double &d)=0;
63 virtual double getPenetration() const=0;
65 virtual const IFace * getHost() const=0;
67 virtual IFace * getHost() =0;
69 virtual const IFaceWeight * getHostWeight() const=0;
71 virtual const IFace * getTarget() const=0;
73 virtual IFace * getTarget() =0;
75 virtual const IFaceWeight * getTargetWeight() const=0;
77 virtual DVect getPosition() const=0;
79 virtual void setPosition(const DVect &dv)=0;
81 virtual DVect getDisplacement(bool local=false) const=0;
83 virtual DVect getVelocity(bool local=false) const=0;
85 virtual void setVelocity(const DVect &dv,bool local=false)=0;
87 virtual const IIntModel * getModel() const=0;
89 virtual IIntModel * getModel()=0;
93 virtual void snapToHost()=0;
95 virtual const INode * getINode() const=0;
96 virtual double getPorePressure() const=0;
97 virtual const IThing * getOwner() const=0;
98 };
99} // namespace zone
100// EoF
101
Base class for items that will be stored in containers.
Definition ithing.h:30
Interface to zone faces.
Definition iface.h:23
Interface to face weight, used to define the location of a gridpoint in a given face.
Definition ifaceweight.h:19
Interface provides access to the constitutive model of a FLAC3D interface.
Definition iintmodel.h:8
Class provides access to the an interface node.
Definition iintnode.h:23
virtual IIntNode * getNext()=0
virtual DVect3 getNormal() const =0
Returns the normal vector used during contact detection for the node.
virtual const IThing * getIThing() const =0
returns a const IThing pointer
virtual double getPenetration() const =0
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition iintnode.h:26
virtual const IFaceWeight * getHostWeight() const =0
Returns the weighting factor for the host face.
virtual DVect getDisplacement(bool local=false) const =0
Returns the displacement of the interface node.
virtual double getContactTolerance() const =0
virtual DVect getVelocity(bool local=false) const =0
Returns the velocity of the interface node, see setVelocity()
virtual const IFace * getTarget() const =0
Returns a const pointer to the face to which the interface node is in contact.
virtual const IIntModel * getModel() const =0
Returns a const pointer to the node constitutive model.
virtual IThing * getIThing()=0
returns a IThing pointer
virtual const IIntNode * getNext() const =0
virtual void setShearStress(const DVect &dv)=0
Sets the shear stress on the node, see getShearStress()
virtual void setVelocity(const DVect &dv, bool local=false)=0
Sets the velocity of the interface node, see getVelocity()
virtual const IFaceWeight * getTargetWeight() const =0
Returns the weighting factor for the target face.
virtual IFace * getHost()=0
Returns a pointer to the face to which the interface node is attached.
virtual const INode * getINode() const =0
Returns a const pointer to INode (itself).
virtual DVect getPosition() const =0
Returns the position of the interface node, see setPosition();.
virtual DVect getShearDisplacement() const =0
Returns the accumulated Shear Displacement, see setShearDisplacement()
virtual void setShearDisplacement(const DVect &dv)=0
Sets the accumulated Shear Displacement, see getShearDisplacement()
virtual IFace * getTarget()=0
Returns a pointer to the face to which the interface node is in contact.
virtual double getArea() const =0
Returns the accumulated Area "owned" by the node, valid only after cycling.
virtual const IFace * getHost() const =0
Returns a const pointer to the face to which the interface node is attached.
virtual void snapToHost()=0
virtual void setPosition(const DVect &dv)=0
Sets the position of the interface node, see getPosition();.
virtual DVect getShearStress() const =0
Returns the shear stress on the node, see setShearStress()
virtual double getPreStress() const =0
Returns additional normal stress, see setPreStress()
virtual double getNormalStress() const =0
Returns the normal stress magnitude on the node.
virtual void setContactTolerance(const double &d)=0
virtual IIntModel * getModel()=0
Returns a const pointer to the node constitutive model.
virtual void setPreStress(const double &d)=0
Sets additional normal stress, see getPreStress()
Interface to access node data.
Definition inode.h:18
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
namespace Itasca
Definition basememory.cpp:14