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

#include <drvj.h>

Inheritance diagram for LinearVelocityJoint:
Collaboration diagram for LinearVelocityJoint:

Public Member Functions

 LinearVelocityJoint (unsigned int uL, const DofOwner *pDO, const StructNode *pN, const Vec3 &TmpDir, const DriveCaller *pDC, flag fOut)
 
 ~LinearVelocityJoint (void)
 
virtual Joint::Type GetJointType (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual unsigned int iGetNumDof (void) const
 
DofOrder::Order GetDofType (unsigned int i) const
 
void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
void Output (OutputHandler &OH) const
 
virtual unsigned int iGetInitialNumDof (void) const
 
virtual void InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
VariableSubMatrixHandlerInitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
SubVectorHandlerInitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i=0) const
 
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 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 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 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 AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
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 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 SetValue (DataManager *pDM, VectorHandler &, VectorHandler &, SimulationEntity::Hints *ph=0)
 
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 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
 

Private Attributes

const StructNodepNode
 
Vec3 Dir
 
doublereal dF
 

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
}
 
- 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 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 DriveOwner
DriveCallerpDriveCaller
 

Detailed Description

Definition at line 43 of file drvj.h.

Constructor & Destructor Documentation

LinearVelocityJoint::LinearVelocityJoint ( unsigned int  uL,
const DofOwner pDO,
const StructNode pN,
const Vec3 TmpDir,
const DriveCaller pDC,
flag  fOut 
)

Definition at line 41 of file drvj.cc.

References NO_OP.

47 : Elem(uL, fOut),
48 Joint(uL, pDO, fOut),
49 DriveOwner(pDC),
50 pNode(pN), Dir(TmpDir), dF(0.)
51 {
52  NO_OP;
53 }
const StructNode * pNode
Definition: drvj.h:46
doublereal dF
Definition: drvj.h:48
Joint(unsigned int uL, const DofOwner *pD, flag fOut)
Definition: joint.cc:83
#define NO_OP
Definition: myassert.h:74
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
DriveOwner(const DriveCaller *pDC=0)
Definition: drive.cc:627
LinearVelocityJoint::~LinearVelocityJoint ( void  )

Definition at line 57 of file drvj.cc.

References NO_OP.

58 {
59  NO_OP;
60 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

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

Implements Elem.

Definition at line 99 of file drvj.cc.

References DEBUGCOUT, Vec3::dGet(), Dir, DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstMomentumIndex(), StructDispNode::iGetFirstPositionIndex(), pNode, SparseSubMatrixHandler::PutItem(), SparseSubMatrixHandler::ResizeReset(), and VariableSubMatrixHandler::SetSparse().

103 {
104  DEBUGCOUT("Entering LinearVelocityJoint::AssJac()" << std::endl);
105 
106  SparseSubMatrixHandler& WM = WorkMat.SetSparse();
107  WM.ResizeReset(6, 0);
108 
109  integer iFirstPositionIndex = pNode->iGetFirstPositionIndex();
110  integer iFirstMomentumIndex = pNode->iGetFirstMomentumIndex();
111  integer iFirstReactionIndex = iGetFirstIndex();
112 
113  for (int iCnt = 1; iCnt <= 3; iCnt++) {
114  doublereal d = Dir.dGet(iCnt);
115  WM.PutItem(iCnt, iFirstMomentumIndex+iCnt,
116  iFirstReactionIndex+1, d);
117  WM.PutItem(3+iCnt, iFirstReactionIndex+1,
118  iFirstPositionIndex+iCnt, d);
119  }
120 
121  return WorkMat;
122 }
const StructNode * pNode
Definition: drvj.h:46
void ResizeReset(integer iNewRow, integer iNewCol)
Definition: submat.cc:1084
void PutItem(integer iSubIt, integer iRow, integer iCol, const doublereal &dCoef)
Definition: submat.h:997
const doublereal & dGet(unsigned short int iRow) const
Definition: matvec3.h:285
#define DEBUGCOUT(msg)
Definition: myassert.h:232
virtual integer iGetFirstMomentumIndex(void) const =0
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
SparseSubMatrixHandler & SetSparse(void)
Definition: submat.h:1178
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

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

Implements Elem.

Definition at line 126 of file drvj.cc.

References VectorHandler::Add(), DEBUGCOUT, dF, DriveOwner::dGet(), Dir, Vec3::Dot(), StructDispNode::GetVCurr(), DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstMomentumIndex(), pNode, VectorHandler::PutCoef(), SubVectorHandler::PutRowIndex(), VectorHandler::ResizeReset(), and WorkSpaceDim().

130 {
131  DEBUGCOUT("Entering LinearVelocityJoint::AssRes()" << std::endl);
132 
133  /* Dimensiona e resetta la matrice di lavoro */
134  integer iNumRows = 0;
135  integer iNumCols = 0;
136  this->WorkSpaceDim(&iNumRows, &iNumCols);
137  WorkVec.ResizeReset(iNumRows);
138 
139  /* Indici */
140  // integer iFirstPositionIndex = pNode->iGetFirstPositionIndex();
141  integer iFirstMomentumIndex = pNode->iGetFirstMomentumIndex();
142  integer iFirstReactionIndex = iGetFirstIndex();
143 
144  /* Indici del nodo */
145  for (int iCnt = 1; iCnt <= 3; iCnt++) {
146  WorkVec.PutRowIndex(iCnt, iFirstMomentumIndex+iCnt);
147  }
148 
149  WorkVec.PutRowIndex(4, iFirstReactionIndex+1);
150 
151  /* Aggiorna i dati propri */
152  dF = XCurr(iFirstReactionIndex+1);
153 
154  /* Recupera i dati */
155  Vec3 vNode(pNode->GetVCurr());
156 
157 
158  /* Equazioni di equilibrio, nodo 1 */
159  WorkVec.Add(1, -Dir*dF);
160 
161 
162  /* Equazione di vincolo di velocita' */
163  doublereal dv0 = dGet();
164  WorkVec.PutCoef(4, dv0-Dir.Dot(vNode));
165 
166  return WorkVec;
167 }
const StructNode * pNode
Definition: drvj.h:46
doublereal dF
Definition: drvj.h:48
Definition: matvec3.h:98
virtual void ResizeReset(integer)
Definition: vh.cc:55
doublereal Dot(const Vec3 &v) const
Definition: matvec3.h:243
doublereal dGet(void) const
Definition: drive.cc:671
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: drvj.h:79
#define DEBUGCOUT(msg)
Definition: myassert.h:232
virtual integer iGetFirstMomentumIndex(void) const =0
virtual void PutCoef(integer iRow, const doublereal &dCoef)=0
virtual void Add(integer iRow, const Vec3 &v)
Definition: vh.cc:63
virtual const Vec3 & GetVCurr(void) const
Definition: strnode.h:322
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

doublereal LinearVelocityJoint::dGetPrivData ( unsigned int  i = 0) const
virtual

Reimplemented from SimulationEntity.

Definition at line 91 of file drvj.cc.

References ASSERT, and DriveOwner::dGet().

92 {
93  ASSERT(i == 1);
94 
95  return dGet();
96 }
doublereal dGet(void) const
Definition: drive.cc:671
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

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

Reimplemented from Elem.

Definition at line 120 of file drvj.h.

References pNode.

120  {
121  connectedNodes.resize(1);
122  connectedNodes[0] = pNode;
123  };
const StructNode * pNode
Definition: drvj.h:46
DofOrder::Order LinearVelocityJoint::GetDofType ( unsigned int  i) const
inlinevirtual

Reimplemented from Elem.

Definition at line 73 of file drvj.h.

References DofOrder::ALGEBRAIC, and ASSERT.

74  {
75  ASSERT(i == 0);
76  return DofOrder::ALGEBRAIC;
77  };
#define ASSERT(expression)
Definition: colamd.c:977
virtual Joint::Type LinearVelocityJoint::GetJointType ( void  ) const
inlinevirtual

Implements Joint.

Definition at line 63 of file drvj.h.

References Joint::LINEARVELOCITY.

virtual unsigned int LinearVelocityJoint::iGetInitialNumDof ( void  ) const
inlinevirtual

Implements SubjectToInitialAssembly.

Definition at line 97 of file drvj.h.

97 { return 1; };
virtual unsigned int LinearVelocityJoint::iGetNumDof ( void  ) const
inlinevirtual

Reimplemented from Elem.

Definition at line 69 of file drvj.h.

69  {
70  return 1;
71  };
unsigned int LinearVelocityJoint::iGetNumPrivData ( void  ) const
virtual

Reimplemented from SimulationEntity.

Definition at line 73 of file drvj.cc.

74 {
75  return 1;
76 }
unsigned int LinearVelocityJoint::iGetPrivDataIdx ( const char *  s) const
virtual

Reimplemented from SimulationEntity.

Definition at line 79 of file drvj.cc.

References ASSERT.

80 {
81  ASSERT(s != NULL);
82 
83  if (strcmp(s, "v") == 0) {
84  return 1;
85  }
86 
87  return 0;
88 }
#define ASSERT(expression)
Definition: colamd.c:977
VariableSubMatrixHandler & LinearVelocityJoint::InitialAssJac ( VariableSubMatrixHandler WorkMat,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Definition at line 182 of file drvj.cc.

References DEBUGCOUT, Vec3::dGet(), Dir, DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstPositionIndex(), pNode, SparseSubMatrixHandler::PutItem(), SparseSubMatrixHandler::ResizeReset(), and VariableSubMatrixHandler::SetSparse().

184 {
185  DEBUGCOUT("Entering LinearVelocityJoint::InitialAssJac()" << std::endl);
186 
187  SparseSubMatrixHandler& WM = WorkMat.SetSparse();
188  WM.ResizeReset(6, 0);
189 
190  integer iFirstVelocityIndex = pNode->iGetFirstPositionIndex()+6;
191  integer iFirstReactionIndex = iGetFirstIndex();
192 
193  for (int iCnt = 1; iCnt <= 3; iCnt++) {
194  doublereal d = Dir.dGet(iCnt);
195  WM.PutItem(iCnt, iFirstVelocityIndex+iCnt,
196  iFirstReactionIndex+1, d);
197  WM.PutItem(3+iCnt, iFirstReactionIndex+1,
198  iFirstVelocityIndex+iCnt, d);
199  }
200 
201  return WorkMat;
202 }
const StructNode * pNode
Definition: drvj.h:46
void ResizeReset(integer iNewRow, integer iNewCol)
Definition: submat.cc:1084
void PutItem(integer iSubIt, integer iRow, integer iCol, const doublereal &dCoef)
Definition: submat.h:997
const doublereal & dGet(unsigned short int iRow) const
Definition: matvec3.h:285
#define DEBUGCOUT(msg)
Definition: myassert.h:232
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
SparseSubMatrixHandler & SetSparse(void)
Definition: submat.h:1178
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

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

Implements SubjectToInitialAssembly.

Definition at line 207 of file drvj.cc.

References VectorHandler::Add(), DEBUGCOUT, dF, DriveOwner::dGet(), Dir, Vec3::Dot(), StructDispNode::GetVCurr(), DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstPositionIndex(), InitialWorkSpaceDim(), pNode, VectorHandler::PutCoef(), SubVectorHandler::PutRowIndex(), and VectorHandler::ResizeReset().

209 {
210  DEBUGCOUT("Entering LinearVelocityJoint::InitialAssRes()" << std::endl);
211 
212  /* Dimensiona e resetta la matrice di lavoro */
213  integer iNumRows = 0;
214  integer iNumCols = 0;
215  this->InitialWorkSpaceDim(&iNumRows, &iNumCols);
216  WorkVec.ResizeReset(iNumRows);
217 
218  /* Indici */
219  integer iFirstVelocityIndex = pNode->iGetFirstPositionIndex()+6;
220  integer iFirstReactionIndex = iGetFirstIndex();
221 
222  /* Indici del nodo */
223  for (int iCnt = 1; iCnt <= 3; iCnt++) {
224  WorkVec.PutRowIndex(iCnt, iFirstVelocityIndex+iCnt);
225  }
226 
227  WorkVec.PutRowIndex(4, iFirstReactionIndex+1);
228 
229  /* Aggiorna i dati propri */
230  dF = XCurr(iFirstReactionIndex+1);
231 
232  /* Recupera i dati */
233  Vec3 vNode(pNode->GetVCurr());
234 
235 
236  /* Equazioni di equilibrio, nodo 1 */
237  WorkVec.Add(1, -Dir*dF);
238 
239 
240  /* Equazione di vincolo di velocita' */
241  doublereal dv0 = dGet();
242  WorkVec.PutCoef(4, dv0-Dir.Dot(vNode));
243 
244  return WorkVec;
245 }
const StructNode * pNode
Definition: drvj.h:46
virtual void InitialWorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: drvj.h:98
doublereal dF
Definition: drvj.h:48
Definition: matvec3.h:98
virtual void ResizeReset(integer)
Definition: vh.cc:55
doublereal Dot(const Vec3 &v) const
Definition: matvec3.h:243
doublereal dGet(void) const
Definition: drive.cc:671
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
#define DEBUGCOUT(msg)
Definition: myassert.h:232
virtual integer iGetFirstPositionIndex(void) const
Definition: strnode.h:452
virtual void PutCoef(integer iRow, const doublereal &dCoef)=0
virtual void Add(integer iRow, const Vec3 &v)
Definition: vh.cc:63
virtual const Vec3 & GetVCurr(void) const
Definition: strnode.h:322
virtual integer iGetFirstIndex(void) const
Definition: dofown.h:127
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51

Here is the call graph for this function:

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

Implements SubjectToInitialAssembly.

Definition at line 98 of file drvj.h.

Referenced by InitialAssRes().

99  {
100  *piNumRows = 4;
101  *piNumCols = 4;
102  };
void LinearVelocityJoint::Output ( OutputHandler OH) const
virtual

Reimplemented from ToBeOutput.

Definition at line 170 of file drvj.cc.

References ToBeOutput::bToBeOutput(), dF, DriveOwner::dGet(), Dir, WithLabel::GetLabel(), OutputHandler::Joints(), Joint::Output(), and Zero3.

171 {
172  if (bToBeOutput()) {
173  Joint::Output(OH.Joints(), "LinearVelocity", GetLabel(),
174  Vec3(dF, 0., 0.), Zero3, Dir*dF, Zero3)
175  << " " << Dir << " " << dGet() << std::endl;
176  }
177 }
const Vec3 Zero3(0., 0., 0.)
doublereal dF
Definition: drvj.h:48
virtual bool bToBeOutput(void) const
Definition: output.cc:890
Definition: matvec3.h:98
doublereal dGet(void) const
Definition: drive.cc:671
std::ostream & Joints(void) const
Definition: output.h:443
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:

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

Implements Elem.

Definition at line 63 of file drvj.cc.

References Dir, WithLabel::GetLabel(), DriveOwner::pGetDriveCaller(), pNode, Joint::Restart(), DriveCaller::Restart(), and Vec3::Write().

64 {
65  Joint::Restart(out) << ", linear velocity, " << pNode->GetLabel()
66  << ", reference, global, ",
67  Dir.Write(out, ", ") << ", ";
68  return pGetDriveCaller()->Restart(out) << ';' << std::endl;
69 }
const StructNode * pNode
Definition: drvj.h:46
std::ostream & Write(std::ostream &out, const char *sFill=" ") const
Definition: matvec3.cc:738
virtual std::ostream & Restart(std::ostream &out) const =0
virtual std::ostream & Restart(std::ostream &out) const
Definition: joint.h:195
DriveCaller * pGetDriveCaller(void) const
Definition: drive.cc:658
unsigned int GetLabel(void) const
Definition: withlab.cc:62

Here is the call graph for this function:

void LinearVelocityJoint::WorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
inlinevirtual

Implements Elem.

Definition at line 79 of file drvj.h.

Referenced by AssRes().

80  { *piNumRows = 4; *piNumCols = 4; };

Member Data Documentation

doublereal LinearVelocityJoint::dF
private

Definition at line 48 of file drvj.h.

Referenced by AssRes(), InitialAssRes(), and Output().

Vec3 LinearVelocityJoint::Dir
private

Definition at line 47 of file drvj.h.

Referenced by AssJac(), AssRes(), InitialAssJac(), InitialAssRes(), Output(), and Restart().

const StructNode* LinearVelocityJoint::pNode
private

Definition at line 46 of file drvj.h.

Referenced by AssJac(), AssRes(), GetConnectedNodes(), InitialAssJac(), InitialAssRes(), and Restart().


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