MBDyn-1.7.3
|
#include <rodbezj.h>
Public Member Functions | |
RodBezier (unsigned int uL, const DofOwner *pDO, const ConstitutiveLaw1D *pCL, const StructNode *pN1, const StructNode *pN2, const Vec3 &fOTmp, const Vec3 &fATmp, const Vec3 &fBTmp, const Vec3 &fITmp, doublereal dLength, bool bFromNodes, const unsigned int iIntOrder, const unsigned int iIntSegments, flag fOut) | |
virtual | ~RodBezier (void) |
virtual Joint::Type | GetJointType (void) const |
virtual std::ostream & | Restart (std::ostream &out) const |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP) |
virtual unsigned int | iGetNumDof (void) const |
virtual void | WorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
virtual VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
virtual SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
void | AssVec (SubVectorHandler &WorkVec) |
void | Output (OutputHandler &OH) const |
virtual unsigned int | iGetInitialNumDof (void) const |
virtual void | InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
virtual VariableSubMatrixHandler & | InitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
virtual SubVectorHandler & | InitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr) |
virtual bool | bInverseDynamics (void) const |
VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS) |
void | Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS) |
void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP) |
virtual void | GetConnectedNodes (std::vector< const Node * > &connectedNodes) const |
virtual unsigned int | iGetNumPrivData (void) const |
virtual unsigned int | iGetPrivDataIdx (const char *s) const |
doublereal | dGetPrivData (unsigned int i) const |
![]() | |
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 DofOrder::Order | GetDofType (unsigned int) const |
virtual void | AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
void | SetInverseDynamicsFlags (unsigned uIDF) |
unsigned | GetInverseDynamicsFlags (void) const |
bool | bIsErgonomy (void) const |
bool | bIsRightHandSide (void) const |
virtual int | GetNumConnectedNodes (void) const |
![]() | |
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 |
![]() | |
SimulationEntity (void) | |
virtual | ~SimulationEntity (void) |
virtual bool | bIsValidIndex (unsigned int i) const |
virtual DofOrder::Order | GetEqType (unsigned int i) const |
virtual Hint * | ParseHint (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 | ReadInitialState (MBDynParser &HP) |
![]() | |
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)) |
![]() | |
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) |
bool | bIsPrescribedMotion (void) const |
bool | bIsTorque (void) const |
![]() | |
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 |
![]() | |
GravityOwner (void) | |
virtual | ~GravityOwner (void) |
void | PutGravity (const Gravity *pG) |
virtual bool | bGetGravity (const Vec3 &X, Vec3 &Acc) const |
![]() | |
ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut) | |
virtual | ~ElemWithDofs (void) |
![]() | |
DofOwnerOwner (const DofOwner *pDO) | |
virtual | ~DofOwnerOwner () |
virtual const DofOwner * | pGetDofOwner (void) const |
virtual integer | iGetFirstIndex (void) const |
![]() | |
InitialAssemblyElem (unsigned int uL, flag fOut) | |
virtual | ~InitialAssemblyElem (void) |
![]() | |
SubjectToInitialAssembly (void) | |
virtual | ~SubjectToInitialAssembly (void) |
![]() | |
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 DofOrder::Order | GetDofType (unsigned int i) const |
virtual std::ostream & | OutputAppend (std::ostream &out) const |
Protected Attributes | |
const StructNode * | pNode1 |
const StructNode * | pNode2 |
const Vec3 | fO |
const Vec3 | fA |
const Vec3 | fB |
const Vec3 | fI |
doublereal | dL0 |
Vec3 | l1 |
Vec3 | l2 |
doublereal | dElle |
doublereal | dEpsilon |
doublereal | dEpsilonPrime |
unsigned int | iIntOrd |
unsigned int | iIntSeg |
GaussDataIterator * | gdi |
![]() | |
unsigned int | uLabel |
std::string | sName |
![]() | |
flag | fOutput |
![]() | |
Gravity * | pGravity |
![]() | |
ConstitutiveLaw< T, Tder > * | pConstLaw |
Private Member Functions | |
doublereal | Ap1 (doublereal u) |
doublereal | Ap2 (doublereal u) |
doublereal | Ap3 (doublereal u) |
doublereal | Ap4 (doublereal u) |
RodBezier::RodBezier | ( | unsigned int | uL, |
const DofOwner * | pDO, | ||
const ConstitutiveLaw1D * | pCL, | ||
const StructNode * | pN1, | ||
const StructNode * | pN2, | ||
const Vec3 & | fOTmp, | ||
const Vec3 & | fATmp, | ||
const Vec3 & | fBTmp, | ||
const Vec3 & | fITmp, | ||
doublereal | dLength, | ||
bool | bFromNodes, | ||
const unsigned int | iIntOrder, | ||
const unsigned int | iIntSegments, | ||
flag | fOut | ||
) |
Definition at line 52 of file rodbezj.cc.
References Ap1(), Ap2(), Ap3(), Ap4(), ASSERT, PntWght::dGetPnt(), dL0, fA, fB, fI, fO, gdi, StructDispNode::GetNodeType(), StructNode::GetRRef(), StructDispNode::GetXCurr(), l1, l2, Vec3::Norm(), and Node::STRUCTURAL.
|
virtual |
Definition at line 130 of file rodbezj.cc.
References NO_OP.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 155 of file rodbezj.cc.
References ConstitutiveLawOwner< T, Tder >::AfterConvergence(), dEpsilon, and dEpsilonPrime.
Referenced by AfterConvergence().
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 839 of file rodbezj.cc.
References AfterConvergence().
|
inlineprivate |
Definition at line 181 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
inlineprivate |
Definition at line 182 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
inlineprivate |
Definition at line 183 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
inlineprivate |
Definition at line 184 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
virtual |
Implements Elem.
Definition at line 163 of file rodbezj.cc.
References FullSubMatrixHandler::Add(), Ap1(), Ap2(), Ap3(), Ap4(), Vec3::Cross(), DEBUGCOUT, PntWght::dGetPnt(), dL0, fA, fB, GaussDataIterator::fGetNext(), fI, fO, gdi, ConstitutiveLawOwner< T, Tder >::GetF(), ConstitutiveLawOwner< T, Tder >::GetFDE(), ConstitutiveLawOwner< T, Tder >::GetFDEPrime(), GaussDataIterator::GetFirst(), StructNode::GetRRef(), StructNode::GetWRef(), StructDispNode::GetXCurr(), StructDispNode::iGetFirstMomentumIndex(), StructDispNode::iGetFirstPositionIndex(), iIntSeg, l1, l2, MatCross, MatCrossCross, Vec3::Norm(), pNode1, pNode2, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), FullSubMatrixHandler::Sub(), Vec3::Tens(), WorkSpaceDim(), and Zero3.
Referenced by AssJac().
|
virtual |
Reimplemented from Elem.
Definition at line 807 of file rodbezj.cc.
References ASSERT, AssJac(), and Elem::bIsErgonomy().
|
virtual |
Implements Elem.
Definition at line 332 of file rodbezj.cc.
References AssVec(), DEBUGCOUT, StructDispNode::iGetFirstMomentumIndex(), pNode1, pNode2, SubVectorHandler::PutRowIndex(), VectorHandler::ResizeReset(), and WorkSpaceDim().
Referenced by AssRes().
|
virtual |
Reimplemented from Elem.
Definition at line 816 of file rodbezj.cc.
References ASSERT, AssRes(), Elem::bIsErgonomy(), DEBUGCOUT, InverseDynamics::INVERSE_DYNAMICS, and InverseDynamics::POSITION.
void RodBezier::AssVec | ( | SubVectorHandler & | WorkVec | ) |
Definition at line 361 of file rodbezj.cc.
References VectorHandler::Add(), Ap1(), Ap2(), Ap3(), Ap4(), Vec3::Cross(), DEBUGCOUT, dElle, dEpsilon, dEpsilonPrime, PntWght::dGetPnt(), dL0, Vec3::Dot(), fA, fB, GaussDataIterator::fGetNext(), fI, fO, gdi, ConstitutiveLawOwner< T, Tder >::GetF(), GaussDataIterator::GetFirst(), WithLabel::GetLabel(), StructNode::GetRCurr(), StructDispNode::GetVCurr(), StructNode::GetWCurr(), StructDispNode::GetXCurr(), iIntSeg, l1, l2, MBDYN_EXCEPT_ARGS, Vec3::Norm(), pNode1, pNode2, and ConstitutiveLawOwner< T, Tder >::Update().
Referenced by AssRes(), and InitialAssRes().
|
virtual |
|
virtual |
Reimplemented from ConstitutiveLawOwner< T, Tder >.
Definition at line 878 of file rodbezj.cc.
References ASSERT, dElle, dEpsilonPrime, ConstitutiveLawOwner< T, Tder >::dGetPrivData(), dL0, ConstitutiveLawOwner< T, Tder >::GetF(), and ConstitutiveLawOwner< T, Tder >::iGetNumPrivData().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Implements SubjectToInitialAssembly.
|
inlinevirtual |
Reimplemented from ConstitutiveLawOwner< T, Tder >.
|
virtual |
Reimplemented from ConstitutiveLawOwner< T, Tder >.
Definition at line 846 of file rodbezj.cc.
References ConstitutiveLawOwner< T, Tder >::iGetNumPrivData().
|
virtual |
Reimplemented from ConstitutiveLawOwner< T, Tder >.
Definition at line 852 of file rodbezj.cc.
References ASSERT, ConstitutiveLawOwner< T, Tder >::iGetPrivDataIdx(), and STRLENOF.
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 470 of file rodbezj.cc.
References FullSubMatrixHandler::Add(), Ap1(), Ap2(), Ap3(), Ap4(), Vec3::Cross(), DEBUGCOUT, PntWght::dGetPnt(), dL0, fA, fB, GaussDataIterator::fGetNext(), fI, fO, gdi, ConstitutiveLawOwner< T, Tder >::GetF(), ConstitutiveLawOwner< T, Tder >::GetFDE(), ConstitutiveLawOwner< T, Tder >::GetFDEPrime(), GaussDataIterator::GetFirst(), StructNode::GetRRef(), StructNode::GetWRef(), StructDispNode::GetXCurr(), StructDispNode::iGetFirstPositionIndex(), iIntSeg, InitialWorkSpaceDim(), l1, l2, MatCross, MatCrossCross, Vec3::Norm(), pNode1, pNode2, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), FullSubMatrixHandler::Sub(), Vec3::Tens(), and Zero3.
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 772 of file rodbezj.cc.
References AssVec(), DEBUGCOUT, StructDispNode::iGetFirstPositionIndex(), InitialWorkSpaceDim(), pNode1, pNode2, SubVectorHandler::PutRowIndex(), and VectorHandler::ResizeReset().
|
inlinevirtual |
Implements SubjectToInitialAssembly.
Definition at line 126 of file rodbezj.h.
Referenced by InitialAssJac(), and InitialAssRes().
|
virtual |
Reimplemented from ToBeOutput.
Definition at line 452 of file rodbezj.cc.
References ASSERT, ToBeOutput::bToBeOutput(), dElle, dEpsilonPrime, dL0, ConstitutiveLawOwner< T, Tder >::GetF(), WithLabel::GetLabel(), OutputHandler::Joints(), l1, l2, Joint::Output(), ConstitutiveLawOwner< T, Tder >::OutputAppend(), and Zero3.
|
virtual |
Implements Elem.
Definition at line 137 of file rodbezj.cc.
References dL0, fA, fO, WithLabel::GetLabel(), iIntOrd, iIntSeg, ConstitutiveLawOwner< T, Tder >::pGetConstLaw(), pNode1, pNode2, Joint::Restart(), and Vec3::Write().
|
virtual |
|
protected |
Definition at line 61 of file rodbezj.h.
Referenced by AssVec(), dGetPrivData(), and Output().
|
protected |
Definition at line 62 of file rodbezj.h.
Referenced by AfterConvergence(), and AssVec().
|
protected |
Definition at line 63 of file rodbezj.h.
Referenced by AfterConvergence(), AssVec(), dGetPrivData(), and Output().
|
protected |
Definition at line 57 of file rodbezj.h.
Referenced by AssJac(), AssVec(), dGetPrivData(), InitialAssJac(), Output(), Restart(), and RodBezier().
|
protected |
Definition at line 54 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), Restart(), and RodBezier().
|
protected |
Definition at line 55 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
protected |
Definition at line 56 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
protected |
Definition at line 53 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), Restart(), and RodBezier().
|
protected |
Definition at line 68 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), and RodBezier().
|
protected |
|
protected |
|
protected |
Definition at line 59 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), Output(), and RodBezier().
|
protected |
Definition at line 60 of file rodbezj.h.
Referenced by AssJac(), AssVec(), InitialAssJac(), Output(), and RodBezier().
|
protected |
Definition at line 51 of file rodbezj.h.
Referenced by AssJac(), AssRes(), AssVec(), GetConnectedNodes(), InitialAssJac(), InitialAssRes(), and Restart().
|
protected |
Definition at line 52 of file rodbezj.h.
Referenced by AssJac(), AssRes(), AssVec(), GetConnectedNodes(), InitialAssJac(), InitialAssRes(), and Restart().