MBDyn-1.7.3
|
#include <stepsol.h>
Public Member Functions | |
InverseDynamicsStepSolver (const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const integer sts, const bool bmod_res_test) | |
~InverseDynamicsStepSolver (void) | |
virtual void | EvalProd (doublereal Tau, const VectorHandler &f0, const VectorHandler &w, VectorHandler &z) const |
virtual doublereal | TestScale (const NonlinearSolverTest *pTest, doublereal &dCoef) 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 doublereal | Advance (InverseSolver *pS, const doublereal TStep, const StepChange StType, MyVectorHandler *const pX, MyVectorHandler *const pXPrime, MyVectorHandler *const pXPrimePrime, MyVectorHandler *const pLambda, integer &EffIter, doublereal &Err, doublereal &SolErr) |
void | Residual (VectorHandler *pRes) const |
void | Jacobian (MatrixHandler *pJac) const |
void | Update (const VectorHandler *pSol) const |
void | SetOrder (InverseDynamics::Order iOrder) |
InverseDynamics::Order | GetOrder (void) const |
bool | bJacobian (void) const |
![]() | |
StepIntegrator (const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const integer sts) | |
virtual | ~StepIntegrator (void) |
void | SetDataManager (DataManager *pDatMan) |
virtual integer | GetIntegratorNumPreviousStates (void) const |
virtual integer | GetIntegratorNumUnknownStates (void) const |
virtual integer | GetIntegratorMaxIters (void) const |
virtual doublereal | GetIntegratorDTol (void) const |
virtual doublereal | GetIntegratorDSolTol (void) const |
virtual void | OutputTypes (const bool fpred) |
virtual void | SetDriveHandler (const DriveHandler *pDH) |
![]() | |
virtual | ~NonlinearProblem (void) |
Protected Attributes | |
VectorHandler * | pXCurr |
VectorHandler * | pXPrimeCurr |
VectorHandler * | pXPrimePrimeCurr |
VectorHandler * | pLambdaCurr |
bool | bModResTest |
![]() | |
DataManager * | pDM |
const DataManager::DofVecType * | pDofs |
bool | outputPred |
integer | MaxIters |
doublereal | dTol |
doublereal | dSolTol |
integer | steps |
integer | unkstates |
Private Attributes | |
MyVectorHandler | XTau |
MyVectorHandler | SavedState |
MyVectorHandler | SavedDerState |
bool | bEvalProdCalledFirstTime |
InverseDynamics::Order | iOrder |
bool | m_bJacobian |
Additional Inherited Members | |
![]() | |
enum | { DIFFERENTIAL = 0, ALGEBRAIC = 1 } |
enum | StepChange { NEWSTEP, REPEATSTEP } |
![]() | |
template<class T > | |
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 |
InverseDynamicsStepSolver::InverseDynamicsStepSolver | ( | const integer | MaxIt, |
const doublereal | dT, | ||
const doublereal | dSolutionTol, | ||
const integer | stp, | ||
const integer | sts, | ||
const bool | bmod_res_test | ||
) |
Definition at line 1378 of file stepsol.cc.
InverseDynamicsStepSolver::~InverseDynamicsStepSolver | ( | void | ) |
Definition at line 1400 of file stepsol.cc.
References NO_OP.
|
inlinevirtual |
Implements StepIntegrator.
Definition at line 708 of file stepsol.h.
References MBDYN_EXCEPT_ARGS.
|
virtual |
Definition at line 1528 of file stepsol.cc.
References InverseDynamics::ACCELERATION, ASSERT, bJacobian(), StepIntegrator::dSolTol, StepIntegrator::dTol, InverseDynamics::FULLY_ACTUATED_COLLOCATED, DataManager::GetSolver(), DataManager::IDAfterConvergence(), InverseDynamics::INVERSE_DYNAMICS, Jacobian(), DataManager::LinkToSolution(), SolutionManager::MatrReset(), StepIntegrator::MaxIters, SolverDiagnostics::outputJac(), SolverDiagnostics::outputRes(), SolverDiagnostics::outputSol(), StepIntegrator::pDM, Solver::pGetNonlinearSolver(), Solver::pGetSolutionManager(), pLambdaCurr, SolutionManager::pMatHdl(), InverseDynamics::POSITION, SolutionManager::pResHdl(), Solver::PrintResidual(), Solver::PrintSolution(), SolutionManager::pSolHdl(), pXCurr, pXPrimeCurr, pXPrimePrimeCurr, VectorHandler::Reset(), Residual(), SetOrder(), SolutionManager::Solve(), NonlinearSolver::Solve(), SolutionManager::SolveT(), Update(), and InverseDynamics::VELOCITY.
bool InverseDynamicsStepSolver::bJacobian | ( | void | ) | const |
|
virtual |
Implements NonlinearProblem.
Definition at line 1406 of file stepsol.cc.
References ASSERT, bEvalProdCalledFirstTime, copysign(), f0, grad::fabs(), VectorHandler::iGetSize(), VectorHandler::InnerProd(), VectorHandler::Norm(), StepIntegrator::pDM, pXCurr, pXPrimeCurr, VectorHandler::Reset(), MyVectorHandler::Reset(), Residual(), MyVectorHandler::Resize(), SavedDerState, SavedState, VectorHandler::ScalarMul(), MyVectorHandler::ScalarMul(), DataManager::Update(), Update(), and XTau.
InverseDynamics::Order InverseDynamicsStepSolver::GetOrder | ( | void | ) | const |
Definition at line 1516 of file stepsol.cc.
References iOrder.
Referenced by DataManager::AssConstrJac().
|
virtual |
Implements NonlinearProblem.
Definition at line 1698 of file stepsol.cc.
References DataManager::AssConstrJac(), ASSERT, and StepIntegrator::pDM.
Referenced by Advance().
|
virtual |
Implements NonlinearProblem.
Definition at line 1683 of file stepsol.cc.
References DataManager::AssConstrRes(), ASSERT, DataManager::AssRes(), InverseDynamics::INVERSE_DYNAMICS, iOrder, and StepIntegrator::pDM.
Referenced by Advance(), and EvalProd().
void InverseDynamicsStepSolver::SetOrder | ( | InverseDynamics::Order | iOrder | ) |
|
virtual |
Implements NonlinearProblem.
Definition at line 1471 of file stepsol.cc.
References ASSERT, bModResTest, DofOrder::DIFFERENTIAL, NonlinearSolverTest::dScaleCoef(), VectorHandler::iGetSize(), StepIntegrator::pDofs, and pXPrimeCurr.
|
virtual |
Implements NonlinearProblem.
Definition at line 1705 of file stepsol.cc.
References InverseDynamics::ACCELERATION, ASSERT, DEBUGCOUTFNAME, InverseDynamics::FULLY_ACTUATED_COLLOCATED, InverseDynamics::FULLY_ACTUATED_NON_COLLOCATED, DataManager::GetSolver(), InverseDynamics::INVERSE_DYNAMICS, iOrder, m_bJacobian, MBDYN_EXCEPT_ARGS, StepIntegrator::pDM, pLambdaCurr, InverseDynamics::POSITION, pXCurr, pXPrimeCurr, pXPrimePrimeCurr, InverseDynamics::UNDERDETERMINED_FULLY_ACTUATED, InverseDynamics::UNDERDETERMINED_UNDERACTUATED_COLLOCATED, DataManager::Update(), and InverseDynamics::VELOCITY.
Referenced by Advance(), and EvalProd().
|
mutableprivate |
Definition at line 677 of file stepsol.h.
Referenced by EvalProd().
|
protected |
Definition at line 687 of file stepsol.h.
Referenced by TestScale().
|
private |
Definition at line 679 of file stepsol.h.
Referenced by GetOrder(), Residual(), SetOrder(), and Update().
|
mutableprivate |
Definition at line 680 of file stepsol.h.
Referenced by bJacobian(), and Update().
|
protected |
|
protected |
Definition at line 683 of file stepsol.h.
Referenced by Advance(), EvalProd(), and Update().
|
protected |
Definition at line 684 of file stepsol.h.
Referenced by Advance(), EvalProd(), TestScale(), and Update().
|
protected |
|
mutableprivate |
Definition at line 676 of file stepsol.h.
Referenced by EvalProd().
|
mutableprivate |
Definition at line 673 of file stepsol.h.
Referenced by EvalProd().
|
mutableprivate |
Definition at line 672 of file stepsol.h.
Referenced by EvalProd().