|
Tempus
Version of the Day
Time Integration
|
OperatorSplit stepper loops through the Stepper list. More...
#include <Tempus_StepperOperatorSplit_decl.hpp>
Public Member Functions | |
| StepperOperatorSplit (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > appModels, Teuchos::RCP< Teuchos::ParameterList > pList) | |
| Constructor. More... | |
| StepperOperatorSplit () | |
| Constructor which is setup except for models and steppers (i.e., addStepper()), and an initialize() before being used. More... | |
Basic stepper methods | |
| virtual void | setModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel) |
| virtual void | setNonConstModel (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &appModel) |
| virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getModel () |
| virtual void | setSolver (std::string solverName) |
| Set solver via ParameterList solver name. More... | |
| virtual void | setSolver (Teuchos::RCP< Teuchos::ParameterList > solverPL=Teuchos::null) |
| Set solver via solver ParameterList. More... | |
| virtual void | setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver) |
| Set solver. More... | |
| virtual Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > | getSolver () const |
| Get solver. More... | |
| virtual void | setObserver (Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null) |
| Set Observer. More... | |
| virtual void | setTempState (Teuchos::RCP< Tempus::SolutionState< Scalar >> state) |
| virtual void | initialize () |
| Initialize during construction and after changing input parameters. More... | |
| virtual void | takeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
| Take the specified timestep, dt, and return true if successful. More... | |
| virtual void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess) |
| Pass initial guess to Newton solver (only relevant for explicit schemes) More... | |
| virtual std::string | getStepperType () const |
| virtual Teuchos::RCP< Tempus::StepperState< Scalar > > | getDefaultStepperState () |
| Get a default (initial) StepperState. More... | |
| virtual Scalar | getOrder () const |
| virtual Scalar | getOrderMin () const |
| virtual Scalar | getOrderMax () const |
| virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) const |
| virtual void | setOrder (Scalar ord) |
| virtual void | setOrderMin (Scalar ord) |
| virtual void | setOrderMax (Scalar ord) |
| virtual bool | isExplicit () const |
| virtual bool | isImplicit () const |
| virtual bool | isExplicitImplicit () const |
| virtual bool | isOneStepMethod () const |
| virtual bool | isMultiStepMethod () const |
ParameterList methods | |
| void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &pl) |
| Teuchos::RCP< Teuchos::ParameterList > | getNonconstParameterList () |
| Teuchos::RCP< Teuchos::ParameterList > | unsetParameterList () |
| Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
| Teuchos::RCP< Teuchos::ParameterList > | getDefaultParameters () const |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
| void | validExplicitODE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate that the model supports explicit ODE evaluation, f(x,t) [=xdot]. More... | |
| void | validSecondOrderExplicitODE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate that the model supports explicit second order ODE evaluation, f(x,xdot,t) [=xdotdot]. More... | |
| void | validImplicitODE_DAE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate ME supports implicit ODE/DAE evaluation, f(xdot,x,t) [= 0]. More... | |
| void | validSecondOrderODE_DAE (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &model) const |
| Validate ME supports 2nd order implicit ODE/DAE evaluation, f(xdotdot,xdot,x,t) [= 0]. More... | |
| Teuchos::RCP< Teuchos::ParameterList > | defaultSolverParameters () const |
Overridden from Teuchos::Describable | |
| Teuchos::RCP< Teuchos::ParameterList > | stepperPL_ |
| std::vector< Teuchos::RCP< Stepper< Scalar > > > | subStepperList_ |
| Teuchos::RCP< SolutionHistory< Scalar > > | OpSpSolnHistory_ |
| Teuchos::RCP< SolutionState< Scalar > > | tempState_ |
| Teuchos::RCP< StepperOperatorSplitObserver< Scalar > > | stepperOSObserver_ |
| Teuchos::RCP< const Thyra::VectorBase< Scalar > > | initial_guess_ |
| virtual std::string | description () const |
| virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
| virtual std::vector< Teuchos::RCP< Stepper< Scalar > > > | getStepperList () const |
| virtual void | setStepperList (std::vector< Teuchos::RCP< Stepper< Scalar > > > sl) |
| virtual void | addStepper (Teuchos::RCP< Stepper< Scalar > > stepper) |
| virtual void | clearStepperList () |
| virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > appModels) |
| Take models and ParameterList and create subSteppers. More... | |
OperatorSplit stepper loops through the Stepper list.
OperatorSplit stepper loops through the provided list of SubSteppers, and passes the SolutionHistory sequentially between them. This is simply a first-order splitting. It should be noted that specially constructed sequence of SubSteppers could obtain higher orders.
The OperatorSplit Stepper does not have any model, but the SubSteppers do. The OperatorSplit Stepper does not have a solver either, but the SubSteppers may or may not have a solver depending if they are implicit or explicit.
Operator Split is only defined for one-step methods, so multi-step methods (e.g., BDF) should not be used with StepperOperatorSplit.
Definition at line 35 of file Tempus_StepperOperatorSplit_decl.hpp.
| Tempus::StepperOperatorSplit< Scalar >::StepperOperatorSplit | ( | std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > > | appModels, |
| Teuchos::RCP< Teuchos::ParameterList > | pList | ||
| ) |
Constructor.
Definition at line 20 of file Tempus_StepperOperatorSplit_impl.hpp.
| Tempus::StepperOperatorSplit< Scalar >::StepperOperatorSplit | ( | ) |
Constructor which is setup except for models and steppers (i.e., addStepper()), and an initialize() before being used.
Definition at line 32 of file Tempus_StepperOperatorSplit_impl.hpp.
|
inlinevirtual |
Definition at line 156 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Definition at line 158 of file Tempus_StepperOperatorSplit_decl.hpp.
|
virtual |
Take models and ParameterList and create subSteppers.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 138 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Definition at line 311 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Definition at line 303 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 366 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Get a default (initial) StepperState.
Provide a StepperState to the SolutionState. This Stepper does not have any special state data, so just provide the base class StepperState with the Stepper description. This can be checked to ensure that the input StepperState can be used by this Stepper.
Implements Tempus::Stepper< Scalar >.
Definition at line 294 of file Tempus_StepperOperatorSplit_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 91 of file Tempus_StepperOperatorSplit_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 70 of file Tempus_StepperOperatorSplit_impl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperOperatorSplit< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 376 of file Tempus_StepperOperatorSplit_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 85 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 89 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 87 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Get solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 61 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Definition at line 152 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 80 of file Tempus_StepperOperatorSplit_decl.hpp.
| Teuchos::RCP< const Teuchos::ParameterList > Tempus::StepperOperatorSplit< Scalar >::getValidParameters | ( | ) | const |
Definition at line 344 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Implements Tempus::Stepper< Scalar >.
Definition at line 183 of file Tempus_StepperOperatorSplit_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 101 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 121 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 111 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 133 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 123 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver (only relevant for explicit schemes)
Implements Tempus::Stepper< Scalar >.
Definition at line 76 of file Tempus_StepperOperatorSplit_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 43 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 56 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Set Observer.
Implements Tempus::Stepper< Scalar >.
Definition at line 122 of file Tempus_StepperOperatorSplit_impl.hpp.
|
inlinevirtual |
Definition at line 94 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Definition at line 98 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Definition at line 96 of file Tempus_StepperOperatorSplit_decl.hpp.
| void Tempus::StepperOperatorSplit< Scalar >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | pl | ) |
Definition at line 320 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Set solver via ParameterList solver name.
Implements Tempus::Stepper< Scalar >.
Definition at line 90 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Set solver via solver ParameterList.
Implements Tempus::Stepper< Scalar >.
Definition at line 100 of file Tempus_StepperOperatorSplit_impl.hpp.
|
virtual |
Set solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 111 of file Tempus_StepperOperatorSplit_impl.hpp.
|
inlinevirtual |
Definition at line 154 of file Tempus_StepperOperatorSplit_decl.hpp.
|
inlinevirtual |
Definition at line 65 of file Tempus_StepperOperatorSplit_decl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 220 of file Tempus_StepperOperatorSplit_impl.hpp.
| Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperOperatorSplit< Scalar >::unsetParameterList | ( | ) |
Definition at line 384 of file Tempus_StepperOperatorSplit_impl.hpp.
|
protected |
Definition at line 170 of file Tempus_StepperOperatorSplit_decl.hpp.
|
protected |
Definition at line 167 of file Tempus_StepperOperatorSplit_decl.hpp.
|
protected |
Definition at line 169 of file Tempus_StepperOperatorSplit_decl.hpp.
|
protected |
Definition at line 165 of file Tempus_StepperOperatorSplit_decl.hpp.
|
protected |
Definition at line 166 of file Tempus_StepperOperatorSplit_decl.hpp.
|
protected |
Definition at line 168 of file Tempus_StepperOperatorSplit_decl.hpp.