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 |
Public Member Functions inherited from Teuchos::Describable | |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
virtual | ~Describable () |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Public Member Functions inherited from Teuchos::VerboseObject< Tempus::TimeStepControlStrategy< Scalar > > | |
VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
virtual EVerbosityLevel | getVerbLevel () const |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
virtual | ~VerboseObjectBase () |
VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
virtual RCP< FancyOStream > | getOStream () const |
virtual RCP< FancyOStream > | getOverridingOStream () const |
virtual std::string | getLinePrefix () const |
virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") 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 | |
Static Public Member Functions inherited from Teuchos::VerboseObject< Tempus::TimeStepControlStrategy< Scalar > > | |
static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from Teuchos::Describable | |
static const EVerbosityLevel | verbLevel_default |
Protected Member Functions inherited from Tempus::TimeStepControlStrategy< Scalar > | |
virtual void | setStrategyType (std::string s) |
virtual void | setStepType (std::string s) |
Protected Member Functions inherited from Teuchos::VerboseObject< Tempus::TimeStepControlStrategy< Scalar > > | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
virtual void | informUpdatedVerbosityState () const |
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
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.
|
inlineoverridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 209 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 212 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Return ParameterList with current values.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 226 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlineoverridevirtual |
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 240 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 259 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 260 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 261 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 262 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 264 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 265 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 266 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
inlinevirtual |
Definition at line 267 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Amplification Factor.
Definition at line 272 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Reduction Factor.
Definition at line 273 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Minimum Value Monitoring Function.
Definition at line 274 of file Tempus_TimeStepControlStrategyBasicVS.hpp.
|
private |
Maximum Value Monitoring Function.
Definition at line 275 of file Tempus_TimeStepControlStrategyBasicVS.hpp.