Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
itascaxd::IContactMechanical Class Referenceabstract

ContactMechanical class. More...

#include <icontactmechanical.h>

Public Types

using fid_signal = shared::Signal<IContactModel *,const IContact *>
 Fracture ID signal.
 

Public Member Functions

virtual const IThinggetIThing () const =0
 returns a IThing pointer
 
virtual IThinggetIThing ()=0
 
virtual const IContactgetContact () const =0
 returns a IContact pointer
 
virtual IContactgetContact ()=0
 
virtual const IPiecegetEnd1 () const =0
 returns a pointer to the mechanical contact first IPiece object (e.g. a ball)

 
virtual IPiecegetEnd1 ()=0
 
virtual const IPieceMechanicalgetEnd1Mechanical () const =0
 returns a pointer to the mechanical contact first IPieceMechanical object (e.g. a ball)

 
virtual IPieceMechanicalgetEnd1Mechanical ()=0
 
virtual const IPiecegetEnd2 () const =0
 returns a pointer to the mechanical contact second IPiece object (e.g. a ball)

 
virtual IPiecegetEnd2 ()=0
 
virtual const IPieceMechanicalgetEnd2Mechanical () const =0
 returns a pointer to the mechanical contact second IPieceMechanical object (e.g. a ball)

 
virtual IPieceMechanicalgetEnd2Mechanical ()=0
 
virtual DVect2 getEnd1Curvature () const =0
 
virtual DVect2 getEnd2Curvature () const =0
 
virtual DVect2 getEnd1Extent () const =0
 
virtual DVect2 getEnd2Extent () const =0
 
virtual const IContactModel * getModel () const =0
 returns a pointer to the contact model present at this mechanical contact

 
virtual IContactModel * getModel ()=0
 
virtual const IContactModelMechanical * getModelMechanical () const =0
 returns a pointer to the mechanical contact model present at this mechanical contact

 
virtual IContactModelMechanical * getModelMechanical ()=0
 
virtual IContactModel * setModel (const IContactModel *toClone, bool validate=true)=0
 assigns a clone of the contact model passed in arguments, and copies its properties

 
virtual void replaceContactModel (IContactModel *)=0
 Replace the contact model with a new one. The old one is deleted.
 
virtual QString getModelName () const =0
 returns the name of the contact model present at this mechanical contact

 
virtual IContactModel * setModelName (const QString &name)=0
 assigns the contact model based on a name

 
virtual QVariant getProperty (const QString &name) const =0
 returns the value of the property with name name

 
virtual bool setProperty (const QVariant &v, const QString &name)=0
 sets the value of the property with name name

 
virtual uint32 getPropertyIndex (const QString &name) const =0
 returns the index of the property with name name

 
virtual QString getPropertyName (uint32 index) const =0
 returns the name of the property with index index

 
virtual DVect getLocalForce () const =0
 returns the force at this mechanical contact, in the contact local coordinate system

 
virtual DAVect getLocalMomentOn1 () const =0
 returns the moment applied to end1 in the contact local coordinate system

 
virtual DAVect getLocalMomentOn2 () const =0
 returns the moment applied to end2 in the contact local coordinate system

 
virtual DVect getGlobalForce () const =0
 sets the force at this mechanical contact to v, expressed in the global coordinate system

 
virtual double getNormalForce () const =0
 Gets the normal force of this mechanical contact.
 
virtual double getShearForce () const =0
 Gets the shear force of this mechanical contact.
 
virtual DAVect getGlobalMomentOn1 () const =0
 returns the moment applied to end1 in the global coordinate system

 
virtual DAVect getGlobalMomentOn2 () const =0
 returns the moment applied to end2 in the global coordinate system

 
virtual uint32 getFID () const =0
 Gets the FID ID number, an integer tag associated with each contact.
 
virtual void setFID (uint32 i)=0
 Sets the FID ID number, an integer tag associated with each contact.
 
virtual fid_signalgetFIDSignal ()=0
 Get the Signal2 for induction when a fid tag is active. This is used to set the contact model properties.
 
virtual void executeFIDSignal (IContactModel *)=0
 Execute the fid_signal with this IContactModel.
 
virtual void executeFIDSignal (IContactModel *) const =0
 Execute the fid_signal with this IContactModel.
 
virtual double getGap () const =0
 Return the gap of this mechanical contact. A negative gap corresponds to physical overlap.
 
virtual double calculateOverlapVolume () const =0
 Return the actual volume of the overlaping region between the contacting pieces - null if the overlap is negative.
 
virtual DVect getLength () const =0
 
virtual void updateResultingTorqueOn1Local (const DVect &forceOn2, DAVect *ret) const =0
 Given a force on end2 and the contact position calculate the torque on end1 - in local coordinates.
 
virtual void updateResultingTorqueOn2Local (const DVect &forceOn2, DAVect *ret) const =0
 Given a force on end2 and the contact force and position calculate the torque on end2 - in local coordinates.
 
virtual std::pair< DVect, DAVectgetRelativeVelocity () const =0
 Get the relative velocity and spin in global coordinates.
 
virtual DVect inGlobal (const DVect &vin) const =0
 Convert a local quantity to the global system.
 
virtual DVect inLocal (const DVect &vin) const =0
 Convert a global quantity to the local system.
 
virtual DVect2 getEffectiveTranslationalStiffness () const =0
 Get the contact model effective stiffness in translation (normal,shear) and rotation.
 
virtual DAVect getEffectiveRotationalStiffness () const =0
 
virtual bool getIsBonded () const =0
 Return the bonding state.
 
virtual void unbondMe ()=0
 Unbond the contact.
 
virtual void setFullUpdate (bool)=0
 
virtual bool getFullUpdate () const =0
 
virtual DVect localForceFromStress (const Mat &) const =0
 
virtual void setForce (const DVect &vin)=0
 
virtual bool getJointGeometry (std::vector< DVect > *points, int whichProc=0) const =0
 Return contact specific joint geometry. Returns true if triangles.
 
virtual DVect getRelativeLocalVelocity (const DVect &pos) const =0
 Return the relative velocity at a point in local coordinate system.
 

Static Public Attributes

static const TType type_ = 0x04c815ba9
 The type identification number for this class, for use in convert_cast() and convert_getcast().
 

Detailed Description

ContactMechanical class.

Mechanical Contacts may exist between two IPiece objects (e.g. between two balls or between a ball and a wall). They are formed and broken automatically during the course of a simulation.

The behavior of a material is simulated by associating a constitutive model with each mechanical contact.

Member Function Documentation

◆ getLength()

virtual DVect itascaxd::IContactMechanical::getLength ( ) const
pure virtual

Return the length of this mechanical contact. Length is defined as the vector going from the centroid of the body comprising end1 to the centroid of the body comprising end2


The documentation for this class was generated from the following file: