10 #ifndef Tempus_StepperOperatorSplit_decl_hpp
11 #define Tempus_StepperOperatorSplit_decl_hpp
13 #include "Tempus_config.hpp"
14 #include "Tempus_Stepper.hpp"
62 template <
class Scalar>
76 std::string ICConsistency,
bool ICConsistencyCheck,
int order,
77 int orderMin,
int orderMax,
136 return Scalar(1.0e+99);
145 typename std::vector<Teuchos::RCP<Stepper<Scalar>>>::const_iterator
148 if ((*subStepperIter)->isExplicit()) isExplicit =
true;
155 typename std::vector<Teuchos::RCP<Stepper<Scalar>>>::const_iterator
158 if ((*subStepperIter)->isImplicit()) isImplicit =
true;
169 typename std::vector<Teuchos::RCP<Stepper<Scalar>>>::const_iterator
172 if (!(*subStepperIter)->isOneStepMethod()) isOneStepMethod =
false;
214 bool useFSAL =
false);
237 template <
class Scalar>
244 #endif // Tempus_StepperOperatorSplit_decl_hpp
virtual void setAppAction(Teuchos::RCP< StepperOperatorSplitAppAction< Scalar >> appAction)
virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > getSolver() const
Get solver.
virtual void setOrderMin(Scalar o)
virtual Teuchos::RCP< StepperOperatorSplitAppAction< Scalar > > getAppAction() const
virtual void setInitialGuess(Teuchos::RCP< const Thyra::VectorBase< Scalar >>)
Pass initial guess to Newton solver.
std::vector< Teuchos::RCP< Stepper< Scalar > > > subStepperList_
virtual bool isOneStepMethod() const
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
virtual void setSubStepperList(std::vector< Teuchos::RCP< Stepper< Scalar >>> subStepperList)
virtual Scalar getOrder() const
virtual Teuchos::RCP< Tempus::StepperState< Scalar > > getDefaultStepperState()
Get a default (initial) StepperState.
virtual bool isExplicit() const
virtual void setOrder(Scalar o)
virtual Scalar getOrderMax() const
bool isInitialized_
True if stepper's member data is initialized.
virtual void setStepperList(std::vector< Teuchos::RCP< Stepper< Scalar >>> sl)
virtual void setUseFSAL(bool a)
OperatorSplit stepper loops through the Stepper list.
Thyra Base interface for time steppers.
virtual void setModels(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar >>> appModels)
virtual void clearSubStepperList()
virtual bool isMultiStepMethod() const
StepperOperatorSplit()
Default constructor.
Teuchos::RCP< SolutionState< Scalar > > tempState_
virtual bool isImplicit() const
virtual void setTempState(Teuchos::RCP< Tempus::SolutionState< Scalar >> state)
bool useFSAL_
Use First-Same-As-Last (FSAL) principle.
virtual bool isExplicitImplicit() const
virtual void setInitialConditions(const Teuchos::RCP< SolutionHistory< Scalar >> &solutionHistory)
Set the initial conditions and make them consistent.
virtual Scalar getInitTimeStep(const Teuchos::RCP< SolutionHistory< Scalar >> &) const
Teuchos::RCP< StepperOperatorSplitAppAction< Scalar > > stepperOSAppAction_
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
void createSubSteppers(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar >>> appModels, Teuchos::RCP< Teuchos::ParameterList > pl)
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
Teuchos::RCP< SolutionHistory< Scalar > > OpSpSolnHistory_
Stepper integrates first-order ODEs.
virtual void setOrderMax(Scalar o)
Teuchos::RCP< StepperOperatorSplit< Scalar > > createStepperOperatorSplit(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar >>> appModels, Teuchos::RCP< Teuchos::ParameterList > pl)
Nonmember constructor - ModelEvaluator and ParameterList.
virtual void takeStep(const Teuchos::RCP< SolutionHistory< Scalar >> &solutionHistory)
Take the specified timestep, dt, and return true if successful.
StepperOperatorSplitAppAction class for StepperOperatorSplit.
virtual bool isValidSetup(Teuchos::FancyOStream &out) const
virtual Scalar getOrderMin() const
virtual OrderODE getOrderODE() const
virtual void setSolver(Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar >> solver)
virtual void initialize()
Initialize during construction and after changing input parameters.
Solution state for integrators and steppers.
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 std::vector< Teuchos::RCP< Stepper< Scalar > > > getStepperList() const
virtual void setModel(const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar >> &appModel)