MBDyn-1.7.3
|
Public Member Functions | |
ModuleNonsmoothNode (unsigned uLabel, const DofOwner *pDO, DataManager *pDM, MBDynParser &HP) | |
virtual | ~ModuleNonsmoothNode (void) |
virtual unsigned int | iGetNumDof (void) const |
virtual DofOrder::Order | GetDofType (unsigned int) const |
virtual void | Output (OutputHandler &OH) const |
virtual void | WorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
virtual void | AfterPredict (VectorHandler &X, VectorHandler &XP) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP) |
VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
SubVectorHandler & | AssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr) |
unsigned int | iGetNumPrivData (void) const |
int | iGetNumConnectedNodes (void) const |
void | GetConnectedNodes (std::vector< const Node * > &connectedNodes) const |
void | SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph) |
std::ostream & | Restart (std::ostream &out) const |
virtual unsigned int | iGetInitialNumDof (void) const |
virtual void | InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const |
VariableSubMatrixHandler & | InitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
SubVectorHandler & | InitialAssRes (SubVectorHandler &WorkVec, 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 |
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 VariableSubMatrixHandler & | AssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr) |
virtual SubVectorHandler & | AssRes (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 Hint * | ParseHint (DataManager *pDM, const char *s) 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 | Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder) |
virtual void | AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP) |
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 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 UserDefinedElem | |
UserDefinedElem (unsigned uLabel, const DofOwner *pDO) | |
virtual | ~UserDefinedElem (void) |
bool | NeedsAirProperties (void) const |
void | NeedsAirProperties (bool yesno) |
virtual Elem::Type | GetElemType (void) const |
virtual AerodynamicElem::Type | GetAerodynamicElemType (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 AerodynamicElem | |
AerodynamicElem (unsigned int uL, const DofOwner *pDO, flag fOut) | |
virtual | ~AerodynamicElem (void) |
virtual const InducedVelocity * | pGetInducedVelocity (void) 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 DofOwner * | pGetDofOwner (void) const |
virtual integer | iGetFirstIndex (void) const |
virtual void | SetInitialValue (VectorHandler &X) |
Public Member Functions inherited from AirPropOwner | |
AirPropOwner (void) | |
virtual | ~AirPropOwner (void) |
virtual void | PutAirProperties (const AirProperties *pAP) |
virtual flag | fGetAirVelocity (Vec3 &Velocity, const Vec3 &X) const |
virtual doublereal | dGetAirDensity (const Vec3 &X) const |
virtual doublereal | dGetAirPressure (const Vec3 &X) const |
virtual doublereal | dGetAirTemperature (const Vec3 &X) const |
virtual doublereal | dGetSoundSpeed (const Vec3 &X) const |
virtual bool | GetAirProps (const Vec3 &X, doublereal &rho, doublereal &c, doublereal &p, doublereal &T) 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 |
Private Member Functions | |
void | mbs_get_force (NS_subsys &) |
void | mbs_get_force_frictional (NS_subsys &) |
Private Attributes | |
const DataManager * | m_pDM |
const StructDispNode * | m_pNode |
NS_subsys | NS_data |
bool | bStepToggle |
Vec3 | Mu |
bool | bFrictional |
int | iIter |
Definition at line 116 of file module-nonsmooth-node.cc.
ModuleNonsmoothNode::ModuleNonsmoothNode | ( | unsigned | uLabel, |
const DofOwner * | pDO, | ||
DataManager * | pDM, | ||
MBDynParser & | HP | ||
) |
Definition at line 219 of file module-nonsmooth-node.cc.
References bFrictional, bIRa(), NS_subsys::bVerbose, c, NS_subsys::constr, NS_subsys::constraint_type, CPG, DriveHandler::dGetTimeStep(), dIPa, dIRa, DataManager::fReadOutput(), NS_subsys::gamma_pred, HighParser::GetInt(), WithLabel::GetLabel(), IncludeParser::GetLineData(), MBDynParser::GetPosRel(), HighParser::GetReal(), MBDynParser::GetRotRel(), StructDispNode::GetVCurr(), StructDispNode::GetXCurr(), HighParser::GetYesNoOrBool(), NS_subsys::hstep, solver_parameters::info, IPa, IRa, IRat, HighParser::IsArg(), HighParser::IsKeyWord(), NS_subsys::iterations, NS_subsys::Lambda_k, NS_subsys::Lambda_kp1, LATIN, LATIN_W, LEXICO_LEMKE, Elem::LOADABLE, m_pDM, m_pNode, NS_subsys::mass_ns, MBDYN_EXCEPT_ARGS, NEWTON_FB, NEWTON_MIN, NS_subsys::niter, NS_subsys::niterLCPmax, NS_subsys::Np, NS_data, NSQP, DataManager::pGetDrvHdl(), PGS, NS_subsys::Piter, POSITION_AND_VELOCITY, POSITION_ONLY, solver_parameters::processed_iterations, PSOR, QP, NS_subsys::radius_ns, DataManager::ReadNode(), FullMatrixHandler::Resize(), solver_parameters::resulting_error, RPGS, ToBeOutput::SetOutputFlag(), NS_subsys::solparam, solver_parameters::solver, solver_parameters::solveritermax, solver_parameters::solvertol, Node::STRUCTURAL, NS_subsys::theta_ts, VELOCITY_ONLY, NS_subsys::Vns_k, NS_subsys::Vns_kp1, NS_subsys::Xns_k, NS_subsys::Xns_kp1, and Zero3.
|
virtual |
Definition at line 547 of file module-nonsmooth-node.cc.
References NO_OP.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 638 of file module-nonsmooth-node.cc.
References bStepToggle, iIter, NS_subsys::Lambda_k, NS_subsys::Lambda_kp1, NS_subsys::niter, NS_data, NS_subsys::Piter, and Zero3.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 626 of file module-nonsmooth-node.cc.
References StructDispNode::GetVCurr(), StructDispNode::GetXCurr(), DofOwnerOwner::iGetFirstIndex(), NS_subsys::Lambda_kp1, m_pNode, NS_data, NS_subsys::Vns_kp1, and NS_subsys::Xns_kp1.
|
virtual |
Implements Elem.
Definition at line 651 of file module-nonsmooth-node.cc.
References ASSERT, NS_subsys::constraint_type, DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstMomentumIndex(), StructDispNode::iGetFirstPositionIndex(), m_pNode, NS_data, POSITION_AND_VELOCITY, POSITION_ONLY, SparseSubMatrixHandler::PutItem(), SparseSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetSparse(), and VELOCITY_ONLY.
|
virtual |
Implements Elem.
Definition at line 714 of file module-nonsmooth-node.cc.
References bFrictional, GravityOwner::bGetGravity(), NS_subsys::bGravity, NS_subsys::bVerbose, NS_subsys::constraint_type, DriveHandler::dGetTimeStep(), WithLabel::GetLabel(), StructDispNode::GetVCurr(), StructDispNode::GetVPrev(), StructDispNode::GetXCurr(), StructDispNode::GetXPrev(), NS_subsys::GravityAcceleration, NS_subsys::hstep, DofOwnerOwner::iGetFirstIndex(), StructDispNode::iGetFirstMomentumIndex(), DriveHandler::iGetStep(), iIter, NS_subsys::iterations, NS_subsys::Lambda_kp1, m_pDM, m_pNode, mbs_get_force(), mbs_get_force_frictional(), NS_subsys::mu, Mu, NS_data, DataManager::pGetDrvHdl(), POSITION_AND_VELOCITY, POSITION_ONLY, SubVectorHandler::PutItem(), VectorHandler::ResizeReset(), VELOCITY_ONLY, NS_subsys::Vns_k, NS_subsys::Vns_kp1, NS_subsys::Xns_k, and NS_subsys::Xns_kp1.
|
virtual |
Reimplemented from Elem.
Definition at line 820 of file module-nonsmooth-node.cc.
References NS_subsys::constr, iGetNumConnectedNodes(), m_pNode, and NS_data.
|
virtual |
Reimplemented from Elem.
Definition at line 596 of file module-nonsmooth-node.cc.
References DofOrder::ALGEBRAIC.
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 845 of file module-nonsmooth-node.cc.
int ModuleNonsmoothNode::iGetNumConnectedNodes | ( | void | ) | const |
Definition at line 813 of file module-nonsmooth-node.cc.
References NS_subsys::constr, and NS_data.
Referenced by GetConnectedNodes().
|
virtual |
Reimplemented from Elem.
Definition at line 554 of file module-nonsmooth-node.cc.
References ASSERT, NS_subsys::constraint_type, MBDYN_EXCEPT_ARGS, NS_data, POSITION_AND_VELOCITY, POSITION_ONLY, and VELOCITY_ONLY.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 807 of file module-nonsmooth-node.cc.
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 858 of file module-nonsmooth-node.cc.
References ASSERT, and VariableSubMatrixHandler::SetNullMatrix().
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 869 of file module-nonsmooth-node.cc.
References ASSERT, and VectorHandler::ResizeReset().
|
virtual |
Implements SubjectToInitialAssembly.
Definition at line 851 of file module-nonsmooth-node.cc.
|
private |
Definition at line 907 of file module-nonsmooth-node.cc.
References NS_subsys::bGravity, bStepToggle, NS_subsys::constr, Eye3, NS_subsys::gamma_pred, NS_subsys::GravityAcceleration, NS_subsys::hstep, NS_subsys::ia, NS_subsys::Lambda_k, NS_subsys::Lambda_kp1, NS_subsys::mass_ns, mbdyn_siconos_LCP_call(), MatNxN::Mult(), NS_subsys::niter, NS_subsys::niterLCPmax, Vec3::Norm(), NS_subsys::Np, VecN::pGetVec(), NS_subsys::Piter, NS_subsys::pkp1, NS_subsys::Poutput, Mat3xN::PutVec(), NS_subsys::radius_ns, MatNx3::RightMult(), NS_subsys::solparam, NS_subsys::theta_ts, MatNx3::Transpose(), NS_subsys::Vns_k, NS_subsys::Vns_kp1, NS_subsys::Xns_k, NS_subsys::Xns_kp1, and Zero3.
Referenced by AssRes().
|
private |
Definition at line 1035 of file module-nonsmooth-node.cc.
References FullMatrixHandler::Add(), NS_subsys::bGravity, bStepToggle, NS_subsys::constr, Eye3, NS_subsys::gamma_pred, NS_subsys::GravityAcceleration, NS_subsys::hstep, NS_subsys::ia, NS_subsys::Lambda_k, NS_subsys::Lambda_kp1, NS_subsys::mass_ns, FullMatrixHandler::MatMul(), MatrixHandler::MatVecMul(), mbdyn_siconos_LCP_call(), NS_subsys::niter, NS_subsys::niterLCPmax, NS_subsys::Np, FullMatrixHandler::pdGetMat(), NS_subsys::Piter, NS_subsys::pkp1, NS_subsys::Poutput, STLVectorHandler::Put(), FullMatrixHandler::Put(), FullMatrixHandler::PutT(), NS_subsys::radius_ns, NS_subsys::solparam, FullMatrixHandler::Sub(), NS_subsys::theta_ts, NS_subsys::Vns_k, NS_subsys::Vns_kp1, NS_subsys::Xns_k, NS_subsys::Xns_kp1, and Zero3.
Referenced by AssRes().
|
virtual |
Reimplemented from ToBeOutput.
Definition at line 880 of file module-nonsmooth-node.cc.
References ToBeOutput::bToBeOutput(), NS_subsys::bVerbose, WithLabel::GetLabel(), NS_subsys::ia, solver_parameters::info, NS_subsys::Lambda_kp1, OutputHandler::Loadable(), NS_subsys::mu, NS_data, NS_subsys::pkp1, NS_subsys::Poutput, solver_parameters::processed_iterations, solver_parameters::resulting_error, NS_subsys::solparam, NS_subsys::Vns_kp1, and NS_subsys::Xns_kp1.
|
virtual |
Implements Elem.
Definition at line 839 of file module-nonsmooth-node.cc.
|
virtual |
Reimplemented from SimulationEntity.
Definition at line 831 of file module-nonsmooth-node.cc.
References NO_OP.
Implements Elem.
Definition at line 602 of file module-nonsmooth-node.cc.
References ASSERT, NS_subsys::constraint_type, NS_data, POSITION_AND_VELOCITY, POSITION_ONLY, and VELOCITY_ONLY.
|
private |
Definition at line 135 of file module-nonsmooth-node.cc.
Referenced by AssRes(), and ModuleNonsmoothNode().
|
private |
Definition at line 129 of file module-nonsmooth-node.cc.
Referenced by AfterConvergence(), mbs_get_force(), and mbs_get_force_frictional().
|
private |
Definition at line 138 of file module-nonsmooth-node.cc.
Referenced by AfterConvergence(), and AssRes().
|
private |
Definition at line 120 of file module-nonsmooth-node.cc.
Referenced by AssRes(), and ModuleNonsmoothNode().
|
private |
Definition at line 123 of file module-nonsmooth-node.cc.
Referenced by AfterPredict(), AssJac(), AssRes(), GetConnectedNodes(), and ModuleNonsmoothNode().
|
private |
Definition at line 132 of file module-nonsmooth-node.cc.
Referenced by AssRes().
|
private |
Definition at line 126 of file module-nonsmooth-node.cc.
Referenced by AfterConvergence(), AfterPredict(), AssJac(), AssRes(), GetConnectedNodes(), iGetNumConnectedNodes(), iGetNumDof(), ModuleNonsmoothNode(), Output(), and WorkSpaceDim().