Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Step Control Strategy for first-order time integration. More...
#include <Rythmos_FirstOrderErrorStepControlStrategy_decl.hpp>
Public Member Functions | |
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 |
Overridden from ParameterListAcceptor | |
void | setParameterList (RCP< Teuchos::ParameterList > const ¶mList) |
RCP< Teuchos::ParameterList > | getNonconstParameterList () |
RCP< Teuchos::ParameterList > | unsetParameterList () |
RCP< const Teuchos::ParameterList > | getValidParameters () const |
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
with the local truncation error (LTE) of
Similarly for Backward Euler
with the local truncation error (LTE) of
Using the Forward Euler as an estimate of the LTE for the Backward Euler, eliminating , and forming in terms of , we get
which gives us an estimate of the LTE, in term of the difference between the Backward Euler solution, , and the predicted Forward Euler solution, .
To select the next step size, we would like the LTE to be meet a user-supplied tolerance,
where and are the relative and absolute tolerances, and is the norm. Normalizing this with respect to the current step, which allows us the relate the current step size to the next step size, and using the LTE, we find
leading to the value for the next step size
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.