9 #ifndef Tempus_StepperStaggeredForwardSensitivity_decl_hpp
10 #define Tempus_StepperStaggeredForwardSensitivity_decl_hpp
12 #include "Tempus_Stepper.hpp"
28 template<
class Scalar>
31 virtual public Teuchos::ParameterListAcceptor
75 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel,
76 const Teuchos::RCP<Teuchos::ParameterList>& pList = Teuchos::null,
77 const Teuchos::RCP<Teuchos::ParameterList>& sens_pList = Teuchos::null);
82 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel);
83 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getModel();
86 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver = Teuchos::null);
87 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const
94 virtual Teuchos::RCP<StepperObserver<Scalar> >
getObserver()
const
95 {
return Teuchos::null; }
106 virtual Teuchos::RCP<Tempus::StepperState<Scalar> >
113 {
return Scalar(1.0e+99);}
131 {
return stepperPL_->get<
bool>(
"Use FSAL",
false);}
134 {
stepperPL_->set<std::string>(
"Initial Condition Consistency", s);}
136 {
return stepperPL_->get<std::string>(
"Initial Condition Consistency",
140 {
stepperPL_->set<
bool>(
"Initial Condition Consistency Check", c);}
142 {
return stepperPL_->get<
bool>(
"Initial Condition Consistency Check",
148 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > ){}
162 {
return "StepperStaggeredForwardSensitivity"; }
163 virtual void describe(Teuchos::FancyOStream & out,
164 const Teuchos::EVerbosityLevel verbLevel)
const;
167 virtual bool isValidSetup(Teuchos::FancyOStream & out)
const;
169 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
176 void setParams(
const Teuchos::RCP<Teuchos::ParameterList> & pl,
177 const Teuchos::RCP<Teuchos::ParameterList> & spl);
186 Teuchos::RCP<SensitivityModelEvaluatorBase<Scalar> >
fsa_model_;
196 #endif // Tempus_StepperStaggeredForwardSensitivity_decl_hpp
virtual void setObserver(Teuchos::RCP< StepperObserver< Scalar > >=Teuchos::null)
Set Observer.
virtual Scalar getOrder() const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
virtual void setUseFSAL(bool a)
Teuchos::RCP< SolutionHistory< Scalar > > sensSolutionHistory_
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver() const
Get solver.
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &) const
Teuchos::RCP< Teuchos::ParameterList > sensPL_
virtual bool getUseFSAL() const
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel()
Teuchos::RCP< Stepper< Scalar > > stateStepper_
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar > > &)
Set the initial conditions and make them consistent.
virtual Scalar getOrderMax() const
A stepper implementing staggered forward sensitivity analysis.
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
StepperStaggeredForwardSensitivity()
Default constructor.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
virtual std::string description() const
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > combined_fsa_model_
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
Thyra Base interface for time steppers.
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
Teuchos::RCP< Teuchos::ParameterList > getDefaultParameters() const
virtual bool isOneStepMethod() const
virtual OrderODE getOrderODE() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
virtual bool getICConsistencyCheck() const
virtual void setICConsistency(std::string s)
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > fsa_model_
virtual Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
StepperObserver class for Stepper class.
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
virtual bool isMultiStepMethod() const
Teuchos::RCP< Stepper< Scalar > > sensitivityStepper_
virtual Scalar getOrderMin() const
Teuchos::RCP< Teuchos::ParameterList > stepperPL_
Stepper integrates first-order ODEs.
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
virtual bool isExplicitImplicit() const
virtual void setICConsistencyCheck(bool c)
virtual std::string getICConsistency() const
Teuchos::RCP< SolutionHistory< Scalar > > stateSolutionHistory_
virtual Teuchos::RCP< StepperObserver< Scalar > > getObserver() const
Get Observer.
virtual bool isImplicit() const
virtual bool isExplicit() const
void setParams(const Teuchos::RCP< Teuchos::ParameterList > &pl, const Teuchos::RCP< Teuchos::ParameterList > &spl)
virtual void setInitialGuess(Teuchos::RCP< const Thyra::VectorBase< Scalar > >)
Pass initial guess to Newton solver.
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
virtual void setSolver(Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver=Teuchos::null)
Set solver.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl)
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const