9 #ifndef Tempus_StepperOperatorSplit_decl_hpp 10 #define Tempus_StepperOperatorSplit_decl_hpp 12 #include "Tempus_config.hpp" 13 #include "Tempus_Stepper.hpp" 14 #ifndef TEMPUS_HIDE_DEPRECATED_CODE 40 template<
class Scalar>
52 #ifndef TEMPUS_HIDE_DEPRECATED_CODE 55 std::vector<Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> > > appModels,
59 std::string ICConsistency,
60 bool ICConsistencyCheck,
68 std::vector<Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> > > appModels,
71 std::string ICConsistency,
72 bool ICConsistencyCheck,
81 const Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> >& appModel);
83 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
87 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver);
89 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const 90 {
return Teuchos::null; }
92 #ifndef TEMPUS_HIDE_DEPRECATED_CODE 96 virtual Teuchos::RCP<StepperObserver<Scalar> >
getObserver()
const 102 virtual Teuchos::RCP<StepperOperatorSplitAppAction<Scalar> >
getAppAction()
const 121 Teuchos::RCP<
const Thyra::VectorBase<Scalar> > ){}
131 {
return Scalar(1.0e+99);}
139 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
142 if ( (*subStepperIter)->isExplicit() )
isExplicit =
true;
149 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
152 if ( (*subStepperIter)->isImplicit() )
isImplicit =
true;
161 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
177 virtual void describe(Teuchos::FancyOStream & out,
178 const Teuchos::EVerbosityLevel verbLevel)
const;
181 virtual bool isValidSetup(Teuchos::FancyOStream & out)
const;
194 bool useFSAL =
false);
202 std::vector<Teuchos::RCP<
const Thyra::ModelEvaluator<Scalar> > > appModels);
213 #ifndef TEMPUS_HIDE_DEPRECATED_CODE 221 #endif // Tempus_StepperOperatorSplit_decl_hpp virtual bool isImplicit() const
virtual Scalar getOrderMax() const
virtual void setInitialGuess(Teuchos::RCP< const Thyra::VectorBase< Scalar > >)
Pass initial guess to Newton solver.
virtual void setOrderMin(Scalar o)
virtual void addStepper(Teuchos::RCP< Stepper< Scalar > > stepper, bool useFSAL=false)
Add Stepper to subStepper list. In most cases, subSteppers cannot use xDotOld (thus the default)...
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel()
virtual Teuchos::RCP< StepperOperatorSplitAppAction< Scalar > > getAppAction() const
virtual void setObserver(Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null)
Set Observer.
std::vector< Teuchos::RCP< Stepper< Scalar > > > subStepperList_
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel)
virtual void setSolver(Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver)
Set solver.
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
virtual bool isMultiStepMethod() const
virtual void setModels(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > appModels)
virtual void setOrder(Scalar o)
OperatorSplit stepper loops through the Stepper list.
Thyra Base interface for time steppers.
virtual void clearSubStepperList()
StepperOperatorSplit()
Default constructor.
virtual bool isExplicit() const
Teuchos::RCP< SolutionState< Scalar > > tempState_
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver() const
Get solver.
virtual void setAppAction(Teuchos::RCP< StepperOperatorSplitAppAction< Scalar > > appAction)
virtual void setTempState(Teuchos::RCP< Tempus::SolutionState< Scalar >> state)
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar > > &) const
virtual bool isOneStepMethod() const
virtual bool isExplicitImplicit() const
virtual Scalar getOrderMin() const
Teuchos::RCP< StepperOperatorSplitAppAction< Scalar > > stepperOSAppAction_
StepperObserver class for Stepper class.
virtual Teuchos::RCP< StepperObserver< Scalar > > getObserver() const
Get Observer.
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_
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory)
Set the initial conditions and make them consistent.
Teuchos::RCP< SolutionHistory< Scalar > > OpSpSolnHistory_
Stepper integrates first-order ODEs.
virtual void setOrderMax(Scalar o)
virtual std::vector< Teuchos::RCP< Stepper< Scalar > > > getStepperList() const
StepperOperatorSplitAppAction class for StepperOperatorSplit.
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...
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
virtual OrderODE getOrderODE() const
virtual void setSubStepperList(std::vector< Teuchos::RCP< Stepper< Scalar > > > subStepperList)