9 #ifndef Tempus_StepperBDF2_decl_hpp
10 #define Tempus_StepperBDF2_decl_hpp
12 #include "Tempus_StepperImplicit.hpp"
43 template<
class Scalar>
50 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel,
51 Teuchos::RCP<Teuchos::ParameterList> pList = Teuchos::null);
60 void setStartUpStepper(Teuchos::RCP<Teuchos::ParameterList>startUpStepperPL=Teuchos::null);
88 virtual void setInitialGuess(Teuchos::RCP<
const Thyra::VectorBase<Scalar> > initial_guess)
93 virtual Teuchos::RCP<Thyra::VectorBase<Scalar> >
getXDotTemp(
94 Teuchos::RCP<Thyra::VectorBase<Scalar> > x);
108 virtual void describe(Teuchos::FancyOStream & out,
109 const Teuchos::EVerbosityLevel verbLevel)
const;
145 template <
typename Scalar>
153 Scalar dt, Scalar dtOld, Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xOld,
154 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xOldOld)
162 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > x,
163 Teuchos::RCP< Thyra::VectorBase<Scalar> > xDot,
164 Teuchos::RCP< Thyra::VectorBase<Scalar> > xDotDot = Teuchos::null)
166 xDotDot = Teuchos::null;
171 Thyra::V_StVpStV(xDot.ptr(),a,*x,-a,*
xOld_);
172 Teuchos::RCP<Thyra::VectorBase<Scalar> > tmp =
173 Thyra::createMember<Scalar>(x->space());
177 Thyra::Vp_StV(xDot.ptr(), -1.0, *tmp);
181 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xOld,
182 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xOldOld)
187 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
xOld_;
188 Teuchos::RCP<const Thyra::VectorBase<Scalar> >
xOldOld_;
196 #endif // Tempus_StepperBDF2_decl_hpp