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

#include <bulk.h>

Inheritance diagram for BulkSpringSupport:
Collaboration diagram for BulkSpringSupport:

Public Member Functions

 BulkSpringSupport (unsigned int uLabel, const DriveCaller *pDC, const ScalarDof &sd, flag fOutput)
 
virtual ~BulkSpringSupport (void)
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &, const VectorHandler &)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal, const VectorHandler &, const VectorHandler &)
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
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 DofOrder::Order GetDofType (unsigned int) const
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual bool bInverseDynamics (void) 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 SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
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 SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual void AfterConvergence (const VectorHandler &X, const 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
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
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
 
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 Bulk
 Bulk (unsigned int uLabel, flag fOutput)
 
virtual ~Bulk (void)
 
virtual Elem::Type GetElemType (void) const
 
- Public Member Functions inherited from DriveOwner
 DriveOwner (const DriveCaller *pDC=0)
 
 DriveOwner (const DriveOwner &drive)
 
virtual ~DriveOwner (void)
 
void Set (const DriveCaller *pDC)
 
DriveCallerpGetDriveCaller (void) const
 
doublereal dGet (const doublereal &dVar) const
 
doublereal dGet (void) const
 
bool bIsDifferentiable (void) const
 
doublereal dGetP (const doublereal &dVar) const
 
doublereal dGetP (void) const
 

Protected Attributes

ScalarDof SD
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from DriveOwner
DriveCallerpDriveCaller
 

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 }
 

Detailed Description

Definition at line 80 of file bulk.h.

Constructor & Destructor Documentation

BulkSpringSupport::BulkSpringSupport ( unsigned int  uLabel,
const DriveCaller pDC,
const ScalarDof sd,
flag  fOutput 
)
inline

Definition at line 86 of file bulk.h.

References NO_OP.

89  DriveOwner(pDC), SD(sd) {
90  NO_OP;
91  };
flag fOutput
Definition: output.h:658
#define NO_OP
Definition: myassert.h:74
unsigned int uLabel
Definition: withlab.h:44
ScalarDof SD
Definition: bulk.h:83
Bulk(unsigned int uLabel, flag fOutput)
Definition: bulk.h:61
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
DriveOwner(const DriveCaller *pDC=0)
Definition: drive.cc:627
virtual BulkSpringSupport::~BulkSpringSupport ( void  )
inlinevirtual

Definition at line 93 of file bulk.h.

References NO_OP.

93  {
94  NO_OP;
95  };
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

virtual VariableSubMatrixHandler& BulkSpringSupport::AssJac ( VariableSubMatrixHandler WorkMat,
doublereal  dCoef,
const VectorHandler ,
const VectorHandler  
)
inlinevirtual

Implements Elem.

Definition at line 111 of file bulk.h.

References DriveOwner::dGet(), Node::iGetFirstColIndex(), Node::iGetFirstRowIndex(), ScalarDof::iOrder, ScalarDof::pNode, FullSubMatrixHandler::PutCoef(), FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), SD, and VariableSubMatrixHandler::SetFull().

114  {
115 
116  FullSubMatrixHandler& WM = WorkMat.SetFull();
117  WM.ResizeReset(1, 1);
118 
119  integer iRowIndex = SD.pNode->iGetFirstRowIndex()+1;
120  integer iColIndex = SD.pNode->iGetFirstColIndex()+1;
121  WM.PutRowIndex(1, iRowIndex);
122  WM.PutColIndex(1, iColIndex);
123 
124  doublereal d = dGet();
125  if (SD.iOrder == 0) {
126  d *= dCoef;
127  }
128  WM.PutCoef(1, 1, d);
129 
130  return WorkMat;
131  };
ScalarNode * pNode
Definition: node.h:708
void PutColIndex(integer iSubCol, integer iCol)
Definition: submat.h:325
FullSubMatrixHandler & SetFull(void)
Definition: submat.h:1168
int iOrder
Definition: node.h:710
doublereal dGet(void) const
Definition: drive.cc:671
void PutCoef(integer iRow, integer iCol, const doublereal &dCoef)
Definition: submat.h:672
virtual integer iGetFirstRowIndex(void) const
Definition: node.cc:82
ScalarDof SD
Definition: bulk.h:83
virtual void ResizeReset(integer, integer)
Definition: submat.cc:182
void PutRowIndex(integer iSubRow, integer iRow)
Definition: submat.h:311
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51
virtual integer iGetFirstColIndex(void) const
Definition: node.cc:88

Here is the call graph for this function:

virtual SubVectorHandler& BulkSpringSupport::AssRes ( SubVectorHandler WorkVec,
doublereal  ,
const VectorHandler ,
const VectorHandler  
)
inlinevirtual

Implements Elem.

Definition at line 134 of file bulk.h.

References DriveOwner::dGet(), Node::dGetDofValue(), Node::iGetFirstRowIndex(), ScalarDof::iOrder, ScalarDof::pNode, SubVectorHandler::PutItem(), VectorHandler::Reset(), VectorHandler::Resize(), and SD.

137  {
138  WorkVec.Resize(1);
139  WorkVec.Reset();
140 
141  integer iRowIndex = SD.pNode->iGetFirstRowIndex()+1;
142  doublereal dVal = SD.pNode->dGetDofValue(1, SD.iOrder);
143  WorkVec.PutItem(1, iRowIndex, -dGet()*dVal);
144 
145  return WorkVec;
146  };
ScalarNode * pNode
Definition: node.h:708
virtual void Reset(void)=0
virtual const doublereal & dGetDofValue(int iDof, int iOrder=0) const =0
int iOrder
Definition: node.h:710
doublereal dGet(void) const
Definition: drive.cc:671
virtual void PutItem(integer iSubRow, integer iRow, const doublereal &dCoef)
Definition: submat.h:1445
virtual integer iGetFirstRowIndex(void) const
Definition: node.cc:82
ScalarDof SD
Definition: bulk.h:83
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51
virtual void Resize(integer iNewSize)=0

Here is the call graph for this function:

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

Reimplemented from Elem.

Definition at line 151 of file bulk.h.

References ScalarDof::pNode, and SD.

151  {
152  connectedNodes.resize(1);
153  connectedNodes[0] = SD.pNode;
154  };
ScalarNode * pNode
Definition: node.h:708
ScalarDof SD
Definition: bulk.h:83
virtual std::ostream& BulkSpringSupport::Restart ( std::ostream &  out) const
inlinevirtual

Implements Elem.

Definition at line 98 of file bulk.h.

98  {
99  return out;
100  };
virtual void BulkSpringSupport::WorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
inlinevirtual

Implements Elem.

Definition at line 104 of file bulk.h.

104  {
105  *piNumRows = 1;
106  *piNumCols = 1;
107  };

Member Data Documentation

ScalarDof BulkSpringSupport::SD
protected

Definition at line 83 of file bulk.h.

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


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