|
Rythmos - Transient Integration for Differential Equations Version of the Day
|
Step Control Strategy for first-order time integration. More...
#include <Rythmos_FirstOrderErrorStepControlStrategy_decl.hpp>

Overridden from ParameterListAcceptor | |
| void | setParameterList (RCP< Teuchos::ParameterList > const ¶mList) |
| RCP< Teuchos::ParameterList > | getNonconstParameterList () |
| RCP< Teuchos::ParameterList > | unsetParameterList () |
| RCP< const Teuchos::ParameterList > | getValidParameters () const |
| void | initialize (const StepperBase< Scalar > &stepper) |
Overridden from StepControlStrategyBase | |
| void | setRequestedStepSize (const StepperBase< Scalar > &stepper, const Scalar &stepSize, const StepSizeType &stepSizeType) |
| void | nextStepSize (const StepperBase< Scalar > &stepper, Scalar *stepSize, StepSizeType *stepSizeType, int *order) |
| void | setCorrection (const StepperBase< Scalar > &stepper, const RCP< const Thyra::VectorBase< Scalar > > &soln, const RCP< const Thyra::VectorBase< Scalar > > &ee, int solveStatus) |
| bool | acceptStep (const StepperBase< Scalar > &stepper, Scalar *LETValue) |
| void | completeStep (const StepperBase< Scalar > &stepper) |
| AttemptedStepStatusFlag | rejectStep (const StepperBase< Scalar > &stepper) |
| StepControlStrategyState | getCurrentState () |
| int | getMaxOrder () const |
| void | setStepControlData (const StepperBase< Scalar > &stepper) |
| bool | supportsCloning () const |
| RCP< StepControlStrategyBase< Scalar > > | cloneStepControlStrategyAlgorithm () const |
Overridden from Teuchos::Describable | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
Additional Inherited Members |
Step Control Strategy for first-order time integration.
This step-control strategy assumes a first-order predictor (Forward Euler) for a first-order time integrator (Backward Euler) and tries to maintain a constant error based on relative and absolute tolerances by adjusting the step size. Although specifically built from Forward and Backward Euler, one could use this for other first-order schemes. See Grasho and Sani, "Incompressible Flow and the Finite Element Method", Volume One, p. 268.
To control the error through step-size selection, Forward Euler is used as a predictor
![\[ x^P_n = x_{n-1} + \Delta t f(x_{n-1}, t_{n-1}) \]](form_30.png)
with the local truncation error (LTE) of

Similarly for Backward Euler
![\[ x_n = x_{n-1} + \Delta t f(x_n, t_n) \]](form_32.png)
with the local truncation error (LTE) of

Using the Forward Euler as an estimate of the LTE for the Backward Euler, eliminating 


![\[ d_n = x_n - x(t_n) = (x_n - x^P_n)/2 \]](form_37.png)
which gives us an estimate of the LTE, 


To select the next step size, we would like the LTE to be meet a user-supplied tolerance,
![\[ d_{n+1} \leq \epsilon_r ||x_n|| + \epsilon_a \]](form_41.png)
where 


![\[ \frac{d_{n+1}}{d_n} = \frac{\epsilon_r ||x_n|| + \epsilon_a}{d_n}
= \frac{\Delta t^2_{n+1} \ddot{x}_{n+1}}{\Delta t^2_n \ddot{x}_n}
= \left(\frac{\Delta t_{n+1}}{\Delta t_n}\right)^2 + O(\Delta t) \]](form_45.png)
leading to the value for the next step size
![\[ \Delta t_{n+1} =
\Delta t_n \left(\frac{\epsilon_r ||x_n|| + \epsilon_a}{d_n}\right)^{1/2}
\]](form_46.png)
Definition at line 101 of file Rythmos_FirstOrderErrorStepControlStrategy_decl.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 201 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 236 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 267 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 283 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 384 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 331 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 150 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 607 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 579 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Reimplemented from Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 586 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Reimplemented from Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 594 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
| void Rythmos::FirstOrderErrorStepControlStrategy< Scalar >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel | ||
| ) | const |
Definition at line 418 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
| void Rythmos::FirstOrderErrorStepControlStrategy< Scalar >::setParameterList | ( | RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 440 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
| RCP< Teuchos::ParameterList > Rythmos::FirstOrderErrorStepControlStrategy< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 573 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
| RCP< Teuchos::ParameterList > Rythmos::FirstOrderErrorStepControlStrategy< Scalar >::unsetParameterList | ( | ) |
Definition at line 564 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
| RCP< const Teuchos::ParameterList > Rythmos::FirstOrderErrorStepControlStrategy< Scalar >::getValidParameters | ( | ) | const |
Definition at line 526 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.
|
virtual |
Implements Rythmos::StepControlStrategyBase< Scalar >.
Definition at line 173 of file Rythmos_FirstOrderErrorStepControlStrategy_def.hpp.