9 #ifndef Tempus_StepperStaggeredForwardSensitivity_decl_hpp 10 #define Tempus_StepperStaggeredForwardSensitivity_decl_hpp 12 #include "Tempus_config.hpp" 13 #include "Tempus_Stepper.hpp" 30 template<
class Scalar>
33 virtual public Teuchos::ParameterListAcceptor
78 const Teuchos::RCP<Teuchos::ParameterList>& pList = Teuchos::null,
79 const Teuchos::RCP<Teuchos::ParameterList>& sens_pList = Teuchos::null);
85 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getModel()
const;
88 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver = Teuchos::null);
89 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const 101 virtual Teuchos::RCP<Tempus::StepperState<Scalar> >
108 {
return Scalar(1.0e+99);}
126 {
return stepperPL_->get<
bool>(
"Use FSAL",
false);}
129 {
stepperPL_->set<std::string>(
"Initial Condition Consistency", s);}
131 {
return stepperPL_->get<std::string>(
"Initial Condition Consistency",
135 {
stepperPL_->set<
bool>(
"Initial Condition Consistency Check", c);}
137 {
return stepperPL_->get<
bool>(
"Initial Condition Consistency Check",
157 {
return "StepperStaggeredForwardSensitivity"; }
158 virtual void describe(Teuchos::FancyOStream & out,
159 const Teuchos::EVerbosityLevel verbLevel)
const;
162 virtual bool isValidSetup(Teuchos::FancyOStream & out)
const;
164 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
171 void setParams(
const Teuchos::RCP<Teuchos::ParameterList> & pl,
172 const Teuchos::RCP<Teuchos::ParameterList> & spl);
181 Teuchos::RCP<SensitivityModelEvaluatorBase<Scalar> >
fsa_model_;
191 #endif // Tempus_StepperStaggeredForwardSensitivity_decl_hpp
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
virtual bool isExplicit() const
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Teuchos::RCP< Teuchos::ParameterList > getDefaultParameters() const
virtual void setUseFSAL(bool a)
Teuchos::RCP< SolutionHistory< Scalar > > sensSolutionHistory_
Teuchos::RCP< Teuchos::ParameterList > sensPL_
Teuchos::RCP< Stepper< Scalar > > stateStepper_
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar > > &)
Set the initial conditions and make them consistent.
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const
virtual Scalar getOrder() 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.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
StepperStaggeredForwardSensitivity()
Default constructor.
virtual Scalar getOrderMax() 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 bool getUseFSAL() const
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
virtual bool isExplicitImplicit() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
virtual void setICConsistency(std::string s)
virtual bool isMultiStepMethod() const
virtual OrderODE getOrderODE() const
Teuchos::RCP< SensitivityModelEvaluatorBase< Scalar > > fsa_model_
virtual Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
virtual std::string getICConsistency() const
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
virtual bool isOneStepMethod() const
Teuchos::RCP< Stepper< Scalar > > sensitivityStepper_
Teuchos::RCP< Teuchos::ParameterList > stepperPL_
virtual bool getICConsistencyCheck() const
Stepper integrates first-order ODEs.
virtual std::string description() const
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver() const
Get solver.
virtual void setICConsistencyCheck(bool c)
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &) const
Teuchos::RCP< SolutionHistory< Scalar > > stateSolutionHistory_
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
virtual bool isImplicit() 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 Scalar getOrderMin() const
virtual void setSolver(Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver=Teuchos::null)
Set solver.
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl)