Tempus
Version of the Day
Time Integration
|
Base ModifierX for StepperRK. More...
#include <Tempus_StepperRKModifierXBase.hpp>
Public Types | |
enum | MODIFIER_TYPE { X_BEGIN_STEP, X_BEGIN_STAGE, X_BEFORE_SOLVE, X_AFTER_SOLVE, X_BEFORE_EXPLICIT_EVAL, X_END_STAGE, X_END_STEP } |
Indicates the location of application action (see algorithm). More... | |
Public Types inherited from Tempus::StepperRKAppAction< Scalar > | |
enum | ACTION_LOCATION { BEGIN_STEP, BEGIN_STAGE, BEFORE_SOLVE, AFTER_SOLVE, BEFORE_EXPLICIT_EVAL, END_STAGE, END_STEP } |
Indicates the location of application action (see algorithm). More... | |
Public Member Functions | |
virtual void | modify (Teuchos::RCP< Thyra::VectorBase< Scalar > >, const Scalar, const Scalar, const int, const MODIFIER_TYPE modType)=0 |
Modify solution based on the MODIFIER_TYPE. More... | |
Public Member Functions inherited from Tempus::StepperRKAppAction< Scalar > | |
StepperRKAppAction () | |
Constructor. More... | |
virtual | ~StepperRKAppAction () |
Destructor. More... | |
Private Member Functions | |
void | execute (Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperRKBase< Scalar > > stepper, const typename StepperRKAppAction< Scalar >::ACTION_LOCATION actLoc) |
Execute application action for RK Stepper. More... | |
Base ModifierX for StepperRK.
This class provides a means to modify just the solution values (i.e., and ), and nothing else, but time and timestep are also provided.
Users deriving from this class can access and change the solution during the timestep (e.g., limiting the solution for monoticity). It is expected that the user knows what changes are allowable without affecting the Stepper correctness, performance, accuracy and stability (i.e., USER BEWARE!!).
The locations of the StepperRKModifierXBase::MODIFIER_TYPE which correspond to the RK AppActions (StepperRKAppAction::ACTION_LOCATION) in takeStep are documented in each of the RK Algorithm sections: StepperExplicitRK, StepperDIRK and StepperIMEX_RK.
Definition at line 39 of file Tempus_StepperRKModifierXBase.hpp.
enum Tempus::StepperRKModifierXBase::MODIFIER_TYPE |
Indicates the location of application action (see algorithm).
Definition at line 121 of file Tempus_StepperRKModifierXBase.hpp.
|
inlineprivatevirtual |
Execute application action for RK Stepper.
Implements Tempus::StepperRKAppAction< Scalar >.
Definition at line 57 of file Tempus_StepperRKModifierXBase.hpp.
|
pure virtual |
Modify solution based on the MODIFIER_TYPE.