9 #ifndef Tempus_Stepper_Optimization_Interface_hpp 10 #define Tempus_Stepper_Optimization_Interface_hpp 13 #include "Teuchos_Array.hpp" 14 #include "Teuchos_RCP.hpp" 17 #include "Thyra_VectorBase.hpp" 18 #include "Thyra_LinearOpBase.hpp" 19 #include "Thyra_LinearOpWithSolveBase.hpp" 20 #include "Tempus_config.hpp" 39 template<
class Scalar>
55 const Teuchos::Array<Scalar>& t,
57 const int param_index)
const = 0;
67 const Teuchos::Array<Scalar>& t,
69 const int param_index,
70 const int deriv_index)
const = 0;
76 const Teuchos::Array<Scalar>& t,
78 const int param_index)
const = 0;
87 const Teuchos::Array<Scalar>& t,
89 const int param_index)
const = 0;
94 #endif // Tempus_Stepper_hpp
virtual void computeStepResidual(Thyra::VectorBase< Scalar > &residual, const Teuchos::Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x, const Teuchos::Array< Scalar > &t, const Thyra::VectorBase< Scalar > &p, const int param_index) const =0
Compute time step residual.
virtual void computeStepParamDeriv(Thyra::LinearOpBase< Scalar > &deriv, const Teuchos::Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x, const Teuchos::Array< Scalar > &t, const Thyra::VectorBase< Scalar > &p, const int param_index) const =0
Compute time step derivative w.r.t. model parameters.
virtual int stencilLength() const =0
Return the number of solution vectors in the time step stencil.
virtual void computeStepSolver(Thyra::LinearOpWithSolveBase< Scalar > &jacobian_solver, const Teuchos::Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x, const Teuchos::Array< Scalar > &t, const Thyra::VectorBase< Scalar > &p, const int param_index) const =0
Compute time step Jacobian solver.
virtual ~StepperOptimizationInterface()
virtual void computeStepJacobian(Thyra::LinearOpBase< Scalar > &jacobian, const Teuchos::Array< Teuchos::RCP< const Thyra::VectorBase< Scalar > > > &x, const Teuchos::Array< Scalar > &t, const Thyra::VectorBase< Scalar > &p, const int param_index, const int deriv_index) const =0
Compute time step Jacobian.
Stepper interface to support full-space optimization.
StepperOptimizationInterface()