|
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().