MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
ViscousBody Class Reference

#include <vb.h>

Inheritance diagram for ViscousBody:
Collaboration diagram for ViscousBody:

Public Member Functions

 ViscousBody (unsigned int uL, const DofOwner *pDO, const ConstitutiveLaw6D *pCL, const StructNode *pN, const Vec3 &tilde_f, const Mat3x3 &tilde_Rh, const OrientationDescription &od, flag fOut)
 
virtual ~ViscousBody (void)
 
virtual Joint::Type GetJointType (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void Output (OutputHandler &OH) const
 
void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual unsigned int iGetNumDof (void) const
 
virtual DofOrder::Order GetDofType (unsigned int) const
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual unsigned int iGetInitialNumDof (void) const
 
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
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual bool bInverseDynamics (void) const
 
SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
virtual SubVectorHandlerInitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr)
 
virtual ConstLawType::Type GetConstLawType (void) const
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerInitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
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
 
void SetInverseDynamicsFlags (unsigned uIDF)
 
unsigned GetInverseDynamicsFlags (void) const
 
bool bIsErgonomy (void) const
 
bool bIsRightHandSide (void) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual int GetNumConnectedNodes (void) 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 void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
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, const VectorHandler &XPP)
 
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 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 Joint
 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
 
- 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 DofOwnerpGetDofOwner (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)
 
- Public Member Functions inherited from ConstitutiveLawOwner< T, Tder >
 ConstitutiveLawOwner (const ConstitutiveLaw< T, Tder > *pCL)
 
virtual ~ConstitutiveLawOwner (void)
 
ConstitutiveLaw< T, Tder > * pGetConstLaw (void) const
 
void Update (const T &Eps, const T &EpsPrime=mb_zero< T >())
 
void AfterConvergence (const T &Eps, const T &EpsPrime=mb_zero< T >())
 
const T & GetF (void) const
 
const Tder & GetFDE (void) const
 
const Tder & GetFDEPrime (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 std::ostream & OutputAppend (std::ostream &out) const
 

Protected Member Functions

void AssMats (FullSubMatrixHandler &WMA, FullSubMatrixHandler &WMB, doublereal dCoef)
 
void AssVec (SubVectorHandler &WorkVec)
 
- Protected Member Functions inherited from Joint
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
 

Protected Attributes

const StructNodepNode
 
Vec3 tilde_f
 
Mat3x3 tilde_Rh
 
OrientationDescription od
 
Vec6 tilde_kPrime
 
bool bFirstRes
 
Vec3 f
 
Mat3x3 Rh
 
Vec6 F
 
Mat6x6 FDEPrime
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from GravityOwner
GravitypGravity
 
- Protected Attributes inherited from ConstitutiveLawOwner< T, Tder >
ConstitutiveLaw< T, Tder > * pConstLaw
 

Additional Inherited Members

- Public Types inherited from Elem
enum  Type {
  UNKNOWN = -1, AIRPROPERTIES = 0, INDUCEDVELOCITY, AUTOMATICSTRUCTURAL,
  GRAVITY, BODY, JOINT, JOINT_REGULARIZATION,
  BEAM, PLATE, FORCE, INERTIA,
  ELECTRICBULK, ELECTRIC, THERMAL, HYDRAULIC,
  BULK, LOADABLE, DRIVEN, EXTERNAL,
  AEROMODAL, AERODYNAMIC, GENEL, SOCKETSTREAM_OUTPUT,
  RTAI_OUTPUT = SOCKETSTREAM_OUTPUT, LASTELEMTYPE
}
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 
- Public Types inherited from Joint
enum  Type {
  UNKNOWN = -1, DISTANCE = 0, DISTANCEWITHOFFSET, CLAMP,
  SPHERICALHINGE, PIN, UNIVERSALHINGE, UNIVERSALROTATION,
  UNIVERSALPIN, PLANEHINGE, PLANEROTATION, PLANEPIN,
  AXIALROTATION, PLANEDISP, PLANEDISPPIN, INPLANE,
  INPLANECONTACT, J_INLINE, ROD, RODBEZIER,
  DEFORMABLEHINGE, DEFORMABLEDISPJOINT, DEFORMABLEJOINT, DEFORMABLEAXIALJOINT,
  VISCOUSBODY, LINEARVELOCITY, ANGULARVELOCITY, LINEARACCELERATION,
  ANGULARACCELERATION, PRISMATIC, DRIVEHINGE, DRIVEDISP,
  DRIVEDISPPIN, IMPOSEDORIENTATION, IMPOSEDDISP, IMPOSEDDISPPIN,
  IMPOSEDKINEMATICS, BEAMSLIDER, BRAKE, GIMBAL,
  POINT_SURFACE_CONTACT, TOTALJOINT, TOTALPINJOINT, TOTALEQUATION,
  TOTALREACTION, MODAL, SCREWJOINT, LASTJOINTTYPE
}
 

Detailed Description

Definition at line 43 of file vb.h.

Constructor & Destructor Documentation

ViscousBody::ViscousBody ( unsigned int  uL,
const DofOwner pDO,
const ConstitutiveLaw6D pCL,
const StructNode pN,
const Vec3 tilde_f,
const Mat3x3 tilde_Rh,
const OrientationDescription od,
flag  fOut 
)

Definition at line 43 of file vb.cc.

References ASSERT, FDEPrime, ConstitutiveLawOwner< T, Tder >::GetFDEPrime(), StructDispNode::GetNodeType(), StructNode::GetRRef(), MultRMRt(), pNode, Rh, Node::STRUCTURAL, and tilde_Rh.

51 : Elem(uL, fOut),
52 Joint(uL, pDO, fOut),
54 pNode(pN),
55 tilde_f(tilde_f),
56 tilde_Rh(tilde_Rh),
57 od(od),
59 bFirstRes(false)
60 {
61  ASSERT(pNode != NULL);
63 
64  Rh = pNode->GetRRef()*tilde_Rh;
65 
66  /*
67  * Chiede la matrice tangente di riferimento
68  * e la porta nel sistema globale
69  */
71 }
Mat3x3 MultRMRt(const Mat3x3 &m, const Mat3x3 &R)
Definition: matvec3.cc:1162
bool bFirstRes
Definition: vb.h:54
virtual const Mat3x3 & GetRRef(void) const
Definition: strnode.h:1006
virtual Node::Type GetNodeType(void) const
Definition: strnode.cc:145
ConstitutiveLawOwner< Vec6, Mat6x6 > ConstitutiveLaw6DOwner
Definition: constltp.h:380
Vec3 tilde_f
Definition: vb.h:47
Joint(unsigned int uL, const DofOwner *pD, flag fOut)
Definition: joint.cc:83
Vec6 tilde_kPrime
Definition: vb.h:52
Mat3x3 tilde_Rh
Definition: vb.h:48
Mat6x6 FDEPrime
Definition: vb.h:60
OrientationDescription od
Definition: vb.h:50
const Vec6 Zero6(0., 0., 0., 0., 0., 0.)
Mat3x3 Rh
Definition: vb.h:57
#define ASSERT(expression)
Definition: colamd.c:977
const StructNode * pNode
Definition: vb.h:46
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
const Tder & GetFDEPrime(void) const
Definition: constltp.h:303

Here is the call graph for this function:

ViscousBody::~ViscousBody ( void  )
virtual

Definition at line 75 of file vb.cc.

References NO_OP.

76 {
77  NO_OP;
78 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

void ViscousBody::AfterConvergence ( const VectorHandler X,
const VectorHandler XP 
)
virtual

Reimplemented from SimulationEntity.

Definition at line 472 of file vb.cc.

References ConstitutiveLawOwner< T, Tder >::AfterConvergence(), tilde_kPrime, and Zero6.

474 {
476 }
Vec6 tilde_kPrime
Definition: vb.h:52
const Vec6 Zero6(0., 0., 0., 0., 0., 0.)
void AfterConvergence(const T &Eps, const T &EpsPrime=mb_zero< T >())
Definition: constltp.h:288

Here is the call graph for this function:

void ViscousBody::AfterPredict ( VectorHandler X,
VectorHandler XP 
)
virtual

Reimplemented from SimulationEntity.

Definition at line 448 of file vb.cc.

References bFirstRes, Vec3::Cross(), f, FDEPrime, ConstitutiveLawOwner< T, Tder >::GetFDEPrime(), StructNode::GetRRef(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), MultRMRt(), Mat3x3::MulTV(), pNode, Rh, tilde_f, tilde_kPrime, tilde_Rh, ConstitutiveLawOwner< T, Tder >::Update(), and Zero6.

450 {
451  /* Calcola le deformazioni, aggiorna il legame costitutivo
452  * e crea la FDE */
453 
454  /* Recupera i dati */
455  Rh = pNode->GetRRef()*tilde_Rh;
456  f = pNode->GetRRef()*tilde_f;
457  Vec3 tilde_v = Rh.MulTV(pNode->GetVCurr() + pNode->GetWCurr().Cross(f));
458  Vec3 tilde_omega = Rh.MulTV(pNode->GetWCurr());
459 
460  tilde_kPrime = Vec6(tilde_v, tilde_omega);
461 
463 
464  /* FIXME: we need to be able to regenerate FDE
465  * if the constitutive law throws ChangedEquationStructure */
467 
468  bFirstRes = true;
469 }
Mat3x3 MultRMRt(const Mat3x3 &m, const Mat3x3 &R)
Definition: matvec3.cc:1162
Vec3 Cross(const Vec3 &v) const
Definition: matvec3.h:218
bool bFirstRes
Definition: vb.h:54
virtual const Mat3x3 & GetRRef(void) const
Definition: strnode.h:1006
Definition: matvec3.h:98
Vec3 tilde_f
Definition: vb.h:47
Vec3 MulTV(const Vec3 &v) const
Definition: matvec3.cc:482
Vec6 tilde_kPrime
Definition: vb.h:52
Definition: matvec6.h:37
Mat3x3 tilde_Rh
Definition: vb.h:48
Mat6x6 FDEPrime
Definition: vb.h:60
const Vec6 Zero6(0., 0., 0., 0., 0., 0.)
Mat3x3 Rh
Definition: vb.h:57
virtual const Vec3 & GetWCurr(void) const
Definition: strnode.h:1030
virtual const Vec3 & GetVCurr(void) const
Definition: strnode.h:322
const StructNode * pNode
Definition: vb.h:46
const Tder & GetFDEPrime(void) const
Definition: constltp.h:303
void Update(const T &Eps, const T &EpsPrime=mb_zero< T >())
Definition: constltp.h:283
Vec3 f
Definition: vb.h:56

Here is the call graph for this function:

VariableSubMatrixHandler & ViscousBody::AssJac ( VariableSubMatrixHandler WorkMat,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 248 of file vb.cc.

References AssMats(), StructDispNode::iGetFirstMomentumIndex(), StructDispNode::iGetFirstPositionIndex(), pNode, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), and WorkSpaceDim().

252 {
253  FullSubMatrixHandler& WM = WorkMat.SetFull();
254 
255  /* Dimensiona e resetta la matrice di lavoro */
256  integer iNumRows = 0;
257  integer iNumCols = 0;
258  WorkSpaceDim(&iNumRows, &iNumCols);
259  WM.ResizeReset(iNumRows, iNumCols);
260 
261  /* Recupera gli indici */
262  integer iNodeFirstPosIndex = pNode->iGetFirstPositionIndex();
263  integer iNodeFirstMomIndex = pNode->iGetFirstMomentumIndex();
264 
265  /* Setta gli indici della matrice */
266  for (int iCnt = 1; iCnt <= 6; iCnt++) {
267  WM.PutRowIndex(iCnt, iNodeFirstMomIndex + iCnt);
268  WM.PutColIndex(iCnt, iNodeFirstPosIndex + iCnt);
269  }
270 
271  AssMats(WM, WM, dCoef);
272 
273  return WorkMat;
274 }
void PutColIndex(integer iSubCol, integer iCol)
Definition: submat.h:325
void AssMats(FullSubMatrixHandler &WMA, FullSubMatrixHandler &WMB, doublereal dCoef)
Definition: vb.cc:398
FullSubMatrixHandler & SetFull(void)
Definition: submat.h:1168
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: vb.h:106
virtual integer iGetFirstMomentumIndex(void) const =0
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
virtual void ResizeReset(integer, integer)
Definition: submat.cc:182
void PutRowIndex(integer iSubRow, integer iRow)
Definition: submat.h:311
const StructNode * pNode
Definition: vb.h:46
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

void ViscousBody::AssMats ( FullSubMatrixHandler WMA,
FullSubMatrixHandler WMB,
doublereal  dCoef 
)
protected

Definition at line 398 of file vb.cc.

References FullSubMatrixHandler::Add(), Vec3::Cross(), f, F, FDEPrime, Mat6x6::GetMat11(), Mat6x6::GetMat12(), Mat6x6::GetMat21(), Mat6x6::GetMat22(), Vec6::GetVec1(), Vec6::GetVec2(), StructNode::GetWCurr(), MatCross, pNode, and FullSubMatrixHandler::Sub().

Referenced by AssJac(), AssMats(), and InitialAssJac().

400 {
401  // common
402  WMA.Sub(1, 4, Mat3x3(MatCross, F.GetVec1()*dCoef));
403  WMA.Sub(4, 4, Mat3x3(MatCross, F.GetVec2()*dCoef));
404 
405  // viscous
406  const Mat3x3& F_dPrime = FDEPrime.GetMat11();
407  const Mat3x3& F_thetaPrime = FDEPrime.GetMat12();
408  const Mat3x3& M_dPrime = FDEPrime.GetMat21();
409  const Mat3x3& M_thetaPrime = FDEPrime.GetMat22();
410 
411  WMB.Add(1, 1, F_dPrime);
412  Mat3x3 MTmp2(M_dPrime + f.Cross(F_dPrime));
413  WMB.Add(4, 1, MTmp2);
414  Mat3x3 MTmp(F_thetaPrime - F_dPrime*Mat3x3(MatCross, f));
415  WMB.Add(1, 4, MTmp);
416  WMB.Add(4, 4, M_thetaPrime - M_dPrime*Mat3x3(MatCross, f) + f.Cross(MTmp));
417 
418  MTmp = Mat3x3(MatCross, f.Cross(pNode->GetWCurr()*dCoef));
419  WMA.Add(1, 4, F_dPrime*MTmp);
420  WMA.Add(4, 4, MTmp2*MTmp);
421 }
Vec3 Cross(const Vec3 &v) const
Definition: matvec3.h:218
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
const Vec3 & GetVec2(void) const
Definition: matvec6.h:76
const MatCross_Manip MatCross
Definition: matvec3.cc:639
void Add(integer iRow, integer iCol, const Vec3 &v)
Definition: submat.cc:209
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Vec6 F
Definition: vb.h:59
const Vec3 & GetVec1(void) const
Definition: matvec6.h:72
Mat6x6 FDEPrime
Definition: vb.h:60
virtual const Vec3 & GetWCurr(void) const
Definition: strnode.h:1030
void Sub(integer iRow, integer iCol, const Vec3 &v)
Definition: submat.cc:215
const StructNode * pNode
Definition: vb.h:46
Vec3 f
Definition: vb.h:56

Here is the call graph for this function:

void ViscousBody::AssMats ( VariableSubMatrixHandler WorkMatA,
VariableSubMatrixHandler WorkMatB,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Reimplemented from Elem.

Definition at line 278 of file vb.cc.

References AssMats(), StructDispNode::iGetFirstMomentumIndex(), StructDispNode::iGetFirstPositionIndex(), pNode, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), and WorkSpaceDim().

282 {
283  FullSubMatrixHandler& WMA = WorkMatA.SetFull();
284  FullSubMatrixHandler& WMB = WorkMatB.SetFull();
285 
286  /* Dimensiona e resetta la matrice di lavoro */
287  integer iNumRows = 0;
288  integer iNumCols = 0;
289  WorkSpaceDim(&iNumRows, &iNumCols);
290  WMA.ResizeReset(iNumRows, iNumCols);
291  WMB.ResizeReset(iNumRows, iNumCols);
292 
293  /* Recupera gli indici */
294  integer iNodeFirstPosIndex = pNode->iGetFirstPositionIndex();
295  integer iNodeFirstMomIndex = pNode->iGetFirstMomentumIndex();
296 
297  /* Setta gli indici della matrice */
298  for (int iCnt = 1; iCnt <= 6; iCnt++) {
299  WMA.PutRowIndex(iCnt, iNodeFirstMomIndex + iCnt);
300  WMA.PutColIndex(iCnt, iNodeFirstPosIndex + iCnt);
301 
302  WMB.PutRowIndex(iCnt, iNodeFirstMomIndex + iCnt);
303  WMB.PutColIndex(iCnt, iNodeFirstPosIndex + iCnt);
304  }
305 
306  AssMats(WMA, WMB, 1.);
307 }
void PutColIndex(integer iSubCol, integer iCol)
Definition: submat.h:325
void AssMats(FullSubMatrixHandler &WMA, FullSubMatrixHandler &WMB, doublereal dCoef)
Definition: vb.cc:398
FullSubMatrixHandler & SetFull(void)
Definition: submat.h:1168
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: vb.h:106
virtual integer iGetFirstMomentumIndex(void) const =0
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
virtual void ResizeReset(integer, integer)
Definition: submat.cc:182
void PutRowIndex(integer iSubRow, integer iRow)
Definition: submat.h:311
const StructNode * pNode
Definition: vb.h:46
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

SubVectorHandler & ViscousBody::AssRes ( SubVectorHandler WorkVec,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 311 of file vb.cc.

References AssVec(), StructDispNode::iGetFirstMomentumIndex(), pNode, SubVectorHandler::PutRowIndex(), VectorHandler::ResizeReset(), and WorkSpaceDim().

315 {
316  /* Dimensiona e resetta la matrice di lavoro */
317  integer iNumRows = 0;
318  integer iNumCols = 0;
319  WorkSpaceDim(&iNumRows, &iNumCols);
320  WorkVec.ResizeReset(iNumRows);
321 
322  /* Recupera gli indici */
323  integer iNodeFirstMomIndex = pNode->iGetFirstMomentumIndex();
324 
325  /* Setta gli indici della matrice */
326  for (int iCnt = 1; iCnt <= 6; iCnt++) {
327  WorkVec.PutRowIndex(iCnt, iNodeFirstMomIndex + iCnt);
328  }
329 
330  AssVec(WorkVec);
331 
332  return WorkVec;
333 }
virtual void ResizeReset(integer)
Definition: vh.cc:55
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: vb.h:106
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
virtual integer iGetFirstMomentumIndex(void) const =0
const StructNode * pNode
Definition: vb.h:46
void AssVec(SubVectorHandler &WorkVec)
Definition: vb.cc:424
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

SubVectorHandler & ViscousBody::AssRes ( SubVectorHandler WorkVec,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr,
const VectorHandler XPrimePrimeCurr,
InverseDynamics::Order  iOrder = InverseDynamics::INVERSE_DYNAMICS 
)
virtual

Reimplemented from Elem.

Definition at line 344 of file vb.cc.

References ASSERT, AssVec(), bFirstRes, StructDispNode::iGetFirstPositionIndex(), InverseDynamics::INVERSE_DYNAMICS, pNode, SubVectorHandler::PutRowIndex(), VectorHandler::ResizeReset(), and WorkSpaceDim().

349 {
351 
352  bFirstRes = false;
353 
354  /* Dimensiona e resetta la matrice di lavoro */
355  integer iNumRows = 0;
356  integer iNumCols = 0;
357  WorkSpaceDim(&iNumRows, &iNumCols);
358  WorkVec.ResizeReset(iNumRows);
359 
360  /* Recupera gli indici */
361  integer iNodeFirstMomIndex = pNode->iGetFirstPositionIndex();
362 
363  /* Setta gli indici della matrice */
364  for (int iCnt = 1; iCnt <= 6; iCnt++) {
365  WorkVec.PutRowIndex(iCnt, iNodeFirstMomIndex + iCnt);
366  }
367 
368  AssVec(WorkVec);
369 
370  return WorkVec;
371 }
bool bFirstRes
Definition: vb.h:54
virtual void ResizeReset(integer)
Definition: vh.cc:55
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: vb.h:106
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
#define ASSERT(expression)
Definition: colamd.c:977
const StructNode * pNode
Definition: vb.h:46
void AssVec(SubVectorHandler &WorkVec)
Definition: vb.cc:424
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

void ViscousBody::AssVec ( SubVectorHandler WorkVec)
protected

Definition at line 424 of file vb.cc.

References bFirstRes, Vec3::Cross(), f, F, ConstitutiveLawOwner< T, Tder >::GetF(), StructNode::GetRCurr(), StructDispNode::GetVCurr(), Vec6::GetVec1(), Vec6::GetVec2(), StructNode::GetWCurr(), MultRV(), Mat3x3::MulTV(), pNode, Rh, VectorHandler::Sub(), tilde_f, tilde_kPrime, tilde_Rh, ConstitutiveLawOwner< T, Tder >::Update(), and Zero6.

Referenced by AssRes(), and InitialAssRes().

425 {
426  if (bFirstRes) {
427  bFirstRes = false;
428 
429  } else {
430  Rh = pNode->GetRCurr()*tilde_Rh;
431  f = pNode->GetRCurr()*tilde_f;
432 
433  Vec3 tilde_v = Rh.MulTV(pNode->GetVCurr() + pNode->GetWCurr().Cross(f));
434  Vec3 tilde_omega = Rh.MulTV(pNode->GetWCurr());
435 
436  tilde_kPrime = Vec6(tilde_v, tilde_omega);
437 
439  }
440 
442 
443  WorkVec.Sub(1, F.GetVec1());
444  WorkVec.Sub(4, f.Cross(F.GetVec1()) + F.GetVec2());
445 }
Vec3 Cross(const Vec3 &v) const
Definition: matvec3.h:218
bool bFirstRes
Definition: vb.h:54
Vec3 MultRV(const Vec3 &v, const Mat3x3 &R)
Definition: matvec3.cc:1144
Definition: matvec3.h:98
const Vec3 & GetVec2(void) const
Definition: matvec6.h:76
virtual const Mat3x3 & GetRCurr(void) const
Definition: strnode.h:1012
Vec3 tilde_f
Definition: vb.h:47
virtual void Sub(integer iRow, const Vec3 &v)
Definition: vh.cc:78
Vec3 MulTV(const Vec3 &v) const
Definition: matvec3.cc:482
Vec6 tilde_kPrime
Definition: vb.h:52
Vec6 F
Definition: vb.h:59
Definition: matvec6.h:37
Mat3x3 tilde_Rh
Definition: vb.h:48
const Vec3 & GetVec1(void) const
Definition: matvec6.h:72
const Vec6 Zero6(0., 0., 0., 0., 0., 0.)
Mat3x3 Rh
Definition: vb.h:57
virtual const Vec3 & GetWCurr(void) const
Definition: strnode.h:1030
const T & GetF(void) const
Definition: constltp.h:293
virtual const Vec3 & GetVCurr(void) const
Definition: strnode.h:322
const StructNode * pNode
Definition: vb.h:46
void Update(const T &Eps, const T &EpsPrime=mb_zero< T >())
Definition: constltp.h:283
Vec3 f
Definition: vb.h:56

Here is the call graph for this function:

bool ViscousBody::bInverseDynamics ( void  ) const
virtual

Reimplemented from Elem.

Definition at line 337 of file vb.cc.

338 {
339  return true;
340 }
doublereal ViscousBody::dGetPrivData ( unsigned int  i) const
virtual

Reimplemented from ConstitutiveLawOwner< T, Tder >.

Definition at line 194 of file vb.cc.

References ASSERT, Vec3::Cross(), ConstitutiveLawOwner< T, Tder >::dGetPrivData(), f, ConstitutiveLawOwner< T, Tder >::GetF(), StructNode::GetRCurr(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), iGetNumPrivData(), pNode, tilde_f, tilde_Rh, Mat3x3::Transpose(), grad::Transpose(), and RotManip::VecRot().

195 {
196  ASSERT(i > 0);
197 
198  ASSERT(i <= iGetNumPrivData());
199 
200  switch (i) {
201  case 1:
202  case 2:
203  case 3:
204  {
205  Mat3x3 RhT((pNode->GetRCurr()*tilde_Rh).Transpose());
206 
207  Vec3 tilde_Theta(RotManip::VecRot(RhT));
208 
209  return tilde_Theta(i);
210  }
211 
212  case 4:
213  case 5:
214  case 6:
215  {
217  Mat3x3 RhT(pNode->GetRCurr().Transpose());
218  Vec3 tilde_dPrime(RhT*(pNode->GetVCurr() - f.Cross(pNode->GetWCurr())));
219 
220  return tilde_dPrime(i - 3);
221  }
222 
223  case 7:
224  case 8:
225  case 9:
226  {
227  Mat3x3 RhT((pNode->GetRCurr()*tilde_Rh).Transpose());
228  Vec3 tilde_Omega = RhT*(pNode->GetWCurr());
229 
230  return tilde_Omega(i - 6);
231  }
232 
233  case 10:
234  case 11:
235  case 12:
236  case 13:
237  case 14:
238  case 15:
239  return GetF()(i - 9);
240 
241  default:
243  }
244 }
Vec3 Cross(const Vec3 &v) const
Definition: matvec3.h:218
MatrixExpression< TransposedMatrix< MatrixDirectExpr< Matrix< T, N_rows, N_cols > > >, N_cols, N_rows > Transpose(const Matrix< T, N_rows, N_cols > &A)
Definition: matvec.h:2206
Definition: matvec3.h:98
virtual const Mat3x3 & GetRCurr(void) const
Definition: strnode.h:1012
Vec3 tilde_f
Definition: vb.h:47
Vec3 VecRot(const Mat3x3 &Phi)
Definition: Rot.cc:136
Mat3x3 tilde_Rh
Definition: vb.h:48
virtual const Vec3 & GetWCurr(void) const
Definition: strnode.h:1030
virtual unsigned int iGetNumPrivData(void) const
Definition: vb.cc:127
#define ASSERT(expression)
Definition: colamd.c:977
virtual doublereal dGetPrivData(unsigned int i) const
Definition: constltp.h:369
Mat3x3 Transpose(void) const
Definition: matvec3.h:816
const T & GetF(void) const
Definition: constltp.h:293
virtual const Vec3 & GetVCurr(void) const
Definition: strnode.h:322
const StructNode * pNode
Definition: vb.h:46
Vec3 f
Definition: vb.h:56

Here is the call graph for this function:

virtual void ViscousBody::GetConnectedNodes ( std::vector< const Node * > &  connectedNodes) const
inlinevirtual

Reimplemented from Elem.

Definition at line 124 of file vb.h.

References pNode.

124  {
125  connectedNodes.resize(1);
126  connectedNodes[0] = pNode;
127  };
const StructNode * pNode
Definition: vb.h:46
virtual ConstLawType::Type ViscousBody::GetConstLawType ( void  ) const
inlinevirtual

Definition at line 167 of file vb.h.

References ConstLawType::VISCOUS.

167  {
168  return ConstLawType::VISCOUS;
169  };
virtual DofOrder::Order ViscousBody::GetDofType ( unsigned int  ) const
inlinevirtual

Reimplemented from ConstitutiveLawOwner< T, Tder >.

Definition at line 102 of file vb.h.

References DofOrder::UNKNOWN.

102  {
103  return DofOrder::UNKNOWN;
104  };
virtual Joint::Type ViscousBody::GetJointType ( void  ) const
inlinevirtual

Implements Joint.

Definition at line 82 of file vb.h.

References Joint::VISCOUSBODY.

82  {
83  return Joint::VISCOUSBODY;
84  };
virtual unsigned int ViscousBody::iGetInitialNumDof ( void  ) const
inlinevirtual

Implements SubjectToInitialAssembly.

Definition at line 113 of file vb.h.

113  {
114  return 0;
115  };
virtual unsigned int ViscousBody::iGetNumDof ( void  ) const
inlinevirtual

Reimplemented from ConstitutiveLawOwner< T, Tder >.

Definition at line 98 of file vb.h.

98  {
99  return 0;
100  };
unsigned int ViscousBody::iGetNumPrivData ( void  ) const
virtual

Reimplemented from ConstitutiveLawOwner< T, Tder >.

Definition at line 127 of file vb.cc.

References ConstitutiveLawOwner< T, Tder >::iGetNumPrivData().

Referenced by dGetPrivData().

128 {
130 }
virtual unsigned int iGetNumPrivData(void) const
Definition: constltp.h:352

Here is the call graph for this function:

unsigned int ViscousBody::iGetPrivDataIdx ( const char *  s) const
virtual

Reimplemented from ConstitutiveLawOwner< T, Tder >.

Definition at line 133 of file vb.cc.

References ASSERT, ConstitutiveLawOwner< T, Tder >::iGetPrivDataIdx(), and STRLENOF.

134 {
135  ASSERT(s != NULL);
136 
137  unsigned idx = 0;
138 
139  switch (s[0]) {
140  case 'r':
141  break;
142 
143  case 'v':
144  idx += 3;
145  break;
146 
147  case 'w':
148  idx += 6;
149  break;
150 
151  case 'F':
152  idx += 9;
153  break;
154 
155  case 'M':
156  idx += 12;
157  break;
158 
159  default:
160  {
161  size_t l = STRLENOF("constitutiveLaw.");
162  if (strncmp(s, "constitutiveLaw.", l) == 0) {
164  if (idx > 0) {
165  return 15 + idx;
166  }
167  }
168  return 0;
169  }
170  }
171 
172  switch (s[1]) {
173  case 'x':
174  idx += 1;
175  break;
176  case 'y':
177  idx += 2;
178  break;
179  case 'z':
180  idx += 3;
181  break;
182  default:
183  return 0;
184  }
185 
186  if (s[2] != '\0') {
187  return 0;
188  }
189 
190  return idx;
191 }
virtual unsigned int iGetPrivDataIdx(const char *s) const
Definition: constltp.h:361
#define ASSERT(expression)
Definition: colamd.c:977
#define STRLENOF(s)
Definition: mbdyn.h:166

Here is the call graph for this function:

VariableSubMatrixHandler & ViscousBody::InitialAssJac ( VariableSubMatrixHandler WorkMat,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Definition at line 480 of file vb.cc.

References AssMats(), StructDispNode::iGetFirstPositionIndex(), InitialWorkSpaceDim(), pNode, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), and VariableSubMatrixHandler::SetFull().

482 {
483  FullSubMatrixHandler& WM = WorkMat.SetFull();
484 
485  /* Dimensiona e resetta la matrice di lavoro */
486  integer iNumRows = 0;
487  integer iNumCols = 0;
488  InitialWorkSpaceDim(&iNumRows, &iNumCols);
489  WM.ResizeReset(iNumRows, iNumCols);
490 
491  /* Recupera gli indici */
492  integer iNodeFirstPosIndex = pNode->iGetFirstPositionIndex();
493 
494  /* Setta gli indici della matrice */
495  for (int iCnt = 1; iCnt <= 6; iCnt++) {
496  WM.PutRowIndex(iCnt, iNodeFirstPosIndex + iCnt);
497  WM.PutColIndex(iCnt, iNodeFirstPosIndex + iCnt);
498  }
499 
500  // FIXME: wrong
501  AssMats(WM, WM, 1.);
502 
503  return WorkMat;
504 }
void PutColIndex(integer iSubCol, integer iCol)
Definition: submat.h:325
void AssMats(FullSubMatrixHandler &WMA, FullSubMatrixHandler &WMB, doublereal dCoef)
Definition: vb.cc:398
FullSubMatrixHandler & SetFull(void)
Definition: submat.h:1168
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
virtual void ResizeReset(integer, integer)
Definition: submat.cc:182
void PutRowIndex(integer iSubRow, integer iRow)
Definition: submat.h:311
const StructNode * pNode
Definition: vb.h:46
long int integer
Definition: colamd.c:51
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: vb.h:179

Here is the call graph for this function:

SubVectorHandler & ViscousBody::InitialAssRes ( SubVectorHandler WorkVec,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Definition at line 375 of file vb.cc.

References AssVec(), StructDispNode::iGetFirstPositionIndex(), InitialWorkSpaceDim(), pNode, SubVectorHandler::PutRowIndex(), and VectorHandler::ResizeReset().

377 {
378  /* Dimensiona e resetta la matrice di lavoro */
379  integer iNumRows = 0;
380  integer iNumCols = 0;
381  InitialWorkSpaceDim(&iNumRows, &iNumCols);
382  WorkVec.ResizeReset(iNumRows);
383 
384  /* Recupera gli indici */
385  integer iNodeFirstPosIndex = pNode->iGetFirstPositionIndex();
386 
387  /* Setta gli indici della matrice */
388  for (int iCnt = 1; iCnt <= 6; iCnt++) {
389  WorkVec.PutRowIndex(iCnt, iNodeFirstPosIndex + iCnt);
390  }
391 
392  AssVec(WorkVec);
393 
394  return WorkVec;
395 }
virtual void ResizeReset(integer)
Definition: vh.cc:55
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
const StructNode * pNode
Definition: vb.h:46
void AssVec(SubVectorHandler &WorkVec)
Definition: vb.cc:424
long int integer
Definition: colamd.c:51
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: vb.h:179

Here is the call graph for this function:

virtual void ViscousBody::InitialWorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
inlinevirtual

Implements SubjectToInitialAssembly.

Definition at line 179 of file vb.h.

Referenced by InitialAssJac(), and InitialAssRes().

179  {
180  *piNumRows = 6;
181  *piNumCols = 6;
182  };
void ViscousBody::Output ( OutputHandler OH) const
virtual

Reimplemented from ToBeOutput.

Definition at line 95 of file vb.cc.

References ToBeOutput::bToBeOutput(), F, ConstitutiveLawOwner< T, Tder >::GetF(), WithLabel::GetLabel(), StructNode::GetRCurr(), OutputHandler::Joints(), Joint::Output(), pNode, Rh, tilde_kPrime, and tilde_Rh.

96 {
97  if (bToBeOutput()) {
99  Vec3 F(GetF().GetVec1());
100  Vec3 M(GetF().GetVec2());
101 
102  Joint::Output(OH.Joints(), "ViscousBody", GetLabel(),
103  F, M, Rh*F, Rh*M);
104 
105  OH.Joints() << " " << tilde_kPrime << " " << std::endl;
106  }
107 }
virtual bool bToBeOutput(void) const
Definition: output.cc:890
Definition: matvec3.h:98
virtual const Mat3x3 & GetRCurr(void) const
Definition: strnode.h:1012
Vec6 tilde_kPrime
Definition: vb.h:52
Vec6 F
Definition: vb.h:59
Mat3x3 tilde_Rh
Definition: vb.h:48
Mat3x3 Rh
Definition: vb.h:57
std::ostream & Joints(void) const
Definition: output.h:443
const T & GetF(void) const
Definition: constltp.h:293
const StructNode * pNode
Definition: vb.h:46
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
Definition: joint.cc:138
unsigned int GetLabel(void) const
Definition: withlab.cc:62

Here is the call graph for this function:

Hint * ViscousBody::ParseHint ( DataManager pDM,
const char *  s 
) const
virtual

Reimplemented from SimulationEntity.

Definition at line 121 of file vb.cc.

References SimulationEntity::ParseHint().

122 {
123  return ConstitutiveLaw6DOwner::ParseHint(pDM, s);
124 }
virtual Hint * ParseHint(DataManager *pDM, const char *s) const
Definition: simentity.cc:76

Here is the call graph for this function:

std::ostream & ViscousBody::Restart ( std::ostream &  out) const
virtual

Implements Elem.

Definition at line 83 of file vb.cc.

References WithLabel::GetLabel(), Mat3x3::GetVec(), ConstitutiveLawOwner< T, Tder >::pGetConstLaw(), pNode, Joint::Restart(), tilde_f, tilde_Rh, Write(), and Vec3::Write().

84 {
85  Joint::Restart(out) << ", viscous body, "
86  << pNode->GetLabel() << ", position, reference, node, ",
87  tilde_f.Write(out, ", ") << ", orientation, reference, node, 1, ",
88  (tilde_Rh.GetVec(1)).Write(out, ", ")
89  << ", 2, ", (tilde_Rh.GetVec(2)).Write(out, ", ") << ", ";
90  return pGetConstLaw()->Restart(out) << ';' << std::endl;
91 }
std::ostream & Write(std::ostream &out, const char *sFill=" ") const
Definition: matvec3.cc:738
ConstitutiveLaw< T, Tder > * pGetConstLaw(void) const
Definition: constltp.h:278
std::ostream & Write(std::ostream &out, const FullMatrixHandler &m, const char *s, const char *s2)
Definition: fullmh.cc:376
Vec3 tilde_f
Definition: vb.h:47
Vec3 GetVec(unsigned short int i) const
Definition: matvec3.h:893
Mat3x3 tilde_Rh
Definition: vb.h:48
virtual std::ostream & Restart(std::ostream &out) const
Definition: joint.h:195
const StructNode * pNode
Definition: vb.h:46
unsigned int GetLabel(void) const
Definition: withlab.cc:62

Here is the call graph for this function:

void ViscousBody::SetValue ( DataManager pDM,
VectorHandler X,
VectorHandler XP,
SimulationEntity::Hints ph = 0 
)
virtual

Reimplemented from Joint.

Definition at line 110 of file vb.cc.

References SimulationEntity::SetValue().

113 {
114  if (ph) {
115  /* pass to constitutive law */
116  ConstitutiveLaw6DOwner::SetValue(pDM, X, XP, ph);
117  }
118 }
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
Definition: simentity.cc:63

Here is the call graph for this function:

virtual void ViscousBody::WorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
inlinevirtual

Implements Elem.

Definition at line 106 of file vb.h.

Referenced by AssJac(), AssMats(), and AssRes().

106  {
107  *piNumRows = 6;
108  *piNumCols = 6;
109  };

Member Data Documentation

bool ViscousBody::bFirstRes
protected

Definition at line 54 of file vb.h.

Referenced by AfterPredict(), AssRes(), and AssVec().

Vec3 ViscousBody::f
protected

Definition at line 56 of file vb.h.

Referenced by AfterPredict(), AssMats(), AssVec(), and dGetPrivData().

Vec6 ViscousBody::F
protected

Definition at line 59 of file vb.h.

Referenced by AssMats(), AssVec(), and Output().

Mat6x6 ViscousBody::FDEPrime
protected

Definition at line 60 of file vb.h.

Referenced by AfterPredict(), AssMats(), and ViscousBody().

OrientationDescription ViscousBody::od
protected

Definition at line 50 of file vb.h.

const StructNode* ViscousBody::pNode
protected
Mat3x3 ViscousBody::Rh
protected

Definition at line 57 of file vb.h.

Referenced by AfterPredict(), AssVec(), Output(), and ViscousBody().

Vec3 ViscousBody::tilde_f
mutableprotected

Definition at line 47 of file vb.h.

Referenced by AfterPredict(), AssVec(), dGetPrivData(), and Restart().

Vec6 ViscousBody::tilde_kPrime
protected

Definition at line 52 of file vb.h.

Referenced by AfterConvergence(), AfterPredict(), AssVec(), and Output().

Mat3x3 ViscousBody::tilde_Rh
mutableprotected

Definition at line 48 of file vb.h.

Referenced by AfterPredict(), AssVec(), dGetPrivData(), Output(), Restart(), and ViscousBody().


The documentation for this class was generated from the following files: