Tempus
Version of the Day
Time Integration
|
Base ModifierX for StepperOperatorSplit. More...
#include <Tempus_StepperOperatorSplitModifierXBase.hpp>
Public Types | |
enum | MODIFIER_TYPE { X_BEGIN_STEP, X_BEFORE_STEPPER, X_AFTER_STEPPER, XDOT_END_STEP } |
Indicates the location of application action (see algorithm). More... | |
Public Types inherited from Tempus::StepperOperatorSplitAppAction< Scalar > | |
enum | ACTION_LOCATION { BEGIN_STEP, BEFORE_STEPPER, AFTER_STEPPER, END_STEP } |
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::StepperOperatorSplitAppAction< Scalar > | |
StepperOperatorSplitAppAction () | |
Constructor. More... | |
virtual | ~StepperOperatorSplitAppAction () |
Destructor. More... | |
Private Member Functions | |
void | execute (Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperOperatorSplit< Scalar > > stepper, const typename StepperOperatorSplitAppAction< Scalar >::ACTION_LOCATION actLoc) |
Execute application action for OperatorSplit Stepper. More... | |
Base ModifierX for StepperOperatorSplit.
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 StepperOperatorSplitModifierXBase::MODIFIER_TYPE which correspond to the AppAction calls (StepperOperatorSplitAppAction::ACTION_LOCATION) are shown in the algorithm documentation of the StepperOperatorSplit.
Definition at line 38 of file Tempus_StepperOperatorSplitModifierXBase.hpp.
enum Tempus::StepperOperatorSplitModifierXBase::MODIFIER_TYPE |
Indicates the location of application action (see algorithm).
Enumerator | |
---|---|
X_BEGIN_STEP |
Modify at the beginning of the step. |
X_BEFORE_STEPPER |
Modify before the implicit solve. |
X_AFTER_STEPPER | |
XDOT_END_STEP |
Modify at the end of the step. |
Definition at line 108 of file Tempus_StepperOperatorSplitModifierXBase.hpp.
|
inlineprivatevirtual |
Execute application action for OperatorSplit Stepper.
Implements Tempus::StepperOperatorSplitAppAction< Scalar >.
Definition at line 56 of file Tempus_StepperOperatorSplitModifierXBase.hpp.
|
pure virtual |
Modify solution based on the MODIFIER_TYPE.