9 #ifndef Tempus_IntegratorPseudoTransientForwardSensitivity_decl_hpp
10 #define Tempus_IntegratorPseudoTransientForwardSensitivity_decl_hpp
13 #include "Tempus_IntegratorBasic.hpp"
48 template<
class Scalar>
89 Teuchos::RCP<Teuchos::ParameterList> pList,
90 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model);
94 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
95 std::string stepperType);
110 virtual bool advanceTime(
const Scalar timeFinal)
override;
112 virtual Scalar
getTime()
const override;
114 virtual Scalar
getIndex()
const override;
118 virtual Teuchos::RCP<Stepper<Scalar> >
getStepper()
const override;
123 virtual Teuchos::RCP<const SolutionHistory<Scalar> >
getSolutionHistory()
const override;
125 virtual Teuchos::RCP<const TimeStepControl<Scalar> >
getTimeStepControl()
const override;
136 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > x0,
137 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xdot0 = Teuchos::null,
138 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xdotdot0 = Teuchos::null,
139 Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > DxDp0 = Teuchos::null,
140 Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > DxdotDp0 = Teuchos::null,
141 Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > DxdotdotDp0 = Teuchos::null);
144 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getX()
const;
145 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDxDp()
const;
147 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXdot()
const;
148 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDxdotDp()
const;
150 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXdotdot()
const;
151 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDxdotdotDp()
const;
167 void describe(Teuchos::FancyOStream & out,
168 const Teuchos::EVerbosityLevel verbLevel)
const override;
174 Teuchos::RCP<SensitivityModelEvaluatorBase<Scalar> >
176 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
177 const Teuchos::RCP<Teuchos::ParameterList>& inputPL);
181 Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >
model_;
191 template<
class Scalar>
192 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
194 Teuchos::RCP<Teuchos::ParameterList> pList,
195 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model);
198 template<
class Scalar>
199 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
201 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
202 std::string stepperType);
205 template<
class Scalar>
206 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
211 #endif // Tempus_IntegratorPseudoTransientForwardSensitivity_decl_hpp
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDxdotDp() const
virtual Teuchos::RCP< Stepper< Scalar > > getStepper() const override
Get the Stepper.
virtual Status getStatus() const override
Get Status.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl) override
virtual Teuchos::RCP< Teuchos::Time > getStepperTimer() const override
virtual Teuchos::RCP< const SolutionHistory< Scalar > > getSolutionHistory() const override
Get the SolutionHistory.
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDxDp() const
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDxdotdotDp() const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList() override
Teuchos::RCP< Tempus::IntegratorPseudoTransientForwardSensitivity< Scalar > > integratorPseudoTransientForwardSensitivity(Teuchos::RCP< Teuchos::ParameterList > pList, const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model)
Non-member constructor.
Teuchos::RCP< IntegratorBasic< Scalar > > state_integrator_
virtual void initializeSolutionHistory(Scalar t0, Teuchos::RCP< const Thyra::VectorBase< Scalar > > x0, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot0=Teuchos::null, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot0=Teuchos::null, Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > DxDp0=Teuchos::null, Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > DxdotDp0=Teuchos::null, Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > DxdotdotDp0=Teuchos::null)
Set the initial state from Thyra::VectorBase(s)
virtual bool advanceTime()
Advance the solution to timeMax, and return true if successful.
virtual ~IntegratorPseudoTransientForwardSensitivity()
Destructor.
Teuchos::RCP< SolutionHistory< Scalar > > solutionHistory_
Status
Status for the Integrator, the Stepper and the SolutionState.
virtual Teuchos::RCP< Teuchos::Time > getIntegratorTimer() const override
Returns the IntegratorTimer_ for this Integrator.
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const override
std::string description() const override
virtual Teuchos::RCP< Teuchos::ParameterList > getTempusParameterList() override
Return a copy of the Tempus ParameterList.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const override
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > sens_model_
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXdot() const
Get current the time derivative of the solution, xdot.
virtual Scalar getIndex() const override
Get current index.
virtual Scalar getTime() const override
Get current time.
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > createSensitivityModel(const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model, const Teuchos::RCP< Teuchos::ParameterList > &inputPL)
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXdotdot() const
Get current the second time derivative of the solution, xdotdot.
IntegratorPseudoTransientForwardSensitivity()
Destructor.
Time integrator suitable for pseudotransient forward sensitivity analysis.
Thyra Base interface for time integrators. Time integrators are designed to advance the solution from...
virtual void setTempusParameterList(Teuchos::RCP< Teuchos::ParameterList > pl) override
void buildSolutionHistory()
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList() override
virtual Teuchos::RCP< const TimeStepControl< Scalar > > getTimeStepControl() const override
Get the TimeStepControl.
Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > model_
Teuchos::RCP< IntegratorBasic< Scalar > > sens_integrator_
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getX() const
Get current the solution, x.