106 void (T::* pUpd)(
const int DCount,
141 std::deque<MyVectorHandler*>& qX,
142 std::deque<MyVectorHandler*>& qXPrime,
172 const bool bmod_res_test);
200 const bool bmod_res_test,
211 std::deque<MyVectorHandler*>& qX,
212 std::deque<MyVectorHandler*>& qXPrime,
247 const bool bmod_res_test);
277 const bool bmod_res_test);
286 std::deque<MyVectorHandler*>& qX,
287 std::deque<MyVectorHandler*>& qXPrime,
340 const bool bmod_res_test);
388 const bool bmod_res_test);
441 const bool bmod_res_test);
450 std::deque<MyVectorHandler*>& qX,
451 std::deque<MyVectorHandler*>& qXPrime,
530 const bool bmod_res_test);
609 const bool bmod_res_test);
695 const bool bmod_res_test);
712 std::deque<MyVectorHandler*>& qX,
713 std::deque<MyVectorHandler*>& qXPrime,
720 silent_cerr(
"InverseDynamicsStepSolver::Advance()");
const doublereal dFactorCoef
doublereal dPredStateAlg(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2) const
Step1Integrator(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const bool bmod_res_test)
void SetCoef(doublereal dT, doublereal dAlpha, enum StepChange NewStep)
doublereal dPredDer(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXPm1, const doublereal &dXPm2) const
doublereal dPredStateAlg(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2) const
void SetCoef(doublereal dT, doublereal dAlpha, enum StepChange NewStep)
doublereal dPredDerAlg(const doublereal &dXm1, const doublereal &dXPm1, const doublereal &dXPm2) const
virtual doublereal dPredDer(const doublereal &dXm1, const doublereal &dXPm1) const =0
void UpdateDof(const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const
doublereal dPredictState(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
virtual void EvalProd(doublereal Tau, const VectorHandler &f0, const VectorHandler &w, VectorHandler &z) const
doublereal dPredDer(const doublereal &dXm1, const doublereal &dXPm1) const
virtual void SetCoef(doublereal dT, doublereal dAlpha, enum StepChange NewStep)=0
virtual doublereal dPredDerAlg(const doublereal &dXm1, const doublereal &dXPm1, const doublereal &dXPm2) const =0
void Jacobian(MatrixHandler *pJac) const
bool bEvalProdCalledFirstTime
ImplicitStepIntegrator(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const integer sts, const bool bmod_res_test)
#define MBDYN_EXCEPT_ARGS
StepIntegrator(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const integer sts)
VectorHandler * pXPrimeCurr
DerivativeSolver(const doublereal Tl, const doublereal dSolTl, const doublereal dC, const integer iMaxIt, const bool bmod_res_test, const integer iMaxIterCoef, const doublereal dFactorCoef)
void Jacobian(MatrixHandler *pJac) const
#define MBDYN_EXCEPT_ARGS_PASSTHRU
bool bEvalProdCalledFirstTime
doublereal dPredState(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const
std::vector< Dof > DofVecType
virtual void OutputTypes(const bool fpred)
virtual void Predict(void)
doublereal dPredictState(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
virtual doublereal Advance(Solver *pS, const doublereal TStep, const doublereal dAlph, const StepChange StType, std::deque< MyVectorHandler * > &qX, std::deque< MyVectorHandler * > &qXPrime, MyVectorHandler *const pX, MyVectorHandler *const pXPrime, integer &EffIter, doublereal &Err, doublereal &SolErr)=0
doublereal dPredDerAlg(const doublereal &dXm1, const doublereal &dXPm1) const
virtual ~Step2Integrator(void)
virtual integer GetIntegratorMaxIters(void) const
virtual doublereal TestScale(const NonlinearSolverTest *pTest, doublereal &dCoef) const
#define MBDYN_EXCEPT_ARGS_DECL
doublereal Advance(Solver *pS, const doublereal TStep, const doublereal, const StepChange, std::deque< MyVectorHandler * > &qX, std::deque< MyVectorHandler * > &qXPrime, MyVectorHandler *const pX, MyVectorHandler *const pXPrime, integer &EffIter, doublereal &Err, doublereal &SolErr)
virtual doublereal dPredictState(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2, DofOrder::Order o=DofOrder::DIFFERENTIAL) const =0
void SetOrder(InverseDynamics::Order iOrder)
virtual doublereal dPredictDerivative(const doublereal &dXm1, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const =0
doublereal dPredictDerivative(const doublereal &dXm1, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
StepNIntegrator(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const bool bmod_res_test)
void SetDataManager(DataManager *pDatMan)
virtual doublereal TestScale(const NonlinearSolverTest *pTest, doublereal &dAlgebraicEqu) const
VectorHandler * pXPrimePrev
Step2Integrator(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const bool bmod_res_test)
doublereal dPredictDerivative(const doublereal &dXm1, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
bool bJacobian(void) const
InverseDynamicsStepSolver(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const integer sts, const bool bmod_res_test)
doublereal dPredictDerivative(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXPm1, const doublereal &dXPm2, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
CrankNicolsonIntegrator(const doublereal Tl, const doublereal dSolTl, const integer iMaxIt, const bool bmod_res_test)
virtual doublereal dPredState(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2) const =0
virtual doublereal dPredictDerivative(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXPm1, const doublereal &dXPm2, DofOrder::Order o=DofOrder::DIFFERENTIAL) const =0
InverseDynamics::Order iOrder
void Residual(VectorHandler *pRes) const
virtual doublereal dPredStateAlg(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const =0
InverseDynamics::Order GetOrder(void) const
const DataManager::DofVecType * pDofs
doublereal dPredState(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2) const
doublereal dPredStateAlg(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const
virtual doublereal dPredState(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const =0
doublereal dPredState(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const
virtual doublereal Advance(Solver *pS, const doublereal TStep, const doublereal dAlph, const StepChange StType, std::deque< MyVectorHandler * > &qX, std::deque< MyVectorHandler * > &qXPrime, MyVectorHandler *const pX, MyVectorHandler *const pXPrime, integer &EffIter, doublereal &Err, doublereal &SolErr)
doublereal dPredDerAlg(const doublereal &dXm1, const doublereal &dXPm1, const doublereal &dXPm2) const
HopeSolver(const doublereal Tl, const doublereal dSolTol, const integer iMaxIt, const DriveCaller *pRho, const DriveCaller *pAlgRho, const bool bmod_res_test)
void Update(const VectorHandler *pSol) const
MyVectorHandler SavedState
VectorHandler * pXPrimePrimeCurr
virtual doublereal GetIntegratorDTol(void) const
VectorHandler * pXPrimeCurr
virtual ~StepIntegrator(void)
virtual void Predict(void)
void UpdateDof(const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const
void PredictDof(const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const
virtual doublereal Advance(Solver *pS, const doublereal TStep, const doublereal dAlph, const StepChange StType, std::deque< MyVectorHandler * > &qX, std::deque< MyVectorHandler * > &qXPrime, MyVectorHandler *const pX, MyVectorHandler *const pXPrime, integer &EffIter, doublereal &Err, doublereal &SolErr)
virtual void Jacobian(MatrixHandler *pJac) const
void SetDriveHandler(const DriveHandler *pDH)
virtual doublereal TestScale(const NonlinearSolverTest *pTest, doublereal &dCoef) const
doublereal dPredictState(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
doublereal dPredDerAlg(const doublereal &dXm1, const doublereal &dXPm1) const
virtual ~StepNIntegrator(void)
MyVectorHandler SavedDerState
doublereal dPredictState(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
void SetCoef(doublereal dT, doublereal dAlpha, enum StepChange NewStep)
~ImplicitEulerIntegrator(void)
doublereal dPredDer(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXPm1, const doublereal &dXPm2) const
virtual doublereal dPredictState(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const =0
virtual void EvalProd(doublereal Tau, const VectorHandler &f0, const VectorHandler &w, VectorHandler &z) const
virtual doublereal dPredStateAlg(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2) const =0
doublereal db0Differential
virtual void SetCoef(doublereal dT, doublereal dAlpha, enum StepChange NewStep)=0
MyVectorHandler SavedState
void Residual(VectorHandler *pRes) const
virtual void SetDriveHandler(const DriveHandler *pDH)
MultistepSolver(const doublereal Tl, const doublereal dSolTol, const integer iMaxIt, const DriveCaller *pRho, const DriveCaller *pAlgRho, const bool bmod_res_test)
MyVectorHandler SavedDerState
ImplicitEulerIntegrator(const doublereal Tl, const doublereal dSolTl, const integer iMaxIt, const bool bmod_res_test)
VectorHandler * pXPrimePrev
~InverseDynamicsStepSolver(void)
doublereal dPredState(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXP, const doublereal &dXPm1, const doublereal &dXPm2) const
doublereal dPredStateAlg(const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const
virtual doublereal Advance(Solver *pS, const doublereal TStep, const doublereal dAlph, const StepChange StType, std::deque< MyVectorHandler * > &qX, std::deque< MyVectorHandler * > &qXPrime, MyVectorHandler *const pX, MyVectorHandler *const pXPrime, integer &EffIter, doublereal &Err, doublereal &SolErr)
void Update(const VectorHandler *pSol) const
virtual integer GetIntegratorNumPreviousStates(void) const
doublereal dPredDer(const doublereal &dXm1, const doublereal &dXPm1) const
ErrGeneric(MBDYN_EXCEPT_ARGS_DECL)
virtual ~Step1Integrator(void)
virtual void Update(const VectorHandler *pSol) const
virtual doublereal TestScale(const NonlinearSolverTest *pTest, doublereal &dAlgebraicEqu) const
void PredictDof(const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const
void UpdateLoop(const T *const t, void(T::*pUpd)(const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol) const, const VectorHandler *const pSol=0) const
void SetDriveHandler(const DriveHandler *pDH)
virtual doublereal dPredDer(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXPm1, const doublereal &dXPm2) const =0
virtual void Residual(VectorHandler *pRes) const
VectorHandler * pLambdaCurr
void SetCoef(doublereal dT, doublereal dAlpha, enum StepChange NewStep)
~CrankNicolsonIntegrator(void)
VectorHandler * pXPrimePrev2
doublereal dPredictDerivative(const doublereal &dXm1, const doublereal &dXm2, const doublereal &dXPm1, const doublereal &dXPm2, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
virtual integer GetIntegratorNumUnknownStates(void) const
virtual doublereal GetIntegratorDSolTol(void) const
virtual doublereal dPredDerAlg(const doublereal &dXm1, const doublereal &dXPm1) const =0
virtual ~ImplicitStepIntegrator(void)