MBDyn-1.7.3
|
#include <joint.h>
Classes | |
struct | AccelerationDriveHint |
struct | AngularAccelerationDriveHint |
struct | AngularVelocityDriveHint |
class | ErrGeneric |
struct | ForcesHint |
struct | HingeHint |
struct | JointDriveHint |
struct | JointHint |
struct | MomentsHint |
struct | OffsetHint |
struct | OrientationDriveHint |
struct | OrientationHingeHint |
struct | PositionDriveHint |
struct | PositionHingeHint |
struct | ReactionsHint |
struct | VelocityDriveHint |
Public Member Functions | |
Joint (unsigned int uL, const DofOwner *pD, flag fOut) | |
virtual | ~Joint (void) |
virtual Elem::Type | GetElemType (void) const |
virtual Joint::Type | GetJointType (void) const =0 |
virtual std::ostream & | Restart (std::ostream &out) const |
std::ostream & | Output (std::ostream &out, const char *sJointName, unsigned int uLabel, const Vec3 &FLocal, const Vec3 &MLocal, const Vec3 &FGlobal, const Vec3 &MGlobal) const |
virtual void | SetInitialValue (VectorHandler &) |
virtual void | SetValue (DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph=0) |
virtual void | Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS) |
bool | bIsPrescribedMotion (void) const |
bool | bIsTorque (void) const |
Public Member Functions inherited from Elem | |
Elem (unsigned int uL, flag fOut) | |
virtual | ~Elem (void) |
virtual unsigned int | iGetNumDof (void) const |
virtual std::ostream & | DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const |
virtual void | DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const |
virtual std::ostream & | DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const |
virtual void | DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const |
virtual DofOrder::Order | GetDofType (unsigned int) const |
virtual void | WorkSpaceDim (integer *piNumRows, integer *piNumCols) const =0 |
virtual void | AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
virtual SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0 |
virtual VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)=0 |
virtual bool | bInverseDynamics (void) const |
void | SetInverseDynamicsFlags (unsigned uIDF) |
unsigned | GetInverseDynamicsFlags (void) const |
bool | bIsErgonomy (void) const |
bool | bIsRightHandSide (void) const |
virtual VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
virtual SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS) |
virtual int | GetNumConnectedNodes (void) const |
virtual void | GetConnectedNodes (std::vector< const Node * > &connectedNodes) const |
Public Member Functions inherited from WithLabel | |
WithLabel (unsigned int uL=0, const std::string &sN="") | |
virtual | ~WithLabel (void) |
void | PutLabel (unsigned int uL) |
void | PutName (const std::string &sN) |
unsigned int | GetLabel (void) const |
const std::string & | GetName (void) const |
Public Member Functions inherited from SimulationEntity | |
SimulationEntity (void) | |
virtual | ~SimulationEntity (void) |
virtual bool | bIsValidIndex (unsigned int i) const |
virtual DofOrder::Order | GetEqType (unsigned int i) const |
virtual Hint * | ParseHint (DataManager *pDM, const char *s) const |
virtual void | BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const |
virtual void | AfterPredict (VectorHandler &X, VectorHandler &XP) |
virtual void | Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
virtual void | DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP) |
virtual unsigned int | iGetNumPrivData (void) const |
virtual unsigned int | iGetPrivDataIdx (const char *s) const |
virtual doublereal | dGetPrivData (unsigned int i) const |
virtual std::ostream & | OutputAppend (std::ostream &out) const |
virtual void | ReadInitialState (MBDynParser &HP) |
Public Member Functions inherited from ToBeOutput | |
ToBeOutput (flag fOut=fDefaultOut) | |
virtual | ~ToBeOutput (void) |
virtual void | OutputPrepare (OutputHandler &OH) |
virtual void | Output (OutputHandler &OH) const |
virtual void | Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const |
virtual flag | fToBeOutput (void) const |
virtual bool | bToBeOutput (void) const |
virtual void | SetOutputFlag (flag f=flag(1)) |
Public Member Functions inherited from ElemGravityOwner | |
ElemGravityOwner (unsigned int uL, flag fOut) | |
virtual | ~ElemGravityOwner (void) |
virtual doublereal | dGetM (void) const |
Vec3 | GetS (void) const |
Mat3x3 | GetJ (void) const |
Vec3 | GetB (void) const |
Vec3 | GetG (void) const |
Public Member Functions inherited from GravityOwner | |
GravityOwner (void) | |
virtual | ~GravityOwner (void) |
void | PutGravity (const Gravity *pG) |
virtual bool | bGetGravity (const Vec3 &X, Vec3 &Acc) const |
Public Member Functions inherited from ElemWithDofs | |
ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut) | |
virtual | ~ElemWithDofs (void) |
Public Member Functions inherited from DofOwnerOwner | |
DofOwnerOwner (const DofOwner *pDO) | |
virtual | ~DofOwnerOwner () |
virtual const DofOwner * | pGetDofOwner (void) const |
virtual integer | iGetFirstIndex (void) const |
Public Member Functions inherited from InitialAssemblyElem | |
InitialAssemblyElem (unsigned int uL, flag fOut) | |
virtual | ~InitialAssemblyElem (void) |
Public Member Functions inherited from SubjectToInitialAssembly | |
SubjectToInitialAssembly (void) | |
virtual | ~SubjectToInitialAssembly (void) |
virtual unsigned int | iGetInitialNumDof (void) const =0 |
virtual void | InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const =0 |
virtual VariableSubMatrixHandler & | InitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)=0 |
virtual SubVectorHandler & | InitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr)=0 |
Protected Member Functions | |
virtual void | OutputPrepare_int (const std::string &type, OutputHandler &OH, std::string &name) |
Protected Member Functions inherited from ElemGravityOwner | |
virtual Vec3 | GetS_int (void) const |
virtual Mat3x3 | GetJ_int (void) const |
virtual Vec3 | GetB_int (void) const |
virtual Vec3 | GetG_int (void) const |
Friends | |
Joint * | ReadModal (DataManager *pDM, MBDynParser &HP, const DofOwner *pD0, unsigned int uLabel, const StructNode *pModalNode) |
Additional Inherited Members | |
Protected Attributes inherited from WithLabel | |
unsigned int | uLabel |
std::string | sName |
Protected Attributes inherited from ToBeOutput | |
flag | fOutput |
Protected Attributes inherited from GravityOwner | |
Gravity * | pGravity |
enum Joint::Type |
Definition at line 66 of file joint.h.
Definition at line 83 of file joint.cc.
References NO_OP.
|
virtual |
bool Joint::bIsPrescribedMotion | ( | void | ) | const |
Definition at line 170 of file joint.cc.
References Elem::GetInverseDynamicsFlags(), and InverseDynamics::PRESCRIBED_MOTION.
Referenced by DataManager::AssConstrJac(), DataManager::AssConstrRes(), DataManager::IDDofInit(), and DataManager::IDSetTest().
bool Joint::bIsTorque | ( | void | ) | const |
Definition at line 176 of file joint.cc.
References Elem::GetInverseDynamicsFlags(), and InverseDynamics::TORQUE.
Referenced by DataManager::AssConstrJac(), DataManager::AssConstrRes(), DataManager::IDDofInit(), and DataManager::IDSetTest().
|
inlinevirtual |
Implements Elem.
Definition at line 187 of file joint.h.
References Elem::JOINT.
Referenced by Update().
|
pure virtual |
Implemented in PlanePinJoint, AxialRotationJoint, TotalPinJoint, TotalReaction, Modal, UniversalPinJoint, ClampJoint, PlaneRotationJoint, DriveDisplacementPinJoint, InPlaneWithOffsetJoint, PinJoint, UniversalRotationJoint, DistanceJointWithOffset, AngularVelocityJoint, InLineWithOffsetJoint, BeamSliderJoint, AngularAccelerationJoint, TotalJoint, DeformableJoint, TotalEquation, DeformableHingeJoint, Brake, PlaneHingeJoint, DeformableDispJoint, DeformableAxialJoint, Rod, PointSurfaceContact, RodBezier, DriveHingeJoint, ViscousBody, DriveDisplacementJoint, ContactJoint, GimbalRotationJoint, InPlaneJoint, InPlaneContactJoint, UniversalHingeJoint, PrismaticJoint, SphericalHingeJoint, LinearAccelerationJoint, LinearVelocityJoint, DistanceJoint, and InLineJoint.
std::ostream & Joint::Output | ( | std::ostream & | out, |
const char * | sJointName, | ||
unsigned int | uLabel, | ||
const Vec3 & | FLocal, | ||
const Vec3 & | MLocal, | ||
const Vec3 & | FGlobal, | ||
const Vec3 & | MGlobal | ||
) | const |
Definition at line 138 of file joint.cc.
References ASSERT.
Referenced by GimbalRotationJoint::Output(), LinearAccelerationJoint::Output(), DriveDisplacementJoint::Output(), DriveHingeJoint::Output(), ViscousBody::Output(), LinearVelocityJoint::Output(), InLineJoint::Output(), DistanceJoint::Output(), UniversalHingeJoint::Output(), PrismaticJoint::Output(), SphericalHingeJoint::Output(), DeformableAxialJoint::Output(), InPlaneJoint::Output(), DeformableDispJoint::Output(), RodBezier::Output(), DeformableHingeJoint::Output(), DeformableJoint::Output(), Rod::Output(), Brake::Output(), AngularAccelerationJoint::Output(), PlaneHingeJoint::Output(), BeamSliderJoint::Output(), AngularVelocityJoint::Output(), InLineWithOffsetJoint::Output(), ContactJoint::Output(), DistanceJointWithOffset::Output(), UniversalRotationJoint::Output(), PinJoint::Output(), TotalEquation::Output(), InPlaneWithOffsetJoint::Output(), TotalJoint::Output(), DriveDisplacementPinJoint::Output(), UniversalPinJoint::Output(), PlaneRotationJoint::Output(), ClampJoint::Output(), TotalReaction::Output(), TotalPinJoint::Output(), AxialRotationJoint::Output(), PlanePinJoint::Output(), and DeformableHingeJoint::OutputInv().
|
protectedvirtual |
Definition at line 107 of file joint.cc.
References ASSERT, WithLabel::GetLabel(), OutputHandler::IsOpen(), and OutputHandler::NETCDF.
Referenced by InLineJoint::OutputPrepare(), PrismaticJoint::OutputPrepare(), SphericalHingeJoint::OutputPrepare(), DeformableDispJoint::OutputPrepare(), DeformableHingeJoint::OutputPrepare(), DeformableJoint::OutputPrepare(), Rod::OutputPrepare(), PlaneHingeJoint::OutputPrepare(), UniversalRotationJoint::OutputPrepare(), TotalJoint::OutputPrepare(), PlaneRotationJoint::OutputPrepare(), TotalPinJoint::OutputPrepare(), and AxialRotationJoint::OutputPrepare().
|
inlinevirtual |
Implements Elem.
Reimplemented in PlanePinJoint, AxialRotationJoint, TotalPinJoint, TotalReaction, RodWithOffset, Modal, ClampJoint, UniversalPinJoint, PlaneRotationJoint, DriveDisplacementPinJoint, InPlaneWithOffsetJoint, PinJoint, UniversalRotationJoint, DistanceJointWithOffset, AngularVelocityJoint, InLineWithOffsetJoint, AngularAccelerationJoint, BeamSliderJoint, DeformableJoint, TotalJoint, DeformableHingeJoint, TotalEquation, DeformableDispJoint, Brake, PlaneHingeJoint, DeformableAxialJoint, Rod, PointSurfaceContact, RodBezier, DriveHingeJoint, ViscousBody, DriveDisplacementJoint, GimbalRotationJoint, InPlaneJoint, InPlaneContactJoint, SphericalHingeJoint, UniversalHingeJoint, LinearVelocityJoint, PrismaticJoint, LinearAccelerationJoint, DistanceJoint, and InLineJoint.
Definition at line 195 of file joint.h.
References WithLabel::GetLabel().
Referenced by InLineJoint::Restart(), DistanceJoint::Restart(), PrismaticJoint::Restart(), LinearVelocityJoint::Restart(), UniversalHingeJoint::Restart(), SphericalHingeJoint::Restart(), InPlaneJoint::Restart(), GimbalRotationJoint::Restart(), DriveDisplacementJoint::Restart(), ViscousBody::Restart(), DriveHingeJoint::Restart(), RodBezier::Restart(), Rod::Restart(), DeformableAxialJoint::Restart(), Brake::Restart(), PlaneHingeJoint::Restart(), DeformableDispJoint::Restart(), TotalEquation::Restart(), DeformableHingeJoint::Restart(), TotalJoint::Restart(), DeformableJoint::Restart(), InLineWithOffsetJoint::Restart(), AngularVelocityJoint::Restart(), DistanceJointWithOffset::Restart(), UniversalRotationJoint::Restart(), PinJoint::Restart(), InPlaneWithOffsetJoint::Restart(), DriveDisplacementPinJoint::Restart(), PlaneRotationJoint::Restart(), ClampJoint::Restart(), UniversalPinJoint::Restart(), RodWithOffset::Restart(), TotalReaction::Restart(), TotalPinJoint::Restart(), AxialRotationJoint::Restart(), and PlanePinJoint::Restart().
|
inlinevirtual |
Initialize state vector used in initial assembly. May set internal states of the element. Do not rely on being always called, because initial assembly could be implicitly or explicitly skipped
Reimplemented from DofOwnerOwner.
Reimplemented in Modal, InPlaneWithOffsetJoint, ContactJoint, DistanceJointWithOffset, DeformableHingeJoint, InPlaneJoint, InPlaneContactJoint, DistanceJoint, and DeformableAxialJoint.
Definition at line 209 of file joint.h.
References NO_OP.
|
inlinevirtual |
Implements ElemGravityOwner.
Reimplemented in PlanePinJoint, AxialRotationJoint, TotalPinJoint, ClampJoint, TotalReaction, Modal, PlaneRotationJoint, DriveDisplacementPinJoint, ContactJoint, DistanceJointWithOffset, AngularAccelerationJoint, TotalJoint, TotalEquation, PlaneHingeJoint, DeformableJoint, DeformableHingeJoint, Brake, DistanceJoint, DeformableDispJoint, DeformableAxialJoint, SphericalHingeJoint, PrismaticJoint, DriveHingeJoint, ViscousBody, DriveDisplacementJoint, and LinearAccelerationJoint.
Definition at line 213 of file joint.h.
References NO_OP.
|
virtual |
Reimplemented from SimulationEntity.
Reimplemented in ViscoElasticDispJoint, ViscousDispJoint, TotalPinJoint, ClampJoint, ElasticJoint, ElasticHingeJoint, ElasticDispJoint, ElasticAxialJoint, TotalJoint, Rod, and RodBezier.
Definition at line 163 of file joint.cc.
References GetElemType(), WithLabel::GetLabel(), invdyn2str(), and psElemNames.
Referenced by ViscousDispJoint::Update(), and ViscoElasticDispJoint::Update().
|
friend |