9 #ifndef Tempus_PhysicsStateTest_StepperForwardEuler_hpp 10 #define Tempus_PhysicsStateTest_StepperForwardEuler_hpp 12 #include "Tempus_config.hpp" 13 #include "Tempus_StepperForwardEuler.hpp" 24 template<
class Scalar>
44 {
return Teuchos::null; }
56 TEMPUS_FUNC_TIME_MONITOR(
"Tempus::StepperPhysicsStateTest::takeStep()");
58 RCP<Tempus::SolutionState<Scalar> > currentState =
59 solutionHistory->getCurrentState();
61 typedef Thyra::ModelEvaluatorBase MEB;
62 this->
inArgs_.set_x(currentState->getX());
63 if (this->
inArgs_.supports(MEB::IN_ARG_t))
64 this->
inArgs_.set_t(currentState->getTime());
71 if (this->
inArgs_.supports(MEB::IN_ARG_x_dot))
72 this->
inArgs_.set_x_dot(Teuchos::null);
73 this->
outArgs_.set_f(currentState->getXDot());
78 RCP<Tempus::SolutionState<Scalar> > workingState =
79 solutionHistory->getWorkingState();
80 const Scalar dt = workingState->getTimeStep();
81 Thyra::V_VpStV(Teuchos::outArg(*(workingState->getX())),
82 *(currentState->getX()),dt,*(currentState->getXDot()));
84 RCP<PhysicsStateCounter<Scalar> > pSC =
86 (workingState->getPhysicsState());
89 pSC->setCounter(counter);
92 workingState->setOrder(this->
getOrder());
106 #endif // Tempus_PhysicsStateTest_StepperForwardEuler_hpp
Scalar getOrderMax() const
Scalar getOrderMin() const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > appModel_
Explicit ODE ModelEvaluator.
This is a Forward Euler time stepper to test the PhysicsState.
virtual void takeStep(const Teuchos::RCP< Tempus::SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs_
void setICConsistencyCheck(bool c)
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Set model.
PhysicsStateCounter is a simple PhysicsState that counts steps.
Stepper integrates first-order ODEs.
virtual std::string description() const
void initialize()
Initialize after construction and changing input parameters.
virtual int getCounter() const
Return counter of PhysicsStateCounter.
Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs_
Tempus::OrderODE getOrderODE() const
virtual void setUseFSAL(bool a)
Thyra Base interface for implicit time steppers.
void setStepperType(std::string s)
Set the stepper type.
StepperPhysicsStateTest(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Constructor.
void setICConsistency(std::string s)