9#ifndef Tempus_StepperTrapezoidalModifierXBase_hpp
10#define Tempus_StepperTrapezoidalModifierXBase_hpp
12#include "Tempus_config.hpp"
13#include "Tempus_SolutionHistory.hpp"
63 RCP<SolutionState<Scalar> > workingState = sh->getWorkingState();
64 const Scalar time = workingState->getTime();
65 const Scalar dt = workingState->getTimeStep();
66 RCP<Thyra::VectorBase<Scalar> > x;
72 x = workingState->getX();
78 x = workingState->getX();
84 x = workingState->getX();
90 if (workingState->getXDot() != Teuchos::null)
91 x = workingState->getXDot();
93 x = stepper->getStepperXDot();
97 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::logic_error,
98 "Error - unknown action location.\n");
101 this->
modify(x, time, dt, modType);
117 const Scalar ,
const Scalar ,
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Application Action for StepperTrapezoidal.
ACTION_LOCATION
Indicates the location of application action (see algorithm).
Base ModifierX for StepperTrapezoidal.
void execute(Teuchos::RCP< SolutionHistory< Scalar > > sh, Teuchos::RCP< StepperTrapezoidal< Scalar > > stepper, const typename StepperTrapezoidalAppAction< Scalar >::ACTION_LOCATION actLoc)
Execute application action for Trapezoidal Stepper.
virtual void modify(Teuchos::RCP< Thyra::VectorBase< Scalar > >, const Scalar, const Scalar, const MODIFIER_TYPE modType)=0
Modify solution based on the MODIFIER_TYPE.
MODIFIER_TYPE
Indicates the location of application action (see algorithm).
@ X_BEFORE_SOLVE
Modify before the implicit solve.
@ X_BEGIN_STEP
Modify at the beginning of the step.
@ XDOT_END_STEP
Modify at the end of the step.
@ X_AFTER_SOLVE
Modify after the implicit solve.
Trapezoidal method time stepper.