|
Tempus
Version of the Day
Time Integration
|
StepControlStrategy class for TimeStepControl. More...
#include <Tempus_TimeStepControlStrategyBasicVS.hpp>

Public Member Functions | |
| TimeStepControlStrategyBasicVS () | |
| Default Constructor. More... | |
| TimeStepControlStrategyBasicVS (Scalar rho, Scalar sigma, Scalar minEta, Scalar maxEta, std::string name="Basic VS") | |
| Full Constructor. More... | |
| virtual | ~TimeStepControlStrategyBasicVS () |
| Destructor. More... | |
| virtual void | setNextTimeStep (const TimeStepControl< Scalar > &tsc, Teuchos::RCP< SolutionHistory< Scalar > > solutionHistory, Status &) override |
| Set the time step size. More... | |
| virtual Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const override |
| Return ParameterList with current values. More... | |
| virtual void | initialize () const override |
| 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) |
Public Member Functions inherited from Tempus::TimeStepControlStrategy< Scalar > | |
| TimeStepControlStrategy () | |
| Constructor. More... | |
| virtual | ~TimeStepControlStrategy () |
| Destructor. More... | |
| virtual void | getNextTimeStep (const TimeStepControl< Scalar > tsc, Teuchos::RCP< SolutionHistory< Scalar > > sh, Status &integratorStatus) |
| Deprecated get the time step size. More... | |
| virtual bool | isInitialized () |
| virtual void | checkInitialized () |
| virtual void | setName (std::string s) |
| virtual std::string | getStrategyType () const |
| virtual std::string | getStepType () const |
| virtual std::string | getName () const |
Private Attributes | |
| Scalar | rho_ |
| Amplification Factor. More... | |
| Scalar | sigma_ |
| Reduction Factor. More... | |
| Scalar | minEta_ |
| Minimum Value Monitoring Function. More... | |
| Scalar | maxEta_ |
| Maximum Value Monitoring Function. More... | |
Overridden from Teuchos::Describable | |
| std::string | description () const override |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const override |
Additional Inherited Members | |
Protected Member Functions inherited from Tempus::TimeStepControlStrategy< Scalar > | |
| virtual void | setStrategyType (std::string s) |
| virtual void | setStepType (std::string s) |
Protected Attributes inherited from Tempus::TimeStepControlStrategy< Scalar > | |
| std::string | strategyType_ |
| Strategy type. More... | |
| std::string | stepType_ |
| Step Type - "Constant" or "Variable". More... | |
| std::string | name_ |
| Name of strategy. More... | |
| bool | isInitialized_ |
| Bool if strategy is initialized. More... | |
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
, is still constrained to the maximum and minimum timestep size. 
, the timestep is unchanged, i.e., constant timestep size.
and
. These are the defaults.
, is required to be less than 1.91 for stability (
).
and the numerical tests confirm this for their problems.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 104 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inline |
Default Constructor.
Definition at line 110 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inline |
Full Constructor.
Definition at line 120 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Destructor.
Definition at line 131 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Set the time step size.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 134 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 209 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverride |
Definition at line 212 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Return ParameterList with current values.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 234 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 248 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 267 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 268 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 269 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 270 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 272 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 273 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 274 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 275 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Amplification Factor.
Definition at line 280 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Reduction Factor.
Definition at line 281 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Minimum Value Monitoring Function.
Definition at line 282 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Maximum Value Monitoring Function.
Definition at line 283 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
1.8.14