MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
ImplicitEulerIntegrator Class Reference

#include <stepsol.h>

Inheritance diagram for ImplicitEulerIntegrator:
Collaboration diagram for ImplicitEulerIntegrator:

Public Member Functions

 ImplicitEulerIntegrator (const doublereal Tl, const doublereal dSolTl, const integer iMaxIt, const bool bmod_res_test)
 
 ~ImplicitEulerIntegrator (void)
 
- Public Member Functions inherited from Step1Integrator
 Step1Integrator (const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const bool bmod_res_test)
 
virtual ~Step1Integrator (void)
 
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 StepNIntegrator
 StepNIntegrator (const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const integer stp, const bool bmod_res_test)
 
virtual ~StepNIntegrator (void)
 
virtual void Residual (VectorHandler *pRes) const
 
virtual void Jacobian (MatrixHandler *pJac) const
 
virtual void Update (const VectorHandler *pSol) const
 
virtual doublereal TestScale (const NonlinearSolverTest *pTest, doublereal &dAlgebraicEqu) const
 
- 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
 
- 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 SetCoef (doublereal dT, doublereal dAlpha, enum StepChange NewStep)
 
doublereal dPredictDerivative (const doublereal &dXm1, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
 
doublereal dPredictState (const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1, DofOrder::Order o=DofOrder::DIFFERENTIAL) const
 
doublereal dPredDer (const doublereal &dXm1, const doublereal &dXPm1) const
 
doublereal dPredState (const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const
 
doublereal dPredDerAlg (const doublereal &dXm1, const doublereal &dXPm1) const
 
doublereal dPredStateAlg (const doublereal &dXm1, const doublereal &dXP, const doublereal &dXPm1) const
 
- Protected Member Functions inherited from Step1Integrator
void PredictDof (const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const
 
virtual void Predict (void)
 
- Protected Member Functions inherited from StepNIntegrator
void UpdateDof (const int DCount, const DofOrder::Order Order, const VectorHandler *const pSol=0) const
 
- 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
 

Additional Inherited Members

- Public Types inherited from StepIntegrator
enum  { DIFFERENTIAL = 0, ALGEBRAIC = 1 }
 
enum  StepChange { NEWSTEP, REPEATSTEP }
 
- Public Attributes inherited from StepNIntegrator
doublereal db0Differential
 
doublereal db0Algebraic
 
- Protected Attributes inherited from Step1Integrator
VectorHandlerpXPrev
 
VectorHandlerpXPrimePrev
 
- Protected Attributes inherited from ImplicitStepIntegrator
VectorHandlerpXCurr
 
VectorHandlerpXPrimeCurr
 
bool bModResTest
 
- Protected Attributes inherited from StepIntegrator
DataManagerpDM
 
const DataManager::DofVecTypepDofs
 
bool outputPred
 
integer MaxIters
 
doublereal dTol
 
doublereal dSolTol
 
integer steps
 
integer unkstates
 

Detailed Description

Definition at line 381 of file stepsol.h.

Constructor & Destructor Documentation

ImplicitEulerIntegrator::ImplicitEulerIntegrator ( const doublereal  Tl,
const doublereal  dSolTl,
const integer  iMaxIt,
const bool  bmod_res_test 
)

Definition at line 914 of file stepsol.cc.

References NO_OP.

918 : Step1Integrator(iMaxIt, dTl, dSolTl, bmod_res_test)
919 {
920  NO_OP;
921 }
Step1Integrator(const integer MaxIt, const doublereal dT, const doublereal dSolutionTol, const bool bmod_res_test)
Definition: stepsol.cc:560
#define NO_OP
Definition: myassert.h:74
ImplicitEulerIntegrator::~ImplicitEulerIntegrator ( void  )

Definition at line 923 of file stepsol.cc.

References NO_OP.

924 {
925  NO_OP;
926 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

doublereal ImplicitEulerIntegrator::dPredDer ( const doublereal dXm1,
const doublereal dXPm1 
) const
protectedvirtual

Implements Step1Integrator.

Definition at line 959 of file stepsol.cc.

961 {
962  return dXPm1;
963 }
doublereal ImplicitEulerIntegrator::dPredDerAlg ( const doublereal dXm1,
const doublereal dXPm1 
) const
protectedvirtual

Implements Step1Integrator.

Definition at line 974 of file stepsol.cc.

976 {
977  return dXPm1;
978 }
doublereal ImplicitEulerIntegrator::dPredictDerivative ( const doublereal dXm1,
const doublereal dXPm1,
DofOrder::Order  o = DofOrder::DIFFERENTIAL 
) const
protectedvirtual

Implements Step1Integrator.

Definition at line 938 of file stepsol.cc.

941 {
942  return dXPm1;
943 }
doublereal ImplicitEulerIntegrator::dPredictState ( const doublereal dXm1,
const doublereal dXP,
const doublereal dXPm1,
DofOrder::Order  o = DofOrder::DIFFERENTIAL 
) const
protectedvirtual

Implements Step1Integrator.

Definition at line 946 of file stepsol.cc.

References DofOrder::ALGEBRAIC, and StepNIntegrator::db0Differential.

950 {
951  if (o == DofOrder::ALGEBRAIC) {
952  return db0Differential*dXP;
953  } /* else if (o == DofOrder::DIFFERENTIAL) */
954  return dXm1 + db0Differential*dXP;
955 }
doublereal db0Differential
Definition: stepsol.h:235
doublereal ImplicitEulerIntegrator::dPredState ( const doublereal dXm1,
const doublereal dXP,
const doublereal dXPm1 
) const
protectedvirtual

Implements Step1Integrator.

Definition at line 966 of file stepsol.cc.

References StepNIntegrator::db0Differential.

969 {
970  return dXm1 + db0Differential*dXP;
971 }
doublereal db0Differential
Definition: stepsol.h:235
doublereal ImplicitEulerIntegrator::dPredStateAlg ( const doublereal dXm1,
const doublereal dXP,
const doublereal dXPm1 
) const
protectedvirtual

Implements Step1Integrator.

Definition at line 981 of file stepsol.cc.

References StepNIntegrator::db0Differential.

984 {
985  return db0Differential*dXP;
986 }
doublereal db0Differential
Definition: stepsol.h:235
void ImplicitEulerIntegrator::SetCoef ( doublereal  dT,
doublereal  dAlpha,
enum StepChange  NewStep 
)
protectedvirtual

Implements StepNIntegrator.

Definition at line 929 of file stepsol.cc.

References StepNIntegrator::db0Algebraic, and StepNIntegrator::db0Differential.

932 {
933  db0Differential = db0Algebraic = dT*dAlpha;
934 }
doublereal db0Differential
Definition: stepsol.h:235
doublereal db0Algebraic
Definition: stepsol.h:236

The documentation for this class was generated from the following files: