10#ifndef Tempus_StepperStaggeredForwardSensitivity_decl_hpp
11#define Tempus_StepperStaggeredForwardSensitivity_decl_hpp
13#include "Tempus_config.hpp"
14#include "Tempus_Stepper.hpp"
35template <
class Scalar>
38 virtual public Teuchos::ParameterListAcceptor {
85 const Teuchos::RCP<Teuchos::ParameterList>& pList = Teuchos::null,
86 const Teuchos::RCP<Teuchos::ParameterList>& sens_pList = Teuchos::null);
93 setModel(appModel, appModel, appModel);
101 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getModel()
const;
104 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver = Teuchos::null);
105 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const
128 return Scalar(1.0e+99);
156 return stepperPL_->get<
bool>(
"Use FSAL",
false);
161 stepperPL_->set<std::string>(
"Initial Condition Consistency", s);
165 return stepperPL_->get<std::string>(
"Initial Condition Consistency",
171 stepperPL_->set<
bool>(
"Initial Condition Consistency Check", c);
175 return stepperPL_->get<
bool>(
"Initial Condition Consistency Check",
false);
198 return "StepperStaggeredForwardSensitivity";
200 virtual void describe(Teuchos::FancyOStream& out,
201 const Teuchos::EVerbosityLevel verbLevel)
const;
204 virtual bool isValidSetup(Teuchos::FancyOStream& out)
const;
206 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
217 void setParams(
const Teuchos::RCP<Teuchos::ParameterList>& pl,
218 const Teuchos::RCP<Teuchos::ParameterList>& spl);
226 Teuchos::RCP<SensitivityModelEvaluatorBase<Scalar> >
fsa_model_;
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
A stepper implementing staggered forward sensitivity analysis.
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
virtual std::string description() const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
SensitivityStepMode stepMode_
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar > > &)
Set the initial conditions and make them consistent.
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
SensitivityStepMode getStepMode() const
What mode the current time integration step is in.
virtual Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
virtual bool isOneStepMethod() const
virtual std::string getICConsistency() const
virtual Scalar getOrder() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
void setParams(const Teuchos::RCP< Teuchos::ParameterList > &pl, const Teuchos::RCP< Teuchos::ParameterList > &spl)
Teuchos::RCP< Teuchos::ParameterList > stepperPL_
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl)
virtual void setInitialGuess(Teuchos::RCP< const Thyra::VectorBase< Scalar > >)
Pass initial guess to Newton solver.
Teuchos::RCP< Teuchos::ParameterList > getDefaultParameters() const
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver() const
Get solver.
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
virtual void setICConsistency(std::string s)
Teuchos::RCP< SolutionHistory< Scalar > > stateSolutionHistory_
virtual Scalar getOrderMax() const
virtual bool isMultiStepMethod() const
Teuchos::RCP< Stepper< Scalar > > stateStepper_
StepperStaggeredForwardSensitivity()
Default constructor.
Teuchos::RCP< Stepper< Scalar > > sensitivityStepper_
virtual bool isImplicit() const
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &) const
virtual bool getICConsistencyCheck() const
virtual bool getUseFSAL() const
virtual void setICConsistencyCheck(bool c)
virtual Scalar getOrderMin() const
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > fsa_model_
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Teuchos::RCP< Teuchos::ParameterList > sensPL_
virtual void setUseFSAL(bool a)
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > combined_fsa_model_
virtual OrderODE getOrderODE() const
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
virtual bool isExplicitImplicit() const
virtual void setSolver(Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver=Teuchos::null)
Set solver.
Teuchos::RCP< SolutionHistory< Scalar > > sensSolutionHistory_
virtual bool isExplicit() const
Thyra Base interface for time steppers.
@ FIRST_ORDER_ODE
Stepper integrates first-order ODEs.