55 ASSERT(
Dir.
Norm() > std::numeric_limits<doublereal>::epsilon());
77 return out <<
"Not implemented yet!" << std::endl;
96 silent_cerr(
"invalid dof number" << std::endl);
124 WorkMat.
PutItem(1, iIndex+1, iNodeColIndex+1, d);
125 WorkMat.
PutItem(2, iNodeRowIndex+1, iIndex+2, d);
127 WorkMat.
PutItem(3, iIndex+1, iNodeColIndex+2, d);
128 WorkMat.
PutItem(4, iNodeRowIndex+2, iIndex+2, d);
130 WorkMat.
PutItem(5, iIndex+1, iNodeColIndex+3, d);
131 WorkMat.
PutItem(6, iNodeRowIndex+3, iIndex+2, d);
133 WorkMat.
PutItem(7, iIndex+1, iIndex+1, -dCoef);
134 WorkMat.
PutItem(8, iIndex+2, iIndex+1, 1.);
153 dF = XCurr(iIndex+2);
171 <<
" " <<
dGet() << std::endl;
184 X(iIndex + 1) =
Dir*V;
235 if (strcmp(s,
"F") == 0) {
239 if (strcmp(s,
"a") == 0) {
272 Joint(uL, pDO, fOut),
279 ASSERT(
Dir.
Norm() > std::numeric_limits<doublereal>::epsilon());
301 return out <<
"Not implemented yet!" << std::endl;
320 silent_cerr(
"invalid dof number" << std::endl);
350 WorkMat.
PutItem(1, iIndex+1, iNodeColIndex+4, d);
351 WorkMat.
PutItem(2, iNodeRowIndex+4, iIndex+2, d);
353 WorkMat.
PutItem(3, iIndex+1, iNodeColIndex+5, d);
354 WorkMat.
PutItem(4, iNodeRowIndex+5, iIndex+2, d);
356 WorkMat.
PutItem(5, iIndex+1, iNodeColIndex+6, d);
357 WorkMat.
PutItem(6, iNodeRowIndex+6, iIndex+2, d);
359 WorkMat.
PutItem(7, iIndex+1, iIndex+1, -dCoef);
360 WorkMat.
PutItem(8, iIndex+2, iIndex+1, 1.);
379 dM = XCurr(iIndex+2);
387 WorkVec.
PutItem(4, iIndex+1, dQ-TmpDir.
Dot(W));
398 <<
" " <<
dGet() << std::endl;
412 X(iIndex + 1) = TmpDir*W;
462 if (strcmp(s,
"M") == 0) {
466 if (strcmp(s,
"wp") == 0) {
DofOrder::Order GetDofType(unsigned int i) const
virtual unsigned int iGetNumPrivData(void) const
virtual std::ostream & Restart(std::ostream &out) const
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
const Vec3 Zero3(0., 0., 0.)
virtual void SetValue(DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph=0)
virtual const Mat3x3 & GetRRef(void) const
virtual unsigned int iGetNumPrivData(void) const
#define MBDYN_EXCEPT_ARGS
virtual unsigned int iGetPrivDataIdx(const char *s) const
virtual const Mat3x3 & GetRCurr(void) const
doublereal Norm(void) const
virtual doublereal dGetPrivData(unsigned int i) const
doublereal Dot(const Vec3 &v) const
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
doublereal dGet(void) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
std::vector< Hint * > Hints
virtual Joint::Type GetJointType(void) const
virtual void PutItem(integer iSubRow, integer iRow, const doublereal &dCoef)
void Resize(integer iNewRow, integer iNewCol)
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
virtual Joint::Type GetJointType(void) const
virtual unsigned int iGetNumDof(void) const
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
void PutItem(integer iSubIt, integer iRow, integer iCol, const doublereal &dCoef)
~LinearAccelerationJoint(void)
virtual doublereal dGetPrivData(unsigned int i) const
virtual unsigned int iGetNumDof(void) const
DofOrder::Order GetDofType(unsigned int i) const
const doublereal & dGet(unsigned short int iRow) const
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
virtual integer iGetFirstRowIndex(void) const
virtual unsigned int iGetInitialNumDof(void) const
~AngularAccelerationJoint(void)
virtual const Vec3 & GetWCurr(void) const
virtual unsigned int iGetInitialNumDof(void) const
virtual void SetValue(DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph=0)
std::ostream & Joints(void) const
#define ASSERT(expression)
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
void Output(OutputHandler &OH) const
virtual std::ostream & Restart(std::ostream &out) const
void Output(OutputHandler &OH) const
virtual const Vec3 & GetVCurr(void) const
virtual unsigned int iGetPrivDataIdx(const char *s) const
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
SparseSubMatrixHandler & SetSparse(void)
AngularAccelerationJoint(unsigned int uL, const DofOwner *pDO, const StructNode *pN, const Vec3 &TmpDir, const DriveCaller *pDC, flag fOut)
virtual integer iGetFirstIndex(void) const
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
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
LinearAccelerationJoint(unsigned int uL, const DofOwner *pDO, const StructNode *pN, const Vec3 &TmpDir, const DriveCaller *pDC, flag fOut)
SubVectorHandler & InitialAssRes(SubVectorHandler &WorkVec, const VectorHandler &XCurr)
unsigned int GetLabel(void) const
VariableSubMatrixHandler & InitialAssJac(VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
virtual void Resize(integer iNewSize)=0
virtual integer iGetFirstColIndex(void) const