9#ifndef Tempus_StepperStaggeredForwardSensitivity_decl_hpp
10#define Tempus_StepperStaggeredForwardSensitivity_decl_hpp
12#include "Tempus_config.hpp"
13#include "Tempus_Stepper.hpp"
40 virtual public Teuchos::ParameterListAcceptor
87 const Teuchos::RCP<Teuchos::ParameterList>& pList = Teuchos::null,
88 const Teuchos::RCP<Teuchos::ParameterList>& sens_pList = Teuchos::null);
94 {
setModel(appModel, appModel, appModel); }
99 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getModel()
const;
102 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver = Teuchos::null);
103 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const
115 virtual Teuchos::RCP<Tempus::StepperState<Scalar> >
122 {
return Scalar(1.0e+99);}
140 {
return stepperPL_->get<
bool>(
"Use FSAL",
false);}
143 {
stepperPL_->set<std::string>(
"Initial Condition Consistency", s);}
145 {
return stepperPL_->get<std::string>(
"Initial Condition Consistency",
149 {
stepperPL_->set<
bool>(
"Initial Condition Consistency Check", c);}
151 {
return stepperPL_->get<
bool>(
"Initial Condition Consistency Check",
171 {
return "StepperStaggeredForwardSensitivity"; }
172 virtual void describe(Teuchos::FancyOStream & out,
173 const Teuchos::EVerbosityLevel verbLevel)
const;
176 virtual bool isValidSetup(Teuchos::FancyOStream & out)
const;
178 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
188 void setParams(
const Teuchos::RCP<Teuchos::ParameterList> & pl,
189 const Teuchos::RCP<Teuchos::ParameterList> & spl);
198 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.