Tempus
Version of the Day
Time Integration
|
Base ModifierX for StepperForwardEuler. More...
#include <Tempus_StepperForwardEulerModifierXBase.hpp>
Public Types | |
enum | MODIFIER_TYPE { X_BEGIN_STEP, X_BEFORE_EXPLICIT_EVAL, XDOT_END_STEP } |
Indicates the location of application action (see algorithm). More... | |
Public Types inherited from Tempus::StepperForwardEulerAppAction< Scalar > | |
enum | ACTION_LOCATION { BEGIN_STEP, BEFORE_EXPLICIT_EVAL, 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 MODIFIER_TYPE modType)=0 |
Modify solution based on the MODIFIER_TYPE. More... | |
Public Member Functions inherited from Tempus::StepperForwardEulerAppAction< Scalar > | |
StepperForwardEulerAppAction () | |
Constructor. More... | |
virtual | ~StepperForwardEulerAppAction () |
Destructor. More... | |
Private Member Functions | |
void | execute (Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperForwardEuler< Scalar > > stepper, const typename StepperForwardEulerAppAction< Scalar >::ACTION_LOCATION actLoc) |
Execute application action for ForwardEuler Stepper. More... | |
Base ModifierX for StepperForwardEuler.
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 ForwardEuler algorithm with the locations of the ModifierX calls italicized.
Definition at line 49 of file Tempus_StepperForwardEulerModifierXBase.hpp.
enum Tempus::StepperForwardEulerModifierXBase::MODIFIER_TYPE |
Indicates the location of application action (see algorithm).
Enumerator | |
---|---|
X_BEGIN_STEP |
Modify at the beginning of the step. |
X_BEFORE_EXPLICIT_EVAL |
Modify before the implicit solve. |
XDOT_END_STEP |
Modify at the end of the step. |
Definition at line 110 of file Tempus_StepperForwardEulerModifierXBase.hpp.
|
inlineprivatevirtual |
Execute application action for ForwardEuler Stepper.
Implements Tempus::StepperForwardEulerAppAction< Scalar >.
Definition at line 67 of file Tempus_StepperForwardEulerModifierXBase.hpp.
|
pure virtual |
Modify solution based on the MODIFIER_TYPE.