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>
32 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel)
43 virtual Teuchos::RCP<Tempus::StepperObserver<Scalar> >
getObserver()
const
44 {
return Teuchos::null; }
47 {
return Teuchos::null; }
59 TEMPUS_FUNC_TIME_MONITOR(
"Tempus::StepperPhysicsStateTest::takeStep()");
61 RCP<Tempus::SolutionState<Scalar> > currentState =
62 solutionHistory->getCurrentState();
64 typedef Thyra::ModelEvaluatorBase MEB;
65 this->
inArgs_.set_x(currentState->getX());
66 if (this->
inArgs_.supports(MEB::IN_ARG_t))
67 this->
inArgs_.set_t(currentState->getTime());
74 if (this->
inArgs_.supports(MEB::IN_ARG_x_dot))
75 this->
inArgs_.set_x_dot(Teuchos::null);
76 this->
outArgs_.set_f(currentState->getXDot());
81 RCP<Tempus::SolutionState<Scalar> > workingState =
82 solutionHistory->getWorkingState();
83 const Scalar dt = workingState->getTimeStep();
84 Thyra::V_VpStV(Teuchos::outArg(*(workingState->getX())),
85 *(currentState->getX()),dt,*(currentState->getXDot()));
87 RCP<PhysicsStateCounter<Scalar> > pSC =
88 Teuchos::rcp_dynamic_cast<PhysicsStateCounter<Scalar> >
89 (workingState->getPhysicsState());
90 int counter = pSC->getCounter();
92 pSC->setCounter(counter);
95 workingState->setOrder(this->
getOrder());
102 return Teuchos::null;
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Thyra Base interface for implicit time steppers.
Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs_
Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs_
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > appModel_
Explicit ODE ModelEvaluator.
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
StepperObserver class for Stepper class.
virtual bool getICConsistencyCheckDefault() const
void setICConsistencyCheck(bool c)
virtual std::string description() const
virtual bool getUseFSALDefault() const
virtual std::string getICConsistencyDefault() const
void setStepperType(std::string s)
void setICConsistency(std::string s)
This is a Forward Euler time stepper to test the PhysicsState.
Scalar getOrderMax() const
StepperPhysicsStateTest(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Constructor.
Scalar getOrderMin() const
Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
void setObserver(Teuchos::RCP< Tempus::StepperObserver< Scalar > >)
Set Observer.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
virtual void takeStep(const Teuchos::RCP< Tempus::SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
virtual Teuchos::RCP< Tempus::StepperObserver< Scalar > > getObserver() const
Get Observer.
Tempus::OrderODE getOrderODE() const
void initialize()
Initialize after construction and changing input parameters.
@ FIRST_ORDER_ODE
Stepper integrates first-order ODEs.