Itasca C++ Interface
iintnode.h
1 #pragma once
2 
3 namespace itasca
4 {
5  class IThing;
6 }
7 
8 namespace zone
9 {
10  using namespace itasca;
11 
12  class IFace;
13  class IIntModel;
14  class INode;
15  class IFaceWeight;
16  class IIntElem;
17 
19 
22  class IIntNode
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 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
virtual IFace * getTarget()=0
Returns a pointer to the face to which the interface node is in contact.
virtual DVect getDisplacement(bool local=false) const =0
Returns the displacement of the interface node.
virtual const IFaceWeight * getTargetWeight() const =0
Returns the weighting factor for the target face.
virtual double getContactTolerance() const =0
virtual DVect getVelocity(bool local=false) const =0
Returns the velocity of the interface node, see setVelocity()
virtual const IFaceWeight * getHostWeight() const =0
Returns the weighting factor for the host face.
virtual IFace * getHost()=0
Returns a pointer to the face to which the interface node is attached.
virtual const IFace * getHost() const =0
Returns a const pointer to the face to which the interface node is attached.
virtual void setShearStress(const DVect &dv)=0
Sets the shear stress on the node, see getShearStress()
virtual const IFace * getTarget() const =0
Returns a const pointer to the face to which the interface node is in contact.
virtual void setVelocity(const DVect &dv, bool local=false)=0
Sets the velocity of the interface node, see getVelocity()
virtual IThing * getIThing()=0
returns a IThing pointer
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 double getArea() const =0
Returns the accumulated Area "owned" by the node, valid only after cycling.
virtual void snapToHost()=0
virtual IIntModel * getModel()=0
Returns a const pointer to the node constitutive model.
virtual void setPosition(const DVect &dv)=0
Sets the position of the interface node, see getPosition();.
virtual const IIntNode * getNext() const =0
virtual DVect getShearStress() const =0
Returns the shear stress on the node, see setShearStress()
virtual const INode * getINode() const =0
Returns a const pointer to INode (itself).
virtual const IIntModel * getModel() const =0
Returns a const pointer to the node constitutive model.
virtual double getPreStress() const =0
Returns additional normal stress, see setPreStress()
virtual IIntNode * getNext()=0
virtual double getNormalStress() const =0
Returns the normal stress magnitude on the node.
virtual void setContactTolerance(const double &d)=0
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:150
namespace Itasca
Definition: basememory.cpp:10