9 #ifndef Tempus_IntegratorPseudoTransientAdjointSensitivity_decl_hpp
10 #define Tempus_IntegratorPseudoTransientAdjointSensitivity_decl_hpp
13 #include "Tempus_IntegratorBasic.hpp"
14 #include "Tempus_AdjointSensitivityModelEvaluator.hpp"
50 template<
class Scalar>
75 Teuchos::RCP<Teuchos::ParameterList> pList,
76 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model);
80 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
81 std::string stepperType);
96 virtual bool advanceTime(
const Scalar timeFinal)
override;
98 virtual Scalar
getTime()
const override;
100 virtual Scalar
getIndex()
const override;
104 virtual Teuchos::RCP<Stepper<Scalar> >
getStepper()
const override;
109 virtual Teuchos::RCP<const SolutionHistory<Scalar> >
getSolutionHistory()
const override;
111 virtual Teuchos::RCP<const TimeStepControl<Scalar> >
getTimeStepControl()
const override;
123 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > x0,
124 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xdot0 = Teuchos::null,
125 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xdotdot0 = Teuchos::null,
126 Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > y0 = Teuchos::null,
127 Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > ydot0 = Teuchos::null,
128 Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > ydotdot0 = Teuchos::null);
131 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getX()
const;
133 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXdot()
const;
135 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXdotdot()
const;
138 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDgDp()
const;
154 void describe(Teuchos::FancyOStream & out,
155 const Teuchos::EVerbosityLevel verbLevel)
const override;
159 typedef Thyra::DefaultMultiVectorProductVector<Scalar>
DMVPV;
162 Teuchos::RCP<AdjointSensitivityModelEvaluator<Scalar> >
164 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
165 const Teuchos::RCP<Teuchos::ParameterList>& inputPL);
169 Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >
model_;
170 Teuchos::RCP<AdjointSensitivityModelEvaluator<Scalar> >
sens_model_;
178 template<
class Scalar>
179 Teuchos::RCP<Tempus::IntegratorPseudoTransientAdjointSensitivity<Scalar> >
181 Teuchos::RCP<Teuchos::ParameterList> pList,
182 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model);
185 template<
class Scalar>
186 Teuchos::RCP<Tempus::IntegratorPseudoTransientAdjointSensitivity<Scalar> >
188 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
189 std::string stepperType);
192 template<
class Scalar>
193 Teuchos::RCP<Tempus::IntegratorPseudoTransientAdjointSensitivity<Scalar> >
198 #endif // Tempus_IntegratorPseudoTransientAdjointSensitivity_decl_hpp