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 int 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;
 
  137     Teuchos::RCP<
const Thyra::VectorBase<Scalar> > x0,
 
  138     Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xdot0 = Teuchos::null,
 
  139     Teuchos::RCP<
const Thyra::VectorBase<Scalar> > xdotdot0 = Teuchos::null,
 
  140     Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > DxDp0 = Teuchos::null,
 
  141     Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > DxdotDp0 = Teuchos::null,
 
  142     Teuchos::RCP<
const Thyra::MultiVectorBase<Scalar> > DxdotdotDp0 = Teuchos::null);
 
  145   virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> > 
getX() 
const;
 
  146   virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> > 
getDxDp() 
const;
 
  148   virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> > 
getXdot() 
const;
 
  149   virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> > 
getDxdotDp() 
const;
 
  151   virtual Teuchos::RCP<const Thyra::VectorBase<Scalar> > 
getXdotdot() 
const;
 
  152   virtual Teuchos::RCP<const Thyra::MultiVectorBase<Scalar> > 
getDxdotdotDp() 
const;
 
  168     void describe(Teuchos::FancyOStream        & out,
 
  169                   const Teuchos::EVerbosityLevel verbLevel) 
const override;
 
  175   Teuchos::RCP<SensitivityModelEvaluatorBase<Scalar> >
 
  177     const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
 
  178     const Teuchos::RCP<Teuchos::ParameterList>& inputPL);
 
  182   Teuchos::RCP<Thyra::ModelEvaluator<Scalar> > 
model_;
 
  192 template<
class Scalar>
 
  193 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
 
  195   Teuchos::RCP<Teuchos::ParameterList>                pList,
 
  196   const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model);
 
  199 template<
class Scalar>
 
  200 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
 
  202   const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& model,
 
  203   std::string stepperType);
 
  206 template<
class Scalar>
 
  207 Teuchos::RCP<Tempus::IntegratorPseudoTransientForwardSensitivity<Scalar> >
 
  212 #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 int getIndex() const override
Get current index. 
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > getDxdotdotDp() const 
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList() override
virtual Teuchos::RCP< TimeStepControl< Scalar > > getNonConstTimeStepControl() 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 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.