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 |
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 by 1% 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 105 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inline |
Constructor.
Definition at line 111 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Destructor.
Definition at line 117 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inline |
Definition at line 288 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 279 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 285 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 283 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Determine the time step size.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 120 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 268 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 281 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 253 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 223 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 272 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Definition at line 335 of file Tempus_TimeStepControlStrategyBasicVS.hpp.