52 pStrNode(pS), pAbsNode(pA),
 
   53 Dir(TmpDir), dOmega(dO), dTau(dT), dCsi(dC), dKappa(dK)
 
   71                 "reference, node, ", 
Dir.
Write(out, 
", ") << 
", " 
   88         DEBUGCOUT(
"Entering Accelerometer::AssJac()" << std::endl);
 
  131         WM.
PutItem(1, iFirstIndex + 1, iFirstIndex + 1, dCoef);
 
  132         WM.
PutItem(2, iAbstractIndex + 1, iFirstIndex + 1,
 
  134         WM.
PutItem(3, iFirstIndex + 2, iFirstIndex + 2, 1.);
 
  135         WM.
PutItem(4, iAbstractIndex + 1, iFirstIndex + 2, -dCoef);
 
  136         WM.
PutItem(5, iFirstIndex + 2, iFirstIndex + 3,
 
  137                 dCoef*dOmega*dOmega/
dTau);
 
  138         WM.
PutItem(6, iFirstIndex + 3, iFirstIndex + 3,
 
  139                 1. + dCoef*(2.*
dCsi*dOmega + 1./
dTau));
 
  140         WM.
PutItem(7, iAbstractIndex + 1, iFirstIndex + 3,
 
  141         dCoef*dOmega*(dOmega + 2.*
dCsi/
dTau));
 
  142         WM.
PutItem(8, iFirstIndex + 3, iAbstractIndex + 1, -dCoef);
 
  143         WM.
PutItem(9, iAbstractIndex + 1, iAbstractIndex + 1, 1.);
 
  147         for (
int iCnt = 1; iCnt <= 3; iCnt++) {
 
  148                 WM.
PutItem(9 + iCnt, iFirstIndex + 1,
 
  149                         iFirstPositionIndex + iCnt,
 
  150                         - TmpDir.
dGet(iCnt));
 
  154         TmpDir = -TmpDir.
Cross(XP);
 
  155         for (
int iCnt = 1; iCnt <= 3; iCnt++) {
 
  156                 WM.
PutItem(12 + iCnt, iFirstIndex + 1,
 
  157                         iFirstPositionIndex + 3 + iCnt,
 
  158                         dCoef*TmpDir.dGet(iCnt));
 
  171         DEBUGCOUT(
"Entering Accelerometer::AssRes()" << std::endl);
 
  207         doublereal zp = XPrimeCurr(iAbstractIndex + 1);
 
  268 pStrNode(pS), pAbsNode(pA),
 
  290                 "reference, node, ", 
Dir.
Write(out, 
", ") << 
", " 
  291                 "reference, node, ", 
f.
Write(out, 
", ") << 
';' 
  303         DEBUGCOUT(
"Entering TranslAccel::AssJac()" << std::endl);
 
  314         WM.
PutItem(1, iAbstractIndex, iAbstractIndex, dCoef);
 
  315         WM.
PutItem(2, iAbstractIndex, iFirstIndex, -1.);
 
  316         WM.
PutItem(3, iFirstIndex, iFirstIndex, dCoef);
 
  321         WM.
PutItem(4, iFirstIndex, iFirstColIndex + 1, -tmpd.
dGet(1));
 
  322         WM.
PutItem(5, iFirstIndex, iFirstColIndex + 2, -tmpd.
dGet(2));
 
  323         WM.
PutItem(6, iFirstIndex, iFirstColIndex + 3, -tmpd.
dGet(3));
 
  326         WM.
PutItem(7, iFirstIndex, iFirstColIndex + 4, tmp.
dGet(1));
 
  327         WM.
PutItem(8, iFirstIndex, iFirstColIndex + 5, tmp.
dGet(2));
 
  328         WM.
PutItem(9, iFirstIndex, iFirstColIndex + 6, tmp.
dGet(3));
 
  340         DEBUGCOUT(
"Entering TranslAccel::AssRes()" << std::endl);
 
  416 pStrNode(pS), pAbsNode(pA),
 
  438                 "reference, node, ", 
Dir.
Write(out, 
", ") << 
';' 
  450         DEBUGCOUT(
"Entering RotAccel::AssJac()" << std::endl);
 
  461         WM.
PutItem(1, iAbstractIndex, iAbstractIndex, dCoef);
 
  462         WM.
PutItem(2, iAbstractIndex, iFirstIndex, -1.);
 
  463         WM.
PutItem(3, iFirstIndex, iFirstIndex, dCoef);
 
  466         WM.
PutItem(4, iFirstIndex, iFirstColIndex+4, tmp.
dGet(1));
 
  467         WM.
PutItem(5, iFirstIndex, iFirstColIndex+5, tmp.
dGet(2));
 
  468         WM.
PutItem(6, iFirstIndex, iFirstColIndex+6, tmp.
dGet(3));
 
  480         DEBUGCOUT(
"Entering RotAccel::AssRes()" << std::endl);
 
virtual unsigned int iGetNumDof(void) const 
const ScalarDifferentialNode * pAbsNode
virtual unsigned int iGetNumDof(void) const 
Vec3 Cross(const Vec3 &v) const 
std::ostream & Write(std::ostream &out, const char *sFill=" ") const 
virtual const Mat3x3 & GetRRef(void) const 
virtual void ResizeReset(integer)
virtual const Mat3x3 & GetRCurr(void) const 
virtual Node::Type GetNodeType(void) const 
doublereal Dot(const Vec3 &v) const 
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const 
const StructNode * pStrNode
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual void SetInitialValue(VectorHandler &)
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &, SimulationEntity::Hints *ph=0)
virtual void SetInitialValue(VectorHandler &)
void ResizeReset(integer iNewRow, integer iNewCol)
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &, SimulationEntity::Hints *ph=0)
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
std::vector< Hint * > Hints
const StructNode * pStrNode
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
void PutItem(integer iSubIt, integer iRow, integer iCol, const doublereal &dCoef)
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &, SimulationEntity::Hints *ph=0)
virtual void SetInitialValue(VectorHandler &)
virtual DofOrder::Order GetDofType(unsigned int i) const 
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
const doublereal & dGet(unsigned short int iRow) const 
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const 
virtual integer iGetFirstPositionIndex(void) const 
virtual const Vec3 & GetWCurr(void) const 
DotTraits< VectorExprLhs, VectorExprRhs, N_rows, N_rows >::ExpressionType Dot(const VectorExpression< VectorExprLhs, N_rows > &u, const VectorExpression< VectorExprRhs, N_rows > &v)
TranslAccel(unsigned int uL, const DofOwner *pD, const StructNode *pS, const ScalarDifferentialNode *pA, const Vec3 &TmpDir, const Vec3 &Tmpf, flag fOut)
#define ASSERT(expression)
virtual DofOrder::Order GetDofType(unsigned int i) const 
const ScalarDifferentialNode * pAbsNode
virtual void PutCoef(integer iRow, const doublereal &dCoef)=0
virtual std::ostream & Restart(std::ostream &out) const 
RotAccel(unsigned int uL, const DofOwner *pD, const StructNode *pS, const ScalarDifferentialNode *pA, const Vec3 &TmpDir, flag fOut)
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const 
virtual std::ostream & Restart(std::ostream &out) const 
virtual const Vec3 & GetVCurr(void) const 
static const doublereal a
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
const StructNode * pStrNode
const ScalarDifferentialNode * pAbsNode
SparseSubMatrixHandler & SetSparse(void)
virtual integer iGetFirstIndex(void) const 
virtual Node::Type GetNodeType(void) const 
virtual std::ostream & Restart(std::ostream &out) const 
unsigned int GetLabel(void) const 
Accelerometer(unsigned int uL, const DofOwner *pD, const StructNode *pS, const ScalarDifferentialNode *pA, const Vec3 &TmpDir, doublereal dO, doublereal dT, doublereal dC, doublereal dK, flag fOut)
virtual std::ostream & Restart(std::ostream &out) const 
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
virtual unsigned int iGetNumDof(void) const 
virtual void Resize(integer iNewSize)=0
virtual const doublereal & dGetX(void) const 
virtual DofOrder::Order GetDofType(unsigned int i) const 
virtual integer iGetFirstColIndex(void) const