89 const Vec3& dTmp1,
const Vec3& dTmp2,
93 const bool _calcInitdTheta =
true,
106 virtual std::ostream&
Restart(std::ostream& out)
const;
115 virtual std::ostream&
DescribeDof(std::ostream& out,
116 const char *prefix =
"",
117 bool bInitial =
false)
const;
119 virtual void DescribeDof(std::vector<std::string>& desc,
120 bool bInitial =
false,
int i = -1)
const;
122 virtual std::ostream&
DescribeEq(std::ostream& out,
123 const char *prefix =
"",
124 bool bInitial =
false)
const;
126 virtual void DescribeEq(std::vector<std::string>& desc,
127 bool bInitial =
false,
int i = -1)
const;
194 connectedNodes.resize(2);
195 connectedNodes[0] =
pNode1;
196 connectedNodes[1] =
pNode2;
243 virtual std::ostream&
Restart(std::ostream& out)
const;
254 virtual std::ostream&
DescribeDof(std::ostream& out,
255 const char *prefix =
"",
256 bool bInitial =
false)
const;
258 virtual void DescribeDof(std::vector<std::string>& desc,
259 bool bInitial =
false,
int i = -1)
const;
261 virtual std::ostream&
DescribeEq(std::ostream& out,
262 const char *prefix =
"",
263 bool bInitial =
false)
const;
265 virtual void DescribeEq(std::vector<std::string>& desc,
266 bool bInitial =
false,
int i = -1)
const;
311 *piNumRows = 3+3+3+3+2+2;
312 *piNumCols = 3+3+3+3+2+2;
332 connectedNodes.resize(2);
333 connectedNodes[0] =
pNode1;
334 connectedNodes[1] =
pNode2;
392 const Vec3& dTmp1,
const Vec3& dTmp2,
411 virtual std::ostream&
Restart(std::ostream& out)
const;
421 virtual std::ostream&
DescribeDof(std::ostream& out,
422 const char *prefix =
"",
423 bool bInitial =
false)
const;
425 virtual void DescribeDof(std::vector<std::string>& desc,
426 bool bInitial =
false,
int i = -1)
const;
428 virtual std::ostream&
DescribeEq(std::ostream& out,
429 const char *prefix =
"",
430 bool bInitial =
false)
const;
432 virtual void DescribeEq(std::vector<std::string>& desc,
433 bool bInitial =
false,
int i = -1)
const;
507 connectedNodes.resize(2);
508 connectedNodes[0] =
pNode1;
509 connectedNodes[1] =
pNode2;
540 flag fOut,
const bool _calcInitdTheta,
554 virtual std::ostream&
Restart(std::ostream& out)
const;
560 virtual std::ostream&
DescribeDof(std::ostream& out,
561 const char *prefix =
"",
562 bool bInitial =
false)
const;
564 virtual void DescribeDof(std::vector<std::string>& desc,
565 bool bInitial =
false,
int i = -1)
const;
567 virtual std::ostream&
DescribeEq(std::ostream& out,
568 const char *prefix =
"",
569 bool bInitial =
false)
const;
571 virtual void DescribeEq(std::vector<std::string>& desc,
572 bool bInitial =
false,
int i = -1)
const;
636 connectedNodes.resize(1);
637 connectedNodes[0] =
pNode;
virtual unsigned int iGetNumDof(void) const
virtual Joint::Type GetJointType(void) const
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
const StructNode * pNode2
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
static void sh(int signum)
virtual unsigned int iGetInitialNumDof(void) const
OrientationDescription od
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
virtual Joint::Type GetJointType(void) const
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
void OutputPrepare(OutputHandler &OH)
virtual unsigned int iGetInitialNumDof(void) const
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
static const unsigned int NumDof
void Output(OutputHandler &OH) const
PlaneRotationJoint(unsigned int uL, const DofOwner *pDO, const StructNode *pN1, const StructNode *pN2, const Mat3x3 &R1hTmp, const Mat3x3 &R2hTmp, const OrientationDescription &od, flag fOut)
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual unsigned int iGetInitialNumDof(void) const
virtual std::ostream & Restart(std::ostream &out) const
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
const StructNode * pNode2
BasicShapeCoefficient *const Sh_c
virtual Joint::Type GetJointType(void) const
~PlaneRotationJoint(void)
virtual unsigned int iGetNumDof(void) const
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
void Output(OutputHandler &OH) const
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
DofOrder::Order GetEqType(unsigned int i) const
virtual unsigned int iGetNumPrivData(void) const
std::vector< Hint * > Hints
void OutputPrepare(OutputHandler &OH)
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
AxialRotationJoint(unsigned int uL, const DofOwner *pDO, const StructNode *pN1, const StructNode *pN2, const Vec3 &dTmp1, const Vec3 &dTmp2, const Mat3x3 &R1hTmp, const Mat3x3 &R2hTmp, const DriveCaller *pDC, const OrientationDescription &od, flag fOut, const doublereal rr=0., const doublereal pref=0., BasicShapeCoefficient *const sh=0, BasicFriction *const f=0)
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
virtual Joint::Type GetJointType(void) const
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
DofOrder::Order GetDofType(unsigned int i) const
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
void OutputPrepare(OutputHandler &OH)
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual unsigned int iGetNumPrivData(void) const
virtual unsigned int iGetNumPrivData(void) const
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
static const unsigned int NumDof
virtual void Output(OutputHandler &OH) const
virtual std::ostream & Restart(std::ostream &out) const
virtual unsigned int iGetNumPrivData(void) const
virtual doublereal dGetPrivData(unsigned int i) const
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
DofOrder::Order GetEqType(unsigned int i) const
virtual DofOrder::Order GetDofType(unsigned int i) const =0
DofOrder::Order GetDofType(unsigned int i) const
~AxialRotationJoint(void)
#define ASSERT(expression)
PlanePinJoint(unsigned int uL, const DofOwner *pDO, const StructNode *pN, const Vec3 &X0Tmp, const Mat3x3 &R0Tmp, const Vec3 &dTmp, const Mat3x3 &RhTmp, flag fOut, const bool _calcInitdTheta, const doublereal initDTheta)
DofOrder::Order GetDofType(unsigned int i) const
OrientationDescription od
virtual doublereal dGetPrivData(unsigned int i) const
virtual void ReadInitialState(MBDynParser &HP)
virtual unsigned int iGetNumDof(void) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
BasicShapeCoefficient *const Sh_c
virtual unsigned int iGetNumDof(void) const =0
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
OrientationDescription od
virtual void AfterConvergence(const VectorHandler &X, const VectorHandler &XP)
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual std::ostream & Restart(std::ostream &out) const
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
virtual unsigned int iGetNumDof(void) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
virtual doublereal dGetPrivData(unsigned int i) const
void Output(OutputHandler &OH) const
static const unsigned int NumSelfDof
virtual std::ostream & Restart(std::ostream &out) const
virtual unsigned int iGetInitialNumDof(void) const
const StructNode * pNode1
PlaneHingeJoint(unsigned int uL, const DofOwner *pDO, const StructNode *pN1, const StructNode *pN2, const Vec3 &dTmp1, const Vec3 &dTmp2, const Mat3x3 &R1hTmp, const Mat3x3 &R2hTmp, const OrientationDescription &od, flag fOut, const bool _calcInitdTheta=true, const doublereal initDTheta=0., const doublereal rr=0., const doublereal pref=0., BasicShapeCoefficient *const sh=0, BasicFriction *const f=0)
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
const StructNode * pNode2
virtual void ReadInitialState(MBDynParser &HP)
DofOrder::Order GetEqType(unsigned int i) const
const StructNode * pNode1
virtual doublereal dGetPrivData(unsigned int i) const
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
const StructNode * pNode1
DofOrder::Order GetEqType(unsigned int i) const
virtual DofOrder::Order GetDofType(unsigned int i) const
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
static const unsigned int NumSelfDof
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)