9 #ifndef Tempus_StepperOperatorSplit_decl_hpp 10 #define Tempus_StepperOperatorSplit_decl_hpp 12 #include "Tempus_config.hpp" 34 template<
class Scalar>
41 std::vector<Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> > > appModels,
42 Teuchos::RCP<Teuchos::ParameterList> pList);
50 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel);
52 const Teuchos::RCP<Thyra::ModelEvaluator<Scalar> >& appModel);
53 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
56 virtual void setSolver(std::string solverName);
58 Teuchos::RCP<Teuchos::ParameterList> solverPL=Teuchos::null);
60 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver);
61 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const 62 {
return Teuchos::null; }
77 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > initial_guess)
81 {
return stepperPL_->get<std::string>(
"Stepper Type"); }
88 {
return stepperPL_->get<
int>(
"Minimum Order");}
90 {
return stepperPL_->get<
int>(
"Maximum Order");}
93 {
return std::numeric_limits<Scalar>::max();}
104 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
107 if ( (*subStepperIter)->isExplicit() )
isExplicit =
true;
114 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
117 if ( (*subStepperIter)->isImplicit() )
isImplicit =
true;
126 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
148 virtual void describe(Teuchos::FancyOStream & out,
149 const Teuchos::EVerbosityLevel verbLevel)
const;
161 std::vector<Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> > > appModels);
176 #endif // Tempus_StepperOperatorSplit_decl_hpp virtual bool isImplicit() const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
virtual Scalar getOrderMax() const
virtual void setSolver(std::string solverName)
Set solver via ParameterList solver name.
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
virtual void setOrderMin(Scalar ord)
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
virtual void setInitialGuess(Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess)
Pass initial guess to Newton solver (only relevant for explicit schemes)
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel()
virtual void addStepper(Teuchos::RCP< Stepper< Scalar > > stepper)
virtual void setObserver(Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null)
Set Observer.
std::vector< Teuchos::RCP< Stepper< Scalar > > > subStepperList_
virtual void clearStepperList()
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
virtual void setNonConstModel(const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &appModel)
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) const
virtual void createSubSteppers(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > appModels)
Take models and ParameterList and create subSteppers.
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
virtual bool isMultiStepMethod() const
void setParameterList(const Teuchos::RCP< Teuchos::ParameterList > &pl)
virtual void setOrder(Scalar ord)
Teuchos::RCP< Teuchos::ParameterList > stepperPL_
OperatorSplit stepper loops through the Stepper list.
Thyra Base interface for time steppers.
virtual void setOrderMax(Scalar ord)
StepperOperatorSplit()
Constructor which is setup except for models and steppers (i.e., addStepper()), and an initialize() b...
Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess_
virtual bool isExplicit() const
Teuchos::RCP< SolutionState< Scalar > > tempState_
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver() const
Get solver.
virtual void setTempState(Teuchos::RCP< Tempus::SolutionState< Scalar >> state)
virtual bool isOneStepMethod() const
virtual bool isExplicitImplicit() const
virtual Scalar getOrderMin() const
StepperObserver class for Stepper class.
Teuchos::RCP< SolutionHistory< Scalar > > solutionHistory(Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null)
Nonmember constructor.
virtual void setStepperList(std::vector< Teuchos::RCP< Stepper< Scalar > > > sl)
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Teuchos::RCP< StepperOperatorSplitObserver< Scalar > > stepperOSObserver_
Teuchos::RCP< Teuchos::ParameterList > getDefaultParameters() const
Teuchos::RCP< SolutionHistory< Scalar > > OpSpSolnHistory_
virtual std::vector< Teuchos::RCP< Stepper< Scalar > > > getStepperList() const
virtual std::string description() const
virtual std::string getStepperType() const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
virtual Scalar getOrder() const
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Take the specified timestep, dt, and return true if successful.
virtual void initialize()
Initialize during construction and after changing input parameters.
Solution state for integrators and steppers. SolutionState contains the metadata for solutions and th...