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 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 | |
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 | errN_ |
Scalar | errNm1_ |
Scalar | errNm2_ |
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 58 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inline |
Default Constructor.
Definition at line 64 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inline |
Full Constructor.
Definition at line 81 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Destructor.
Definition at line 103 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Set the time step size.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 106 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 175 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 178 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Return ParameterList with current values.
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 201 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlineoverridevirtual |
Reimplemented from Tempus::TimeStepControlStrategy< Scalar >.
Definition at line 222 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 246 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 247 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 248 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 249 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 250 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 251 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 252 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 253 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 255 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 256 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 257 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 258 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 259 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 260 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 261 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
inlinevirtual |
Definition at line 262 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Control type ['I', 'PI', 'PID'].
Definition at line 266 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Integral gain.
Definition at line 267 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Proportional gain.
Definition at line 268 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Derivative gain.
Definition at line 269 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 270 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 271 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 272 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Safety Factor.
Definition at line 273 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Safety Factor Following Step Rejection.
Definition at line 274 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Maximum Safety Factor from input.
Definition at line 275 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Maximum Safety Factor.
Definition at line 276 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Minimum Safety Factor.
Definition at line 277 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 278 of file Tempus_TimeStepControlStrategyIntegralController.hpp.
|
private |
Definition at line 279 of file Tempus_TimeStepControlStrategyIntegralController.hpp.