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!!).
Below is the RK algorithm with the locations of the ModifierX calls italicized.
Definition at line 49 of file Tempus_StepperRKModifierXBase.hpp.
enum Tempus::StepperRKModifierXBase::MODIFIER_TYPE |
Indicates the location of application action (see algorithm).
Definition at line 135 of file Tempus_StepperRKModifierXBase.hpp.
|
inlineprivatevirtual |
Execute application action for RK Stepper.
Implements Tempus::StepperRKAppAction< Scalar >.
Definition at line 67 of file Tempus_StepperRKModifierXBase.hpp.
|
pure virtual |
Modify solution based on the MODIFIER_TYPE.