9 #ifndef Tempus_IntegratorPseudoTransientForwardSensitivity_decl_hpp 10 #define Tempus_IntegratorPseudoTransientForwardSensitivity_decl_hpp 13 #include "Tempus_config.hpp" 14 #include "Tempus_IntegratorBasic.hpp" 55 template<
class Scalar>
100 const bool reuse_solver,
const bool force_W_update);
115 virtual bool advanceTime(
const Scalar timeFinal)
override;
117 virtual Scalar
getTime()
const override;
119 virtual int getIndex()
const override;
125 virtual Teuchos::RCP<Stepper<Scalar> >
getStepper()
const override;
132 virtual Teuchos::RCP<const SolutionHistory<Scalar> >
getSolutionHistory()
const override;
136 virtual Teuchos::RCP<const TimeStepControl<Scalar> >
getTimeStepControl()
const override;
156 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getX()
const;
157 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDxDp()
const;
159 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXDot()
const;
160 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDXDotDp()
const;
162 virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> >
getXDotDot()
const;
163 virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> >
getDXDotDotDp()
const;
168 void describe(Teuchos::FancyOStream & out,
169 const Teuchos::EVerbosityLevel verbLevel)
const override;
176 Teuchos::RCP<Thyra::ModelEvaluator<Scalar>>
model_;
195 template<
class Scalar>
196 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
198 Teuchos::RCP<Teuchos::ParameterList> pList,
210 template<
class Scalar>
211 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
216 #endif // Tempus_IntegratorPseudoTransientForwardSensitivity_decl_hpp virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getX() const
Get current the solution, x.
virtual Teuchos::RCP< Stepper< Scalar > > getStepper() const override
Get the Stepper.
virtual void setStatus(const Status st) override
Set Status.
virtual Status getStatus() const override
Get Status.
virtual void setTempusParameterList(Teuchos::RCP< Teuchos::ParameterList > pl) override
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDXDotDp() const
virtual Teuchos::RCP< Teuchos::Time > getStepperTimer() const override
virtual Teuchos::RCP< const SolutionHistory< Scalar > > getSolutionHistory() const override
Get the SolutionHistory.
virtual int getIndex() const override
Get current index.
virtual Teuchos::RCP< TimeStepControl< Scalar > > getNonConstTimeStepControl() override
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDot() const
Get current the time derivative of the solution, xdot.
Teuchos::RCP< IntegratorBasic< Scalar > > state_integrator_
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDxDp() const
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 Teuchos::RCP< const Thyra::VectorBase< Scalar > > getXDotDot() const
Get current the second time derivative of the solution, xdotdot.
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
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > sens_model_
virtual Scalar getTime() const override
Get current time.
virtual Teuchos::RCP< Teuchos::ParameterList > getTempusParameterList() override
Return a copy of the Tempus ParameterList.
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...
Teuchos::RCP< Tempus::IntegratorPseudoTransientForwardSensitivity< Scalar > > createIntegratorPseudoTransientForwardSensitivity(Teuchos::RCP< Teuchos::ParameterList > pList, const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model)
Nonmember constructor.
void buildSolutionHistory()
virtual Teuchos::RCP< const TimeStepControl< Scalar > > getTimeStepControl() const override
Get the TimeStepControl.
virtual Teuchos::RCP< SolutionHistory< Scalar > > getNonConstSolutionHistory() override
Get the SolutionHistory.
Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > model_
Teuchos::RCP< IntegratorBasic< Scalar > > sens_integrator_
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDXDotDotDp() const
A ModelEvaluator decorator for sensitivity analysis.