MBDyn-1.7.3
|
#include <totalequation.h>
Public Member Functions | |
TotalEquation (unsigned int uL, const DofOwner *pDO, bool bPos[3], bool bVel[3], TplDriveCaller< Vec3 > *const pDCPos[3], bool bRot[3], bool bAgv[3], TplDriveCaller< Vec3 > *const pDCRot[3], const StructNode *pN1, const Vec3 &f1Tmp, const Mat3x3 &R1hTmp, const Mat3x3 &R1hrTmp, const StructNode *pN2, const Vec3 &f2Tmp, const Mat3x3 &R2hTmp, const Mat3x3 &R2hrTmp, flag fOut) | |
~TotalEquation (void) | |
virtual std::ostream & | Restart (std::ostream &out) const |
virtual Joint::Type | GetJointType (void) const |
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 |
DofOrder::Order | GetDofType (unsigned int i) const |
virtual void | SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0) |
virtual Hint * | ParseHint (DataManager *pDM, const char *s) const |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP) |
void | WorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
void | Output (OutputHandler &OH) const |
virtual unsigned int | iGetInitialNumDof (void) const |
virtual void | InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
VariableSubMatrixHandler & | InitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
SubVectorHandler & | InitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr) |
virtual unsigned int | iGetNumPrivData (void) const |
virtual unsigned int | iGetPrivDataIdx (const char *s) const |
virtual doublereal | dGetPrivData (unsigned int i) const |
virtual void | GetConnectedNodes (std::vector< const Node * > &connectedNodes) const |
![]() | |
Elem (unsigned int uL, flag fOut) | |
virtual | ~Elem (void) |
virtual void | AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
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 |
![]() | |
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 |
![]() | |
SimulationEntity (void) | |
virtual | ~SimulationEntity (void) |
virtual bool | bIsValidIndex (unsigned int i) const |
virtual DofOrder::Order | GetEqType (unsigned int i) 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 std::ostream & | OutputAppend (std::ostream &out) const |
virtual void | ReadInitialState (MBDynParser &HP) |
![]() | |
ToBeOutput (flag fOut=fDefaultOut) | |
virtual | ~ToBeOutput (void) |
virtual void | OutputPrepare (OutputHandler &OH) |
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)) |
![]() | |
Joint (unsigned int uL, const DofOwner *pD, flag fOut) | |
virtual | ~Joint (void) |
virtual Elem::Type | GetElemType (void) 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 | Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS) |
bool | bIsPrescribedMotion (void) const |
bool | bIsTorque (void) const |
![]() | |
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 |
![]() | |
GravityOwner (void) | |
virtual | ~GravityOwner (void) |
void | PutGravity (const Gravity *pG) |
virtual bool | bGetGravity (const Vec3 &X, Vec3 &Acc) const |
![]() | |
ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut) | |
virtual | ~ElemWithDofs (void) |
![]() | |
DofOwnerOwner (const DofOwner *pDO) | |
virtual | ~DofOwnerOwner () |
virtual const DofOwner * | pGetDofOwner (void) const |
virtual integer | iGetFirstIndex (void) const |
![]() | |
InitialAssemblyElem (unsigned int uL, flag fOut) | |
virtual | ~InitialAssemblyElem (void) |
![]() | |
SubjectToInitialAssembly (void) | |
virtual | ~SubjectToInitialAssembly (void) |
Private Attributes | |
const StructNode * | pNode1 |
const StructNode * | pNode2 |
Vec3 | f1 |
Mat3x3 | R1h |
Mat3x3 | R1hr |
Vec3 | f2 |
Mat3x3 | R2h |
Mat3x3 | R2hr |
bool | bPosActive [3] |
bool | bRotActive [3] |
bool | bVelActive [3] |
bool | bAgvActive [3] |
TplDriveOwner< Vec3 > | XDrv |
TplDriveOwner< Vec3 > | XPDrv |
TplDriveOwner< Vec3 > | XPPDrv |
TplDriveOwner< Vec3 > | ThetaDrv |
TplDriveOwner< Vec3 > | OmegaDrv |
TplDriveOwner< Vec3 > | OmegaPDrv |
unsigned int | nConstraints |
unsigned int | nPosConstraints |
unsigned int | nRotConstraints |
unsigned int | nVelConstraints |
unsigned int | nAgvConstraints |
unsigned int | iPosIncid [3] |
unsigned int | iRotIncid [3] |
unsigned int | iVelIncid [3] |
unsigned int | iAgvIncid [3] |
unsigned int | iPosEqIndex [3] |
unsigned int | iRotEqIndex [3] |
unsigned int | iVelEqIndex [3] |
unsigned int | iAgvEqIndex [3] |
Vec3 | tilde_f1 |
Vec3 | M |
Vec3 | F |
Vec3 | ThetaDelta |
Vec3 | ThetaDeltaPrev |
Friends | |
class | TotalReaction |
Definition at line 46 of file totalequation.h.
TotalEquation::TotalEquation | ( | unsigned int | uL, |
const DofOwner * | pDO, | ||
bool | bPos[3], | ||
bool | bVel[3], | ||
TplDriveCaller< Vec3 > *const | pDCPos[3], | ||
bool | bRot[3], | ||
bool | bAgv[3], | ||
TplDriveCaller< Vec3 > *const | pDCRot[3], | ||
const StructNode * | pN1, | ||
const Vec3 & | f1Tmp, | ||
const Mat3x3 & | R1hTmp, | ||
const Mat3x3 & | R1hrTmp, | ||
const StructNode * | pN2, | ||
const Vec3 & | f2Tmp, | ||
const Mat3x3 & | R2hTmp, | ||
const Mat3x3 & | R2hrTmp, | ||
flag | fOut | ||
) |
Definition at line 44 of file totalequation.cc.
References ASSERT, bAgvActive, bPosActive, bRotActive, bVelActive, iAgvEqIndex, iAgvIncid, iPosEqIndex, iPosIncid, iRotEqIndex, iRotIncid, iVelEqIndex, iVelIncid, nAgvConstraints, nConstraints, nPosConstraints, nRotConstraints, and nVelConstraints.
TotalEquation::~TotalEquation | ( | void | ) |
Definition at line 117 of file totalequation.cc.
References NO_OP.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 564 of file totalequation.cc.
References ThetaDelta, ThetaDeltaPrev, and Unwrap().
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 571 of file totalequation.cc.
References ThetaDelta, ThetaDeltaPrev, and Unwrap().
|
virtual |
Implements Elem.
Definition at line 637 of file totalequation.cc.
References FullSubMatrixHandler::AddT(), Vec3::Cross(), grad::Cross(), DEBUGCOUT, f2, StructNode::GetRCurr(), StructNode::GetRRef(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), iAgvEqIndex, iAgvIncid, DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstPositionIndex(), iPosEqIndex, iPosIncid, iRotEqIndex, iRotIncid, iVelEqIndex, iVelIncid, MatCross, MatCrossCross, nAgvConstraints, nConstraints, nPosConstraints, nRotConstraints, nVelConstraints, pNode1, pNode2, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), R1h, R1hr, FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), FullSubMatrixHandler::SubT(), and WorkSpaceDim().
|
virtual |
Implements Elem.
Definition at line 765 of file totalequation.cc.
References ASSERT, Vec3::Cross(), DEBUGCOUT, f2, TplDriveOwner< T >::Get(), StructNode::GetRCurr(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), iAgvEqIndex, iAgvIncid, DofOwnerOwner::iGetFirstIndex(), iPosEqIndex, iPosIncid, iRotEqIndex, iRotIncid, iVelEqIndex, iVelIncid, Mat3x3::MulTM(), Mat3x3::MulTV(), nAgvConstraints, nConstraints, nPosConstraints, nRotConstraints, nVelConstraints, pNode1, pNode2, VectorHandler::PutCoef(), SubVectorHandler::PutRowIndex(), R1h, R1hr, R2hr, VectorHandler::ResizeReset(), RotManip::Rot(), ThetaDelta, ThetaDrv, tilde_f1, RotManip::VecRot(), WorkSpaceDim(), and XDrv.
|
virtual |
Reimplemented from Elem.
Definition at line 124 of file totalequation.cc.
References bAgvActive, bPosActive, bRotActive, bVelActive, idx2xyz, DofOwnerOwner::iGetFirstIndex(), nAgvConstraints, nConstraints, nPosConstraints, nRotConstraints, and nVelConstraints.
|
virtual |
Reimplemented from Elem.
Definition at line 217 of file totalequation.cc.
References WithLabel::GetLabel(), iGetInitialNumDof(), and iGetNumDof().
|
virtual |
Reimplemented from Elem.
Definition at line 253 of file totalequation.cc.
References bAgvActive, bPosActive, bRotActive, bVelActive, idx2xyz, DofOwnerOwner::iGetFirstIndex(), nAgvConstraints, nConstraints, nPosConstraints, nRotConstraints, and nVelConstraints.
|
virtual |
Reimplemented from Elem.
Definition at line 362 of file totalequation.cc.
References WithLabel::GetLabel(), iGetInitialNumDof(), and iGetNumDof().
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 1147 of file totalequation.cc.
References ASSERT, bPosActive, bRotActive, Vec3::Cross(), f1, f2, TplDriveOwner< T >::Get(), StructNode::GetRCurr(), StructDispNode::GetVCurr(), Mat3x3::GetVec(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), Mat3x3::MulTV(), pNode1, pNode2, R1h, R1hr, ThetaDelta, ThetaDeltaPrev, ThetaDrv, Unwrap(), and XDrv.
|
inlinevirtual |
Reimplemented from Elem.
Definition at line 236 of file totalequation.h.
References pNode1, and pNode2.
|
inlinevirtual |
Reimplemented from Elem.
Definition at line 147 of file totalequation.h.
References DofOrder::ALGEBRAIC, ASSERT, and nConstraints.
|
inlinevirtual |
|
inlinevirtual |
Implements SubjectToInitialAssembly.
Definition at line 209 of file totalequation.h.
References nConstraints.
Referenced by DescribeDof(), and DescribeEq().
|
inlinevirtual |
Reimplemented from Elem.
Definition at line 122 of file totalequation.h.
References nConstraints.
Referenced by DescribeDof(), and DescribeEq().
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 1075 of file totalequation.cc.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 1081 of file totalequation.cc.
References ASSERT.
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 873 of file totalequation.cc.
References FullSubMatrixHandler::AddT(), Vec3::Cross(), f2, StructNode::GetRCurr(), StructNode::GetRRef(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstPositionIndex(), InitialWorkSpaceDim(), iPosIncid, iRotIncid, nConstraints, nPosConstraints, nRotConstraints, pNode1, pNode2, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), R1h, R1hr, FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), and FullSubMatrixHandler::SubT().
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 991 of file totalequation.cc.
References TplDriveOwner< T >::bIsDifferentiable(), Vec3::Cross(), DEBUGCOUT, f2, TplDriveOwner< T >::Get(), TplDriveOwner< T >::GetP(), StructNode::GetRCurr(), StructNode::GetRRef(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstPositionIndex(), InitialWorkSpaceDim(), iPosIncid, iRotIncid, Mat3x3::MulTM(), nConstraints, nPosConstraints, nRotConstraints, pNode1, pNode2, VectorHandler::PutCoef(), SubVectorHandler::PutRowIndex(), R1h, R1hr, R2hr, VectorHandler::ResizeReset(), RotManip::Rot(), ThetaDelta, ThetaDrv, tilde_f1, RotManip::VecRot(), and XDrv.
|
inlinevirtual |
Implements SubjectToInitialAssembly.
Definition at line 213 of file totalequation.h.
References nConstraints.
Referenced by InitialAssJac(), and InitialAssRes().
|
virtual |
Reimplemented from ToBeOutput.
Definition at line 840 of file totalequation.cc.
References ToBeOutput::bToBeOutput(), f2, WithLabel::GetLabel(), StructNode::GetRCurr(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), OutputHandler::Joints(), Mat3x3::MulTM(), Mat3x3::MulTV(), Joint::Output(), pNode1, pNode2, R1h, R1hr, R2hr, tilde_f1, V1, V2, RotManip::VecRot(), and Zero3.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 487 of file totalequation.cc.
References STRLENOF.
|
virtual |
Implements Elem.
Definition at line 580 of file totalequation.cc.
References bPosActive, bRotActive, f1, f2, WithLabel::GetLabel(), Mat3x3::GetVec(), pNode1, pNode2, R1h, R1hr, R2h, R2hr, Joint::Restart(), and Vec3::Write().
|
virtual |
Reimplemented from Joint.
Definition at line 397 of file totalequation.cc.
References f1, f2, TplDriveOwner< T >::Get(), StructNode::GetRCurr(), StructDispNode::GetXCurr(), MBDYN_EXCEPT_ARGS, Mat3x3::MulTM(), Mat3x3::MulTV(), OmegaDrv, OmegaPDrv, pNode1, pNode2, Joint::JointDriveHint< T >::pTDH, R1h, R1hr, R2h, R2hr, TplDriveOwner< T >::Set(), ThetaDrv, tilde_f1, WithLabel::uLabel, XDrv, XPDrv, and XPPDrv.
Implements Elem.
Definition at line 170 of file totalequation.h.
References nConstraints.
Referenced by AssJac(), and AssRes().
|
friend |
Definition at line 94 of file totalequation.h.
|
private |
Definition at line 61 of file totalequation.h.
Referenced by DescribeDof(), DescribeEq(), and TotalEquation().
|
private |
Definition at line 57 of file totalequation.h.
Referenced by DescribeDof(), DescribeEq(), dGetPrivData(), Restart(), and TotalEquation().
|
private |
Definition at line 58 of file totalequation.h.
Referenced by DescribeDof(), DescribeEq(), dGetPrivData(), Restart(), and TotalEquation().
|
private |
Definition at line 60 of file totalequation.h.
Referenced by DescribeDof(), DescribeEq(), and TotalEquation().
|
mutableprivate |
Definition at line 90 of file totalequation.h.
|
private |
Definition at line 51 of file totalequation.h.
Referenced by dGetPrivData(), Restart(), and SetValue().
|
private |
Definition at line 54 of file totalequation.h.
Referenced by AssJac(), AssRes(), dGetPrivData(), InitialAssJac(), InitialAssRes(), Output(), Restart(), and SetValue().
|
private |
Definition at line 85 of file totalequation.h.
Referenced by AssJac(), AssRes(), and TotalEquation().
|
private |
Definition at line 80 of file totalequation.h.
Referenced by AssJac(), AssRes(), and TotalEquation().
|
private |
Definition at line 82 of file totalequation.h.
Referenced by AssJac(), AssRes(), and TotalEquation().
|
private |
Definition at line 77 of file totalequation.h.
Referenced by AssJac(), AssRes(), InitialAssJac(), InitialAssRes(), and TotalEquation().
|
private |
Definition at line 83 of file totalequation.h.
Referenced by AssJac(), AssRes(), and TotalEquation().
|
private |
Definition at line 78 of file totalequation.h.
Referenced by AssJac(), AssRes(), InitialAssJac(), InitialAssRes(), and TotalEquation().
|
private |
Definition at line 84 of file totalequation.h.
Referenced by AssJac(), AssRes(), and TotalEquation().
|
private |
Definition at line 79 of file totalequation.h.
Referenced by AssJac(), AssRes(), and TotalEquation().
|
mutableprivate |
Definition at line 89 of file totalequation.h.
|
private |
Definition at line 75 of file totalequation.h.
Referenced by AssJac(), AssRes(), DescribeDof(), DescribeEq(), and TotalEquation().
|
private |
Definition at line 71 of file totalequation.h.
Referenced by AssJac(), AssRes(), DescribeDof(), DescribeEq(), GetDofType(), iGetInitialNumDof(), iGetNumDof(), InitialAssJac(), InitialAssRes(), InitialWorkSpaceDim(), TotalEquation(), TotalReaction::TotalReaction(), and WorkSpaceDim().
|
private |
Definition at line 72 of file totalequation.h.
Referenced by AssJac(), AssRes(), DescribeDof(), DescribeEq(), InitialAssJac(), InitialAssRes(), and TotalEquation().
|
private |
Definition at line 73 of file totalequation.h.
Referenced by AssJac(), AssRes(), DescribeDof(), DescribeEq(), InitialAssJac(), InitialAssRes(), and TotalEquation().
|
private |
Definition at line 74 of file totalequation.h.
Referenced by AssJac(), AssRes(), DescribeDof(), DescribeEq(), and TotalEquation().
|
private |
Definition at line 68 of file totalequation.h.
Referenced by SetValue().
|
private |
Definition at line 69 of file totalequation.h.
Referenced by SetValue().
|
private |
Definition at line 49 of file totalequation.h.
Referenced by AssJac(), AssRes(), dGetPrivData(), GetConnectedNodes(), InitialAssJac(), InitialAssRes(), Output(), Restart(), and SetValue().
|
private |
Definition at line 50 of file totalequation.h.
Referenced by AssJac(), AssRes(), dGetPrivData(), GetConnectedNodes(), InitialAssJac(), InitialAssRes(), Output(), Restart(), and SetValue().
|
private |
Definition at line 52 of file totalequation.h.
Referenced by AssJac(), AssRes(), dGetPrivData(), InitialAssJac(), InitialAssRes(), Output(), Restart(), and SetValue().
|
private |
Definition at line 53 of file totalequation.h.
Referenced by AssJac(), AssRes(), dGetPrivData(), InitialAssJac(), InitialAssRes(), Output(), Restart(), and SetValue().
|
private |
Definition at line 55 of file totalequation.h.
Referenced by Restart(), and SetValue().
|
private |
Definition at line 56 of file totalequation.h.
Referenced by AssRes(), InitialAssRes(), Output(), Restart(), and SetValue().
|
mutableprivate |
Definition at line 91 of file totalequation.h.
Referenced by AfterConvergence(), AssRes(), dGetPrivData(), and InitialAssRes().
|
mutableprivate |
Definition at line 92 of file totalequation.h.
Referenced by AfterConvergence(), and dGetPrivData().
|
private |
Definition at line 67 of file totalequation.h.
Referenced by AssRes(), dGetPrivData(), InitialAssRes(), and SetValue().
|
private |
Definition at line 87 of file totalequation.h.
Referenced by AssRes(), InitialAssRes(), Output(), and SetValue().
|
private |
Definition at line 63 of file totalequation.h.
Referenced by AssRes(), dGetPrivData(), InitialAssRes(), and SetValue().
|
private |
Definition at line 64 of file totalequation.h.
Referenced by SetValue().
|
private |
Definition at line 65 of file totalequation.h.
Referenced by SetValue().