Itasca C++ Interface
Loading...
Searching...
No Matches
ibodymechanical.h
1#pragma once
2// ibodymechanical.h
3
4// Interface for functionality of all mechanical bodies. There can be a mixture of methods for both
5// rigid and deformable bodies. The distinction must be made between rigid and deformable bodies as deformable
6// bodies may require quite different storage when compared with rigid bodies.
7
8namespace itascaxd {
9 using namespace itasca;
10 class IBody;
11 class IPieceMechanical;
12
14 public:
16 inline static const TType type_ = 0x4e67b814;
18 virtual const IBody *getIBody() const=0;
20 virtual IBody *getIBody()=0;
22 virtual bool getFix(uint32 dof) const=0;
24 virtual QString getFixLabel() const=0;
26 virtual QVariant getPieceProperty(const QString &name,const IPiece *p=0) const=0;
28 virtual double getDensity() const=0;
30 virtual double getVolume() const=0;
32 virtual double getInertialMass() const=0;
34 virtual double getMass() const=0;
36 virtual DVect getContactForce() const=0;
38 virtual DAVect getContactMoment() const=0;
40 virtual DVect getAppliedForce() const=0;
42 virtual DAVect getAppliedMoment() const=0;
44 virtual DVect getUnbalancedForce() const=0;
46 virtual DAVect getUnbalancedMoment() const=0;
48 virtual double getLocalDamping() const=0;
50 virtual void setFix(uint32 dof,bool b)=0;
52 virtual bool setPieceProperty(const QString &name,const QVariant &v,IPiece *p=0) =0;
54 virtual void setDensity(const double &d)=0;
56 virtual void setVolume(const double &d)=0;
58 virtual void setContactForce(const DVect &v)=0;
60 virtual void setContactMoment(const DAVect &v)=0;
62 virtual void setAppliedForce(const DVect &v)=0;
64 virtual void setAppliedMoment(const DAVect &v)=0;
66 virtual void setLocalDamping(const double &d)=0;
68 virtual void scaleVolumePreserveMass(const double &d,bool checkState=true,bool lock=false)=0;
70 virtual double getConvergence() const=0;
71
72
73 };
74} // namespace itascaxd
75
76// EoF
Definition ibody.h:20
Definition ibodymechanical.h:13
virtual double getInertialMass() const =0
Return the inertial mass.
virtual DAVect getContactMoment() const =0
Return the resultant of all contact moments.
virtual DAVect getUnbalancedMoment() const =0
Return the unbalanced moment.
virtual double getConvergence() const =0
Get the convergence.
virtual bool getFix(uint32 dof) const =0
Return a boolean indicating the fixity condition.
virtual double getVolume() const =0
Return the volume in 3D, or the volume per unit thickness in 2D.
virtual DAVect getAppliedMoment() const =0
Return the applied moment.
virtual void setContactForce(const DVect &v)=0
Set the contact force.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition ibodymechanical.h:16
virtual void setAppliedForce(const DVect &v)=0
Set the applied force.
virtual QString getFixLabel() const =0
Return a fixity label.
virtual IBody * getIBody()=0
Return the IBody pointer.
virtual void setContactMoment(const DAVect &v)=0
Set the contact moment.
virtual void setAppliedMoment(const DAVect &v)=0
Set the applied moment.
virtual double getMass() const =0
Return the mass.
virtual void setFix(uint32 dof, bool b)=0
Set the fixity condition.
virtual bool setPieceProperty(const QString &name, const QVariant &v, IPiece *p=0)=0
Set the property name.
virtual double getLocalDamping() const =0
Return the local damping coefficient.
virtual DVect getAppliedForce() const =0
Return the applied force.
virtual double getDensity() const =0
Return the density.
virtual const IBody * getIBody() const =0
Return the IBody pointer.
virtual DVect getContactForce() const =0
Return the resultant of all contact forces.
virtual void setDensity(const double &d)=0
Set the density.
virtual void setVolume(const double &d)=0
Set the volume in 3D, or the volume per unit thickness in 2D.
virtual void setLocalDamping(const double &d)=0
Set the local damping coefficient.
virtual void scaleVolumePreserveMass(const double &d, bool checkState=true, bool lock=false)=0
Scale the volume to the specified value while preserving the mass.
virtual QVariant getPieceProperty(const QString &name, const IPiece *p=0) const =0
Return the property of the piece.
virtual DVect getUnbalancedForce() const =0
Return the unbalanced force.
Definition ipiece.h:15
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition dim.h:162
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4