9 #ifndef Tempus_StepperRKModifierXBase_hpp
10 #define Tempus_StepperRKModifierXBase_hpp
12 #include "Tempus_config.hpp"
13 #include "Tempus_SolutionHistory.hpp"
48 template<
class Scalar>
75 RCP<SolutionState<Scalar> > workingState = sh->getWorkingState();
76 const Scalar time = workingState->getTime();
77 const Scalar dt = workingState->getTimeStep();
78 const int stageNumber = stepper->getStageNumber();
79 RCP<Thyra::VectorBase<Scalar> > x;
85 x = workingState->getX();
91 x = workingState->getX();
97 x = workingState->getX();
103 x = workingState->getX();
109 x = stepper->getStageX();
115 x = stepper->getStageX();
121 x = workingState->getX();
125 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
126 "Error - unknown action location.\n");
129 this->
modify(x, time, dt, stageNumber, modType);
147 Teuchos::RCP<Thyra::VectorBase<Scalar> > ,
148 const Scalar ,
const Scalar ,
156 #endif // Tempus_StepperRKModifierXBase_hpp
Modify at the end of the step.
Modify after the implicit solve.
Base ModifierX for StepperRK.
Modify at the beginning of the stage.
Modify before the implicit solve.
Base class for Runge-Kutta methods, ExplicitRK, DIRK and IMEX.
Modify at the beginning of the step.
Application Action for StepperRKBase.
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Modify at the end of the stage.
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
Modify before the explicit evaluation.
ACTION_LOCATION
Indicates the location of application action (see algorithm).
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.
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.