Tempus
Version of the Day
Time Integration
|
StepControlStrategy class for TimeStepControl. More...
#include <Tempus_TimeStepControlStrategyIntegralController.hpp>
Public Member Functions | |
TimeStepControlStrategyIntegralController () | |
Default Constructor. More... | |
TimeStepControlStrategyIntegralController (std::string controller, Scalar KI, Scalar KP, Scalar KD, Scalar safetyFactor, Scalar safetyFactorAfterReject, Scalar facMax, Scalar facMin, std::string name="Integral Controller") | |
Full Constructor. More... | |
virtual | ~TimeStepControlStrategyIntegralController () |
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 std::string | getController () const |
virtual Scalar | getKI () const |
virtual Scalar | getKP () const |
virtual Scalar | getKD () const |
virtual Scalar | getSafetyFactor () const |
virtual Scalar | getSafetyFactorAfterReject () const |
virtual Scalar | getFacMax () const |
virtual Scalar | getFacMin () const |
virtual void | setController (std::string c) |
virtual void | setKI (Scalar k) |
virtual void | setKP (Scalar k) |
virtual void | setKD (Scalar k) |
virtual void | setSafetyFactor (Scalar f) |
virtual void | setSafetyFactorAfterReject (Scalar f) |
virtual void | setFacMax (Scalar f) |
virtual void | setFacMin (Scalar f) |
Public Member Functions inherited from Tempus::TimeStepControlStrategy< Scalar > | |
TimeStepControlStrategy () | |
Constructor. More... | |
virtual | ~TimeStepControlStrategy () |
Destructor. 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 | |
std::string | controller_ |
Control type ['I', 'PI', 'PID']. More... | |
Scalar | KI_ |
Integral gain. More... | |
Scalar | KP_ |
Proportional gain. More... | |
Scalar | KD_ |
Derivative gain. More... | |
Scalar | safetyFactor_ |
Safety Factor. More... | |
Scalar | safetyFactorAfterReject_ |
Safety Factor Following Step Rejection. More... | |
Scalar | facMaxINPUT_ |
Maximum Safety Factor from input. More... | |
Scalar | facMax_ |
Maximum Safety Factor. More... | |
Scalar | facMin_ |
Minimum Safety Factor. More... | |
bool | firstSuccessfulStep_ = false |
bool | lastStepRejected_ = false |
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.
Gustaf Soderlind. Automatic control and adaptive time-stepping. Numerical Algorithms, 31(1):281–310, Dec 2002.
The step size is chosen based on "Controller Type":
PID = Proportional-Integral-Derivative Controller
PI = Proportional-Integral Controller
I = Integral Controller
where is the error at time step and is the order of the embedded solution, which is assumed to be the low order solution (i.e., the time step order minus one).
Appropriate for Explicit Methods
Definition at line 59 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inline |
Default Constructor.
Definition at line 63 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inline |
Full Constructor.
Definition at line 82 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Destructor.
Definition at line 104 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Set the time step size.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 107 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 182 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 187 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Return ParameterList with current values.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 225 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 249 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 278 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 279 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 280 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 281 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 282 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 283 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 287 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 288 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 290 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 295 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 300 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 305 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 310 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 315 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 320 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 326 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Control type ['I', 'PI', 'PID'].
Definition at line 333 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Integral gain.
Definition at line 334 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Proportional gain.
Definition at line 335 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Derivative gain.
Definition at line 336 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Safety Factor.
Definition at line 337 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Safety Factor Following Step Rejection.
Definition at line 338 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Maximum Safety Factor from input.
Definition at line 339 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Maximum Safety Factor.
Definition at line 340 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Minimum Safety Factor.
Definition at line 341 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 342 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 343 of file Tempus_TimeStepControlStrategyIntegralController.hpp.