10#ifndef Tempus_WrapperModelEvaluator_hpp
11#define Tempus_WrapperModelEvaluator_hpp
13#include "Tempus_config.hpp"
15#include "Thyra_StateFuncModelEvaluatorBase.hpp"
26template <
class Scalar>
41 Scalar timeStepSize, Scalar alpha, Scalar beta,
53 Teuchos::RCP<TimeDerivative<Scalar> >
timeDer_;
69template <
typename Scalar>
71 :
public Thyra::StateFuncModelEvaluatorBase<Scalar> {
76 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
80 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_g_space(
84 virtual Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_p_space(
93 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getAppModel()
102 const int index = -1 ) = 0;
ImplicitODEParameters()
Constructor.
Teuchos::RCP< TimeDerivative< Scalar > > timeDer_
EVALUATION_TYPE evaluationType_
ImplicitODEParameters(Teuchos::RCP< TimeDerivative< Scalar > > timeDer, Scalar timeStepSize, Scalar alpha, Scalar beta, EVALUATION_TYPE evaluationType=SOLVE_FOR_X, int stageNumber=0)
Constructor.
This interface defines the time derivative connection between an implicit Stepper and WrapperModelEva...
A ModelEvaluator which wraps the application ModelEvaluator.
virtual void setForSolve(const Teuchos::RCP< Thyra::VectorBase< Scalar > > &x, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &xDot, const Scalar time, const Teuchos::RCP< ImplicitODEParameters< Scalar > > &p, const Teuchos::RCP< Thyra::VectorBase< Scalar > > &y=Teuchos::null, const int index=-1)=0
Set parameters for application implicit ModelEvaluator solve.
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_p_space(int i) const =0
Get the p space.
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getAppModel() const =0
Get the underlying application ModelEvaluator.
virtual void setAppModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &me)=0
Set the underlying application ModelEvaluator.
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_g_space(int i) const =0
Get the g space.
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const =0
Get the x-solution space.
EVALUATION_TYPE
EVALUATION_TYPE indicates the evaluation to apply to the implicit ODE.
@ SOLVE_FOR_XDOT_CONST_X
Solve for xDot keeping x constant (for ICs).
@ SOLVE_FOR_X
Solve for x and determine xDot from x.
@ EVALUATE_RESIDUAL
Evaluate residual for the implicit ODE.