MBDyn-1.7.3
|
#include <thirdorderstepsol.h>
Public Member Functions | |
ThirdOrderIntegrator (const doublereal dT, const doublereal dSolutionTol, const integer iMaxIt, const bool bmod_res_test) | |
virtual | ~ThirdOrderIntegrator (void) |
virtual void | Residual (VectorHandler *pRes) const |
virtual void | Jacobian (MatrixHandler *pJac) const |
virtual void | Update (const VectorHandler *pSol) 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) |
Public Member Functions inherited from ImplicitStepIntegrator | |
ImplicitStepIntegrator (const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const integer sts, const bool bmod_res_test) | |
virtual | ~ImplicitStepIntegrator (void) |
virtual void | EvalProd (doublereal Tau, const VectorHandler &f0, const VectorHandler &w, VectorHandler &z) const |
virtual doublereal | TestScale (const NonlinearSolverTest *pTest, doublereal &dCoef) const |
Public Member Functions inherited from StepIntegrator | |
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) |
Public Member Functions inherited from NonlinearProblem | |
virtual | ~NonlinearProblem (void) |
Protected Member Functions | |
void | PredictDof_for_AfterPredict (const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const |
void | RealPredictDof (const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const |
void | UpdateDof (const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const |
virtual void | SetCoef (doublereal dT, doublereal dAlpha, enum StepChange NewStep)=0 |
virtual void | Predict (void) |
Protected Member Functions inherited from StepIntegrator | |
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 |
Protected Attributes | |
VectorHandler * | pXPrev |
VectorHandler * | pXPrimePrev |
doublereal | dT |
doublereal | rho |
doublereal | theta |
doublereal | w0 |
doublereal | w1 |
doublereal | w2 |
doublereal | jx11 |
doublereal | jx12 |
doublereal | jx21 |
doublereal | jx22 |
doublereal | m0 |
doublereal | m1 |
doublereal | n0 |
doublereal | n1 |
bool | bAdvanceCalledFirstTime |
MyVectorHandler | Restmp |
std::vector< bool > | EqIsAlgebraic |
std::vector< bool > | EqIsDifferential |
SpMapMatrixHandler | Jacxi_xp |
SpMapMatrixHandler | Jacxi_x |
SpMapMatrixHandler | Jac_xp |
SpMapMatrixHandler | Jac_x |
MatrixHandler * | pJacxi_xp |
MatrixHandler * | pJacxi_x |
MatrixHandler * | pJac_xp |
MatrixHandler * | pJac_x |
Protected Attributes inherited from ImplicitStepIntegrator | |
VectorHandler * | pXCurr |
VectorHandler * | pXPrimeCurr |
bool | bModResTest |
Protected Attributes inherited from StepIntegrator | |
DataManager * | pDM |
const DataManager::DofVecType * | pDofs |
bool | outputPred |
integer | MaxIters |
doublereal | dTol |
doublereal | dSolTol |
integer | steps |
integer | unkstates |
Additional Inherited Members | |
Public Types inherited from StepIntegrator | |
enum | { DIFFERENTIAL = 0, ALGEBRAIC = 1 } |
enum | StepChange { NEWSTEP, REPEATSTEP } |
Definition at line 40 of file thirdorderstepsol.h.
ThirdOrderIntegrator::ThirdOrderIntegrator | ( | const doublereal | dT, |
const doublereal | dSolutionTol, | ||
const integer | iMaxIt, | ||
const bool | bmod_res_test | ||
) |
Definition at line 52 of file thirdorderstepsol.cc.
References Jac_x, Jac_xp, Jacxi_x, Jacxi_xp, pJac_x, pJac_xp, pJacxi_x, and pJacxi_xp.
|
virtual |
Definition at line 67 of file thirdorderstepsol.cc.
References NO_OP.
|
virtual |
Implements StepIntegrator.
Definition at line 72 of file thirdorderstepsol.cc.
References DofOrder::ALGEBRAIC, ASSERT, bAdvanceCalledFirstTime, StepIntegrator::dSolTol, StepIntegrator::dTol, EqIsAlgebraic, EqIsDifferential, DataManager::iGetNumDofs(), Jac_x, Jac_xp, Jacxi_x, Jacxi_xp, DataManager::LinkToSolution(), StepIntegrator::MaxIters, StepIntegrator::pDM, StepIntegrator::pDofs, Solver::pGetNonlinearSolver(), Predict(), ImplicitStepIntegrator::pXCurr, pXPrev, ImplicitStepIntegrator::pXPrimeCurr, pXPrimePrev, MyVectorHandler::Resize(), SpMapMatrixHandler::Resize(), Restmp, SetCoef(), and NonlinearSolver::Solve().
|
virtual |
Implements NonlinearProblem.
Definition at line 258 of file thirdorderstepsol.cc.
References ASSERT, DataManager::AssJac(), DataManager::AssRes(), MyVectorHandler::Attach(), DEBUGCOUTFNAME, DataManager::dGetTime(), dT, EqIsDifferential, SpMapMatrixHandler::FakeThirdOrderMulAndSumWithShift(), DataManager::iGetNumDofs(), Jac_x, Jac_xp, Jacxi_x, Jacxi_xp, jx11, jx12, jx21, jx22, DataManager::LinkToSolution(), SpMapMatrixHandler::MulAndSumWithShift(), VectorHandler::pdGetVec(), StepIntegrator::pDM, pJac_x, pJac_xp, pJacxi_x, pJacxi_xp, ImplicitStepIntegrator::pXCurr, ImplicitStepIntegrator::pXPrimeCurr, MatrixHandler::Reset(), Restmp, DataManager::SetTime(), theta, and DataManager::Update().
|
protectedvirtual |
Definition at line 198 of file thirdorderstepsol.cc.
References DataManager::AfterPredict(), ASSERT, DEBUGCOUTFNAME, DataManager::LinkToSolution(), StepIntegrator::pDM, StepIntegrator::pDofs, PredictDof_for_AfterPredict(), ImplicitStepIntegrator::pXCurr, ImplicitStepIntegrator::pXPrimeCurr, RealPredictDof(), and StepIntegrator::UpdateLoop().
Referenced by Advance().
|
protected |
Definition at line 124 of file thirdorderstepsol.cc.
References DofOrder::ALGEBRAIC, DofOrder::DIFFERENTIAL, dT, MBDYN_EXCEPT_ARGS, VectorHandler::PutCoef(), ImplicitStepIntegrator::pXCurr, pXPrev, ImplicitStepIntegrator::pXPrimeCurr, and pXPrimePrev.
Referenced by Predict().
|
protected |
Definition at line 154 of file thirdorderstepsol.cc.
References DofOrder::ALGEBRAIC, DofOrder::DIFFERENTIAL, dT, DataManager::iGetNumDofs(), VectorHandler::IncCoef(), MBDYN_EXCEPT_ARGS, StepIntegrator::pDM, VectorHandler::PutCoef(), ImplicitStepIntegrator::pXCurr, pXPrev, ImplicitStepIntegrator::pXPrimeCurr, pXPrimePrev, and theta.
Referenced by Predict().
|
virtual |
Implements NonlinearProblem.
Definition at line 231 of file thirdorderstepsol.cc.
References ASSERT, DataManager::AssRes(), MyVectorHandler::Attach(), DEBUGCOUTFNAME, DataManager::dGetTime(), dT, DataManager::iGetNumDofs(), DataManager::LinkToSolution(), VectorHandler::pdGetVec(), StepIntegrator::pDM, ImplicitStepIntegrator::pXCurr, ImplicitStepIntegrator::pXPrimeCurr, DataManager::SetTime(), theta, and DataManager::Update().
|
protectedpure virtual |
Implemented in AdHocThirdOrderIntegrator, and TunableThirdOrderIntegrator.
Referenced by Advance().
|
virtual |
Implements NonlinearProblem.
Definition at line 364 of file thirdorderstepsol.cc.
References ASSERT, DEBUGCOUTFNAME, StepIntegrator::pDM, DataManager::Update(), UpdateDof(), and StepIntegrator::UpdateLoop().
|
protected |
Definition at line 334 of file thirdorderstepsol.cc.
References DofOrder::ALGEBRAIC, DofOrder::DIFFERENTIAL, dT, DataManager::iGetNumDofs(), VectorHandler::IncCoef(), m0, MBDYN_EXCEPT_ARGS, n0, StepIntegrator::pDM, ImplicitStepIntegrator::pXCurr, ImplicitStepIntegrator::pXPrimeCurr, w0, and w1.
Referenced by Update().
|
protected |
Definition at line 54 of file thirdorderstepsol.h.
Referenced by Advance().
|
protected |
Definition at line 47 of file thirdorderstepsol.h.
Referenced by Jacobian(), PredictDof_for_AfterPredict(), RealPredictDof(), Residual(), TunableThirdOrderIntegrator::SetCoef(), AdHocThirdOrderIntegrator::SetCoef(), and UpdateDof().
|
protected |
Definition at line 56 of file thirdorderstepsol.h.
Referenced by Advance().
|
protected |
Definition at line 56 of file thirdorderstepsol.h.
Referenced by Advance(), and Jacobian().
|
protected |
Definition at line 57 of file thirdorderstepsol.h.
Referenced by Advance(), Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 57 of file thirdorderstepsol.h.
Referenced by Advance(), Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 57 of file thirdorderstepsol.h.
Referenced by Advance(), Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 57 of file thirdorderstepsol.h.
Referenced by Advance(), Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 51 of file thirdorderstepsol.h.
Referenced by Jacobian(), TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 51 of file thirdorderstepsol.h.
Referenced by Jacobian(), TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 51 of file thirdorderstepsol.h.
Referenced by Jacobian(), TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 51 of file thirdorderstepsol.h.
Referenced by Jacobian(), TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 52 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), AdHocThirdOrderIntegrator::SetCoef(), and UpdateDof().
|
protected |
Definition at line 52 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 52 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), AdHocThirdOrderIntegrator::SetCoef(), and UpdateDof().
|
protected |
Definition at line 52 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 58 of file thirdorderstepsol.h.
Referenced by Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 58 of file thirdorderstepsol.h.
Referenced by Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 58 of file thirdorderstepsol.h.
Referenced by Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 58 of file thirdorderstepsol.h.
Referenced by Jacobian(), and ThirdOrderIntegrator().
|
protected |
Definition at line 44 of file thirdorderstepsol.h.
Referenced by Advance(), PredictDof_for_AfterPredict(), and RealPredictDof().
|
protected |
Definition at line 45 of file thirdorderstepsol.h.
Referenced by Advance(), PredictDof_for_AfterPredict(), and RealPredictDof().
|
mutableprotected |
Definition at line 55 of file thirdorderstepsol.h.
Referenced by Advance(), and Jacobian().
|
protected |
Definition at line 48 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 49 of file thirdorderstepsol.h.
Referenced by Jacobian(), RealPredictDof(), Residual(), TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().
|
protected |
Definition at line 50 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), AdHocThirdOrderIntegrator::SetCoef(), and UpdateDof().
|
protected |
Definition at line 50 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), AdHocThirdOrderIntegrator::SetCoef(), and UpdateDof().
|
protected |
Definition at line 50 of file thirdorderstepsol.h.
Referenced by TunableThirdOrderIntegrator::SetCoef(), and AdHocThirdOrderIntegrator::SetCoef().