9 #ifndef Tempus_StepperOperatorSplit_decl_hpp 10 #define Tempus_StepperOperatorSplit_decl_hpp 12 #include "Tempus_config.hpp" 13 #include "Tempus_Stepper.hpp" 64 template<
class Scalar>
81 std::string ICConsistency,
82 bool ICConsistencyCheck,
93 virtual Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
getModel()
const;
96 Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> > solver);
98 virtual Teuchos::RCP<Thyra::NonlinearSolverBase<Scalar> >
getSolver()
const 99 {
return Teuchos::null; }
103 virtual Teuchos::RCP<StepperOperatorSplitAppAction<Scalar> >
getAppAction()
const 132 {
return Scalar(1.0e+99);}
140 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
143 if ( (*subStepperIter)->isExplicit() )
isExplicit =
true;
150 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
153 if ( (*subStepperIter)->isImplicit() )
isImplicit =
true;
162 typename std::vector<Teuchos::RCP<Stepper<Scalar> > >::const_iterator
178 Teuchos::RCP<Teuchos::ParameterList> pl);
182 virtual void describe(Teuchos::FancyOStream & out,
183 const Teuchos::EVerbosityLevel verbLevel)
const;
186 virtual bool isValidSetup(Teuchos::FancyOStream & out)
const;
199 bool useFSAL =
false);
225 template<
class Scalar>
226 Teuchos::RCP<StepperOperatorSplit<Scalar> >
229 Teuchos::RCP<Teuchos::ParameterList> pl);
234 #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)
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 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< StepperOperatorSplitAppAction< Scalar > > getAppAction() const
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getModel() const
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)
bool isInitialized_
True if stepper's member data is initialized.
virtual void setUseFSAL(bool a)
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
void createSubSteppers(std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > appModels, Teuchos::RCP< Teuchos::ParameterList > pl)
bool useFSAL_
Use First-Same-As-Last (FSAL) principle.
virtual bool isExplicitImplicit() const
virtual Scalar getOrderMin() const
Teuchos::RCP< StepperOperatorSplitAppAction< Scalar > > stepperOSAppAction_
virtual void setStepperList(std::vector< Teuchos::RCP< Stepper< Scalar > > > sl)
SolutionHistory is basically a container of SolutionStates. SolutionHistory maintains a collection of...
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)