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

#include <strnode.h>

Inheritance diagram for DynamicStructDispNode:
Collaboration diagram for DynamicStructDispNode:

Public Member Functions

 DynamicStructDispNode (unsigned int uL, const DofOwner *pDO, const Vec3 &X0, const Vec3 &V0, const StructNode *pRN, const RigidBodyKinematics *pRBK, doublereal dPosStiff, doublereal dVelStiff, OrientationDescription od, flag fOut)
 
virtual ~DynamicStructDispNode (void)
 
virtual StructDispNode::Type GetStructDispNodeType (void) const
 
virtual void SetAutoStr (const AutomaticStructDispElem *p)
 
const Vec3GetXPP (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
 
virtual integer iGetFirstMomentumIndex (void) const
 
virtual integer iGetFirstRowIndex (void) const
 
virtual void AddInertia (const doublereal &dm) const
 
virtual const Vec3GetBCurr (void) const
 
virtual const Vec3GetBPCurr (void) const
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void BeforePredict (VectorHandler &X, VectorHandler &XP, VectorHandler &XPrev, VectorHandler &XPPrev) const
 
virtual const doublerealdGetDofValue (int iDof, int iOrder=0) const
 
virtual const doublerealdGetDofValuePrev (int iDof, int iOrder=0) const
 
virtual void SetDofValue (const doublereal &dValue, unsigned int iDof, unsigned int iOrder=0)
 
virtual void Update (const VectorHandler &X, const VectorHandler &XP)
 
virtual bool bComputeAccelerations (void) const
 
virtual bool ComputeAccelerations (bool b)
 
virtual void SetOutputFlag (flag f=flag(1))
 
- Public Member Functions inherited from StructDispNode
 StructDispNode (unsigned int uL, const DofOwner *pDO, const Vec3 &X0, const Vec3 &V0, const StructNode *pRN, const RigidBodyKinematics *pRBK, doublereal dPosStiff, doublereal dVelStiff, OrientationDescription od, flag fOut)
 
virtual ~StructDispNode (void)
 
virtual Node::Type GetNodeType (void) const
 
const RigidBodyKinematicspGetRBK (void) const
 
const Vec3GetX (void) const
 
const Mat3x3GetR (void) const
 
const Vec3GetV (void) const
 
const Vec3GetW (void) const
 
const Vec3GetWP (void) const
 
virtual integer iGetFirstPositionIndex (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual DofOrder::Order GetDofType (unsigned int) const
 
virtual const Vec3GetXPrev (void) const
 
virtual const Vec3GetXCurr (void) const
 
virtual const Vec3GetVPrev (void) const
 
virtual const Vec3GetVCurr (void) const
 
virtual const Vec3GetXPPPrev (void) const
 
virtual const Vec3GetXPPCurr (void) const
 
virtual const doublerealdGetPositionStiffness (void) const
 
virtual const doublerealdGetVelocityStiffness (void) const
 
virtual bool bOutputAccelerations (void) const
 
virtual void OutputAccelerations (bool bOut)
 
virtual void OutputPrepare (OutputHandler &OH)
 
virtual void Output (OutputHandler &OH) const
 
virtual void DerivativesUpdate (const VectorHandler &X, const VectorHandler &XP)
 
virtual unsigned int iGetInitialNumDof (void) const
 
virtual void InitialUpdate (const VectorHandler &X)
 
void Update (const VectorHandler &X, InverseDynamics::Order iOrder)
 
virtual void SetInitialValue (VectorHandler &X)
 
virtual void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
- Public Member Functions inherited from Node
 Node (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~Node (void)
 
const NodeGetNode (void) const
 
virtual integer iGetFirstColIndex (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 HintParseHint (DataManager *pDM, const char *s) const
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 
- 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 ToBeOutput
 ToBeOutput (flag fOut=fDefaultOut)
 
virtual ~ToBeOutput (void)
 
virtual void Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const
 
virtual flag fToBeOutput (void) const
 
virtual bool bToBeOutput (void) const
 
- Public Member Functions inherited from RigidBodyKinematics
virtual ~RigidBodyKinematics (void)
 
virtual void Update (void)
 

Protected Attributes

bool bComputeAccels
 
AutomaticStructDispElempAutoStr
 
- Protected Attributes inherited from StructDispNode
Vec3 XPrev
 
Vec3 XCurr
 
Vec3 VPrev
 
Vec3 VCurr
 
Vec3 XPPCurr
 
Vec3 XPPPrev
 
const StructNodepRefNode
 
OrientationDescription od
 
doublereal dPositionStiffness
 
doublereal dVelocityStiffness
 
const RigidBodyKinematicspRefRBK
 
bool bOutputAccels
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 

Additional Inherited Members

- Public Types inherited from StructDispNode
enum  Type { UNKNOWN = -1, DYNAMIC = 0, STATIC, LASTSTRUCTDISPNODETYPE }
 
enum  Output { OUTPUT_ACCELERATIONS = (ToBeOutput::OUTPUT_PRIVATE << 0), OUTPUT_INERTIA = (ToBeOutput::OUTPUT_PRIVATE << 1) }
 
- Public Types inherited from Node
enum  Type {
  UNKNOWN = -1, ABSTRACT = 0, STRUCTURAL, ELECTRIC,
  THERMAL, PARAMETER, HYDRAULIC, LASTNODETYPE
}
 
- 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 }
 

Detailed Description

Definition at line 477 of file strnode.h.

Constructor & Destructor Documentation

DynamicStructDispNode::DynamicStructDispNode ( unsigned int  uL,
const DofOwner pDO,
const Vec3 X0,
const Vec3 V0,
const StructNode pRN,
const RigidBodyKinematics pRBK,
doublereal  dPosStiff,
doublereal  dVelStiff,
OrientationDescription  od,
flag  fOut 
)

Definition at line 1076 of file strnode.cc.

References bComputeAccels, and StructDispNode::bOutputAccels.

1086 :
1087 StructDispNode(uL, pDO, X0, V0, pRN, pRBK, dPosStiff, dVelStiff, ood, fOut),
1088 bComputeAccels((fOut & OUTPUT_ACCELERATIONS) == OUTPUT_ACCELERATIONS),
1089 pAutoStr(0)
1090 {
1092 }
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484
bool bOutputAccels
Definition: strnode.h:122
StructDispNode(unsigned int uL, const DofOwner *pDO, const Vec3 &X0, const Vec3 &V0, const StructNode *pRN, const RigidBodyKinematics *pRBK, doublereal dPosStiff, doublereal dVelStiff, OrientationDescription od, flag fOut)
Definition: strnode.cc:102
DynamicStructDispNode::~DynamicStructDispNode ( void  )
virtual

Definition at line 1095 of file strnode.cc.

References NO_OP.

1096 {
1097  NO_OP;
1098 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

void DynamicStructDispNode::AddInertia ( const doublereal dm) const
virtual

Definition at line 1244 of file strnode.cc.

References AutomaticStructDispElem::AddInertia(), bComputeAccelerations(), and pAutoStr.

Referenced by DynamicMass::AssRes().

1245 {
1246  /* FIXME: do it only if to be output... */
1247  if (bComputeAccelerations()) {
1248  pAutoStr->AddInertia(dm);
1249  }
1250 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
virtual void AddInertia(const doublereal &dm)
Definition: autostr.cc:62
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484

Here is the call graph for this function:

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

Reimplemented from SimulationEntity.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1278 of file strnode.cc.

References ASSERT, bComputeAccelerations(), AutomaticStructDispElem::ComputeAccelerations(), pAutoStr, and StructDispNode::XPPCurr.

1280 {
1281  if (bComputeAccelerations()) {
1282  ASSERT(pAutoStr != 0);
1284  }
1285 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
Vec3 XPPCurr
Definition: strnode.h:95
virtual void ComputeAccelerations(Vec3 &XPP) const
Definition: autostr.cc:51
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

bool DynamicStructDispNode::bComputeAccelerations ( void  ) const
inlinevirtual

Reimplemented from StructDispNode.

Definition at line 588 of file strnode.h.

Referenced by AddInertia(), AfterConvergence(), BeforePredict(), dGetDofValue(), dGetDofValuePrev(), SetDofValue(), and Update().

589 {
590  return bComputeAccels;
591 }
void DynamicStructDispNode::BeforePredict ( VectorHandler X,
VectorHandler XP,
VectorHandler XPrev,
VectorHandler XPPrev 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in DynamicStructNode.

Definition at line 1288 of file strnode.cc.

References bComputeAccelerations(), StructDispNode::BeforePredict(), StructDispNode::XPPCurr, and StructDispNode::XPPPrev.

1292 {
1293  if (bComputeAccelerations()) {
1294  XPPPrev = XPPCurr;
1295  }
1296 
1297  StructDispNode::BeforePredict(X, XP, XPr, XPPr);
1298 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
Vec3 XPPCurr
Definition: strnode.h:95
virtual void BeforePredict(VectorHandler &X, VectorHandler &XP, VectorHandler &XPrev, VectorHandler &XPPrev) const
Definition: strnode.cc:680
Vec3 XPPPrev
Definition: strnode.h:96

Here is the call graph for this function:

bool DynamicStructDispNode::ComputeAccelerations ( bool  b)
virtual

Reimplemented from StructDispNode.

Definition at line 1387 of file strnode.cc.

References bComputeAccels.

Referenced by SetOutputFlag().

1388 {
1389  bComputeAccels = b;
1390  return true;
1391 }
std::ostream & DynamicStructDispNode::DescribeDof ( std::ostream &  out,
const char *  prefix = "",
bool  bInitial = false 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1114 of file strnode.cc.

References StructDispNode::DescribeDof(), and DofOwnerOwner::iGetFirstIndex().

1115 {
1116  integer iIndex = iGetFirstIndex();
1117 
1118  StructDispNode::DescribeDof(out, prefix, bInitial);
1119 
1120  if (bInitial == false) {
1121  out
1122  << prefix << iIndex + 4 << "->" << iIndex + 6 << ": "
1123  "momentum [Bx,By,Bz]" << std::endl;
1124  }
1125 
1126  return out;
1127 }
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: strnode.cc:200
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

void DynamicStructDispNode::DescribeDof ( std::vector< std::string > &  desc,
bool  bInitial = false,
int  i = -1 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1130 of file strnode.cc.

References StructDispNode::DescribeDof(), WithLabel::GetLabel(), MBDYN_EXCEPT_ARGS, sdn_dof, and xyz.

1131 {
1132  if (bInitial || i == -1 || (i >= 0 && i < 3)) {
1133  StructDispNode::DescribeDof(desc, bInitial, i);
1134 
1135  if (bInitial || (i >= 0 && i < 3)) {
1136  return;
1137  }
1138  }
1139 
1140  if (i == -1) {
1141  desc.resize(6);
1142 
1143  } else {
1144  desc.resize(1);
1145  }
1146 
1147  std::ostringstream os;
1148  os << "StructDispNode(" << GetLabel() << ")";
1149 
1150  if (i == -1) {
1151  std::string name = os.str();
1152 
1153  for (i = 3; i < 6; i++) {
1154  os.str(name);
1155  os.seekp(0, std::ios_base::end);
1156  os << ": " << sdn_dof[i/3] << xyz[i%3];
1157  desc[i] = os.str();
1158  }
1159 
1160  } else {
1161  if (i < 3 || i >= 6) {
1163  }
1164 
1165  os << ": " << sdn_dof[i/3] << xyz[i%3];
1166  desc[0] = os.str();
1167  }
1168 }
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
virtual std::ostream & DescribeDof(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: strnode.cc:200
static const char * sdn_dof[]
Definition: strnode.cc:49
static const char xyz[]
Definition: strnode.cc:47
unsigned int GetLabel(void) const
Definition: withlab.cc:62

Here is the call graph for this function:

std::ostream & DynamicStructDispNode::DescribeEq ( std::ostream &  out,
const char *  prefix = "",
bool  bInitial = false 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1171 of file strnode.cc.

References StructDispNode::DescribeEq(), and DofOwnerOwner::iGetFirstIndex().

1172 {
1173  if (bInitial == false) {
1174  integer iIndex = iGetFirstIndex();
1175 
1176  out
1177  << prefix << iIndex + 1 << "->" << iIndex + 3 << ": "
1178  "momentum definition [Bx,By,Bz]" << std::endl;
1179  }
1180 
1181  StructDispNode::DescribeEq(out, prefix, bInitial);
1182 
1183  return out;
1184 }
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127
long int integer
Definition: colamd.c:51
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: strnode.cc:259

Here is the call graph for this function:

void DynamicStructDispNode::DescribeEq ( std::vector< std::string > &  desc,
bool  bInitial = false,
int  i = -1 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1187 of file strnode.cc.

References StructDispNode::DescribeEq(), WithLabel::GetLabel(), MBDYN_EXCEPT_ARGS, sdn_eq, and xyz.

1188 {
1189  if (bInitial || i == -1 || (i >= 3 && i < 6)) {
1190  int new_i = i;
1191  if (!bInitial && i != -1) {
1192  new_i = i - 3;
1193  }
1194  StructDispNode::DescribeEq(desc, bInitial, new_i);
1195 
1196  if (bInitial || (i >= 3 && i < 6)) {
1197  return;
1198  }
1199  }
1200 
1201  if (i == -1) {
1202  desc.resize(6);
1203  for (int j = 0; j < 3; j++) {
1204  desc[3 + j] = desc[j];
1205  }
1206 
1207  } else {
1208  desc.resize(1);
1209  }
1210 
1211  std::ostringstream os;
1212  os << "StructDispNode(" << GetLabel() << ")";
1213 
1214  if (i == -1) {
1215  std::string name(os.str());
1216 
1217  for (i = 0; i < 3; i++) {
1218  os.str(name);
1219  os.seekp(0, std::ios_base::end);
1220  os << ": " << sdn_eq[i/3] << xyz[i%3];
1221  desc[i] = os.str();
1222  }
1223 
1224  } else {
1225  if (i < 0 || i >= 3) {
1227  }
1228 
1229  os << ": " << sdn_eq[i/3] << xyz[i%3];
1230  desc[0] = os.str();
1231  }
1232 }
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
static const char * sdn_eq[]
Definition: strnode.cc:53
static const char xyz[]
Definition: strnode.cc:47
unsigned int GetLabel(void) const
Definition: withlab.cc:62
virtual std::ostream & DescribeEq(std::ostream &out, const char *prefix="", bool bInitial=false) const
Definition: strnode.cc:259

Here is the call graph for this function:

const doublereal & DynamicStructDispNode::dGetDofValue ( int  iDof,
int  iOrder = 0 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in DynamicStructNode.

Definition at line 1303 of file strnode.cc.

References ASSERT, bComputeAccelerations(), AutomaticStructDispElem::ComputeAccelerations(), StructDispNode::dGetDofValue(), MBDYN_EXCEPT_ARGS, pAutoStr, and StructDispNode::XPPCurr.

1304 {
1305  ASSERT(iDof >= 1 && iDof <= 3);
1306  ASSERT(iOrder >= 0 && iOrder <= 2);
1307 
1308  if (iOrder == 2) {
1309  /* FIXME: should not happen */
1311  if (!bComputeAccelerations()) {
1312  silent_cerr("DynamicStructDispNode::dGetDofValue("
1313  << iDof << "," << iOrder << "): "
1314  "accelerations are not computed while they should"
1315  << std::endl);
1317  }
1318 
1319 #if 1
1320  /* FIXME: might need to compute them in order to be
1321  * as up to date as possible; however, elements that contribute
1322  * to inertia should assemble first...
1323  */
1325 #endif
1326 
1327  return XPPCurr(iDof);
1328  }
1329 
1330  return StructDispNode::dGetDofValue(iDof, iOrder);
1331 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
Vec3 XPPCurr
Definition: strnode.h:95
virtual void ComputeAccelerations(Vec3 &XPP) const
Definition: autostr.cc:51
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484
#define ASSERT(expression)
Definition: colamd.c:977
virtual const doublereal & dGetDofValue(int iDof, int iOrder=0) const
Definition: strnode.cc:372

Here is the call graph for this function:

const doublereal & DynamicStructDispNode::dGetDofValuePrev ( int  iDof,
int  iOrder = 0 
) const
virtual

Reimplemented from StructDispNode.

Reimplemented in DynamicStructNode.

Definition at line 1336 of file strnode.cc.

References ASSERT, bComputeAccelerations(), StructDispNode::dGetDofValuePrev(), MBDYN_EXCEPT_ARGS, and StructDispNode::XPPPrev.

1337 {
1338  ASSERT(iDof >= 1 && iDof <= 3);
1339  ASSERT(iOrder == 0 || iOrder == 1);
1340 
1341  if (iOrder == 2) {
1342  /* FIXME: should not happen */
1344  if (!bComputeAccelerations()) {
1345  silent_cerr("DynamicStructDispNode::dGetDofValuePrev("
1346  << iDof << "," << iOrder << "): "
1347  "accelerations are not computed while they should"
1348  << std::endl);
1350  }
1351 
1352  return XPPPrev(iDof);
1353  }
1354 
1355  return StructDispNode::dGetDofValuePrev(iDof, iOrder);
1356 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
Vec3 XPPPrev
Definition: strnode.h:96
#define ASSERT(expression)
Definition: colamd.c:977
virtual const doublereal & dGetDofValuePrev(int iDof, int iOrder=0) const
Definition: strnode.cc:397

Here is the call graph for this function:

const Vec3 & DynamicStructDispNode::GetBCurr ( void  ) const
virtual

Definition at line 1253 of file strnode.cc.

References AutomaticStructDispElem::GetBCurr(), and pAutoStr.

1254 {
1255  return pAutoStr->GetBCurr();
1256 }
virtual const Vec3 & GetBCurr(void) const
Definition: autostr.h:54
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484

Here is the call graph for this function:

const Vec3 & DynamicStructDispNode::GetBPCurr ( void  ) const
virtual

Definition at line 1259 of file strnode.cc.

References AutomaticStructDispElem::GetBPCurr(), and pAutoStr.

1260 {
1261  return pAutoStr->GetBPCurr();
1262 }
virtual const Vec3 & GetBPCurr(void) const
Definition: autostr.h:56
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484

Here is the call graph for this function:

StructDispNode::Type DynamicStructDispNode::GetStructDispNodeType ( void  ) const
virtual

Implements StructDispNode.

Definition at line 1101 of file strnode.cc.

References StructDispNode::DYNAMIC.

Referenced by ReadBody(), and DataManager::ReadElems().

1102 {
1103  return StructDispNode::DYNAMIC;
1104 }
const Vec3 & DynamicStructDispNode::GetXPP ( void  ) const
virtual

Reimplemented from StructDispNode.

Definition at line 1108 of file strnode.cc.

References StructDispNode::GetXPPCurr().

1109 {
1110  return GetXPPCurr();
1111 }
virtual const Vec3 & GetXPPCurr(void) const
Definition: strnode.h:334

Here is the call graph for this function:

integer DynamicStructDispNode::iGetFirstMomentumIndex ( void  ) const
inlinevirtual
integer DynamicStructDispNode::iGetFirstRowIndex ( void  ) const
virtual

Reimplemented from Node.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1237 of file strnode.cc.

References iGetFirstMomentumIndex().

1238 {
1239  return iGetFirstMomentumIndex();
1240 }
virtual integer iGetFirstMomentumIndex(void) const
Definition: strnode.h:602

Here is the call graph for this function:

unsigned int DynamicStructDispNode::iGetNumDof ( void  ) const
inlinevirtual

Implements SimulationEntity.

Reimplemented in DynamicStructNode.

Definition at line 595 of file strnode.h.

596 {
597  return 6;
598 }
void DynamicStructDispNode::SetAutoStr ( const AutomaticStructDispElem p)
inlinevirtual

Definition at line 582 of file strnode.h.

Referenced by AutomaticStructDispElem::AutomaticStructDispElem(), and AutomaticStructElem::AutomaticStructElem().

583 {
584  pAutoStr = const_cast<AutomaticStructDispElem *>(p);
585 }
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484
void DynamicStructDispNode::SetDofValue ( const doublereal dValue,
unsigned int  iDof,
unsigned int  iOrder = 0 
)
virtual

Reimplemented from StructDispNode.

Reimplemented in DynamicStructNode.

Definition at line 1361 of file strnode.cc.

References ASSERT, bComputeAccelerations(), MBDYN_EXCEPT_ARGS, StructDispNode::SetDofValue(), and StructDispNode::XPPCurr.

1364 {
1365  ASSERT(iDof >= 1 && iDof <= 3);
1366  ASSERT(iOrder == 0 || iOrder == 1);
1367 
1368  if (iOrder == 2) {
1369  /* FIXME: should not happen */
1371  if (!bComputeAccelerations()) {
1372  silent_cerr("DynamicStructNode::SetDofValue("
1373  << dValue << "," << iDof << "," << iOrder << "): "
1374  "accelerations are not computed while they should"
1375  << std::endl);
1377  }
1378 
1379  XPPCurr(iDof) = dValue;
1380 
1381  } else {
1382  StructDispNode::SetDofValue(iDof, iOrder);
1383  }
1384 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
virtual void SetDofValue(const doublereal &dValue, unsigned int iDof, unsigned int iOrder=0)
Definition: strnode.cc:422
Vec3 XPPCurr
Definition: strnode.h:95
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

void DynamicStructDispNode::SetOutputFlag ( flag  f = flag(1))
virtual

Reimplemented from ToBeOutput.

Definition at line 1394 of file strnode.cc.

References ComputeAccelerations(), StructDispNode::OUTPUT_ACCELERATIONS, and ToBeOutput::SetOutputFlag().

1395 {
1397  // ignore result
1398  ComputeAccelerations(true);
1399  }
1401 }
virtual bool ComputeAccelerations(bool b)
Definition: strnode.cc:1387
virtual void SetOutputFlag(flag f=flag(1))
Definition: output.cc:896

Here is the call graph for this function:

void DynamicStructDispNode::Update ( const VectorHandler X,
const VectorHandler XP 
)
virtual

Reimplemented from StructDispNode.

Reimplemented in ModalNode, and DynamicStructNode.

Definition at line 1265 of file strnode.cc.

References ASSERT, bComputeAccelerations(), AutomaticStructDispElem::ComputeAccelerations(), pAutoStr, RigidBodyKinematics::Update(), and StructDispNode::XPPCurr.

1266 {
1267  StructDispNode::Update(X, XP);
1268  if (bComputeAccelerations()) {
1269  ASSERT(pAutoStr != 0);
1270 
1271  // FIXME: based on values set during previous
1272  // of AutomaticStructural::AssRes()
1274  }
1275 }
virtual bool bComputeAccelerations(void) const
Definition: strnode.h:588
Vec3 XPPCurr
Definition: strnode.h:95
virtual void ComputeAccelerations(Vec3 &XPP) const
Definition: autostr.cc:51
virtual void Update(void)
Definition: rbk.cc:45
AutomaticStructDispElem * pAutoStr
Definition: strnode.h:484
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

Member Data Documentation

bool DynamicStructDispNode::bComputeAccels
mutableprotected

Definition at line 483 of file strnode.h.

Referenced by ComputeAccelerations(), and DynamicStructDispNode().


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