Tempus
Version of the Day
Time Integration
|
StepControlStrategy class for TimeStepControl. More...
#include <Tempus_TimeStepControlStrategyBasicVS.hpp>
Public Member Functions | |
TimeStepControlStrategyBasicVS (Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null) | |
Constructor. More... | |
virtual | ~TimeStepControlStrategyBasicVS () |
Destructor. More... | |
virtual void | getNextTimeStep (const TimeStepControl< Scalar > tsc, Teuchos::RCP< SolutionHistory< Scalar > > solutionHistory, Status &) override |
Determine the time step size. More... | |
virtual Scalar | getAmplFactor () const |
virtual Scalar | getReductFactor () const |
virtual Scalar | getMinEta () const |
virtual Scalar | getMaxEta () const |
virtual void | setAmplFactor (Scalar rho) |
virtual void | setReductFactor (Scalar sigma) |
virtual void | setMinEta (Scalar minEta) |
virtual void | setMaxEta (Scalar maxEta) |
Scalar | computeEta (const TimeStepControl< Scalar > tsc, const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
Overridden from Teuchos::ParameterListAcceptor | |
void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &pList) override |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const override |
Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () override |
Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () override |
Public Member Functions inherited from Tempus::TimeStepControlStrategy< Scalar > | |
TimeStepControlStrategy () | |
Constructor. More... | |
virtual | ~TimeStepControlStrategy () |
Destructor. More... | |
void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &) |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () |
Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () |
Private Attributes | |
Teuchos::RCP < Teuchos::ParameterList > | tscsPL_ |
StepControlStrategy class for TimeStepControl.
This TimeStepControlStrategy primarily tries to maintain a certain level of change in the solution ill-respective of the error involved, e.g., the solution should change between 1% and 3% ( and ) every time step. The relative solution change is measured by
where is a small constant to ensure that remains finite. The user can select the desired relative change in the solution by choosing a range for
If the solution change is outside this range, an amplification ( ) or reduction factor ( ) is applied to the timestep to bring the solution change back into the desired range. This can be written as
In the full implementation, several other mechanisms can amplify or reduce the timestep.
Note
Section 2.2.1 / Algorithm 2.4 of A. Denner, "Experiments on Temporal Variable Step BDF2 Algorithms", Masters Thesis, U Wisconsin-Madison, 2014.
Definition at line 106 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inline |
Constructor.
Definition at line 112 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Destructor.
Definition at line 118 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inline |
Definition at line 299 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 281 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 287 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 285 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Determine the time step size.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 121 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 270 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 283 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 255 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 290 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 296 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 294 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 225 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 292 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 274 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Definition at line 349 of file Tempus_TimeStepControlStrategyBasicVS.hpp.