Tempus
Version of the Day
Time Integration
|
Subcycling time stepper. More...
#include <Tempus_StepperSubcycling_decl.hpp>
Public Member Functions | |
StepperSubcycling () | |
Default constructor. More... | |
StepperSubcycling (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, const Teuchos::RCP< StepperSubcyclingObserver< Scalar > > &obs, const Teuchos::RCP< IntegratorBasic< Scalar > > &integrator, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck) | |
Constructor. More... | |
StepperSubcycling (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, const Teuchos::RCP< IntegratorBasic< Scalar > > &integrator, bool useFSAL, std::string ICConsistency, bool ICConsistencyCheck, const Teuchos::RCP< StepperSubcyclingAppAction< Scalar > > &stepperSCAppAction) | |
Constructor. More... | |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
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 | setObserver (Teuchos::RCP< StepperObserver< Scalar > > obs=Teuchos::null) |
Set Observer. More... | |
virtual Teuchos::RCP < StepperObserver< Scalar > > | getObserver () const |
Get Observer. More... | |
virtual void | setAppAction (Teuchos::RCP< StepperSubcyclingAppAction< Scalar > > appAction=Teuchos::null) |
virtual Teuchos::RCP < StepperSubcyclingAppAction < Scalar > > | getAppAction () const |
virtual void | initialize () |
Initialize during construction and after changing input parameters. More... | |
virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) const |
virtual void | setInitialConditions (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
Set the initial conditions, make them consistent, and set needed memory. More... | |
virtual void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > > initial_guess) |
Pass initial guess to Newton solver (only relevant for implicit solvers) More... | |
virtual void | setSolver (Teuchos::RCP< Thyra::NonlinearSolverBase< Scalar > > solver=Teuchos::null) |
Set solver. More... | |
virtual Teuchos::RCP < Thyra::NonlinearSolverBase < Scalar > > | getSolver () const |
Get solver. More... | |
virtual void | takeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &solutionHistory) |
Take the specified timestep, dt, and return true if successful. More... | |
virtual Teuchos::RCP < Tempus::StepperState< Scalar > > | getDefaultStepperState () |
Get a default (initial) StepperState. More... | |
virtual bool | isExplicit () const |
virtual bool | isImplicit () const |
virtual bool | isExplicitImplicit () const |
virtual bool | isOneStepMethod () const |
virtual bool | isMultiStepMethod () const |
virtual Scalar | getOrder () const |
virtual Scalar | getOrderMin () const |
virtual Scalar | getOrderMax () const |
virtual OrderODE | getOrderODE () const |
Overridden from Teuchos::Describable | |
virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
Functions to set the subcycling stepper values. | |
virtual void | setSubcyclingStepper (Teuchos::RCP< Stepper< Scalar > > stepper) |
virtual void | setSubcyclingMinTimeStep (Scalar MinTimeStep) |
virtual void | setSubcyclingInitTimeStep (Scalar InitTimeStep) |
virtual void | setSubcyclingMaxTimeStep (Scalar MaxTimeStep) |
virtual void | setSubcyclingStepType (std::string StepType) |
virtual void | setSubcyclingMaxFailures (int MaxFailures) |
virtual void | setSubcyclingMaxConsecFailures (int MaxConsecFailures) |
virtual void | setSubcyclingScreenOutputIndexInterval (int i) |
virtual void | setSubcyclingScreenOutputIndexList (std::string s) |
virtual void | setSubcyclingTimeStepControlStrategy (Teuchos::RCP< TimeStepControlStrategy< Scalar > > tscs) |
virtual void | setSubcyclingIntegratorObserver (Teuchos::RCP< IntegratorObserver< Scalar > > obs) |
virtual void | setSubcyclingPrintDtChanges (bool printDtChanges) |
Functions to get the subcycling stepper values. | |
virtual Teuchos::RCP< const Stepper< Scalar > > | getSubcyclingStepper () const |
virtual Scalar | getSubcyclingMinTimeStep () const |
virtual Scalar | getSubcyclingInitTimeStep () const |
virtual Scalar | getSubcyclingMaxTimeStep () const |
virtual std::string | getSubcyclingStepType () const |
virtual int | getSubcyclingMaxFailures () const |
virtual int | getSubcyclingMaxConsecFailures () const |
virtual int | getSubcyclingScreenOutputIndexInterval () const |
virtual std::string | getSubcyclingScreenOutputIndexList () const |
virtual Teuchos::RCP < TimeStepControlStrategy < Scalar > > | getSubcyclingTimeStepControlStrategy () const |
virtual Teuchos::RCP < IntegratorObserver< Scalar > > | getSubcyclingIntegratorObserver () const |
virtual bool | getSubcyclingPrintDtChanges () const |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
virtual bool | isValidSetup (Teuchos::FancyOStream &out) const |
virtual bool | isInitialized () |
True if stepper's member data is initialized. More... | |
virtual void | checkInitialized () |
Check initialization, and error out on failure. More... | |
void | setStepperType (std::string s) |
std::string | getStepperType () const |
void | setUseFSAL (bool a) |
bool | getUseFSAL () const |
virtual bool | getUseFSALDefault () const |
void | setICConsistency (std::string s) |
std::string | getICConsistency () const |
virtual std::string | getICConsistencyDefault () const |
void | setICConsistencyCheck (bool c) |
bool | getICConsistencyCheck () const |
virtual bool | getICConsistencyCheckDefault () const |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperX (Teuchos::RCP< SolutionState< Scalar > > state) |
Get x from SolutionState or Stepper storage. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDot (Teuchos::RCP< SolutionState< Scalar > > state) |
Get xDot from SolutionState or Stepper storage. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDotDot (Teuchos::RCP< SolutionState< Scalar > > state) |
Get xDotDot from SolutionState or Stepper storage. More... | |
virtual std::string | description () const |
virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > >) |
Protected Attributes | |
Teuchos::RCP < StepperSubcyclingObserver < Scalar > > | stepperSCObserver_ |
Teuchos::RCP < StepperSubcyclingAppAction < Scalar > > | stepperSCAppAction_ |
Teuchos::RCP< IntegratorBasic < Scalar > > | scIntegrator_ |
Protected Attributes inherited from Tempus::Stepper< Scalar > | |
bool | isInitialized_ = false |
True if stepper's member data is initialized. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Tempus::Stepper< Scalar > | |
virtual void | setStepperX (Teuchos::RCP< Thyra::VectorBase< Scalar > > x) |
Set x for Stepper storage. More... | |
virtual void | setStepperXDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDot) |
Set xDot for Stepper storage. More... | |
virtual void | setStepperXDotDot (Teuchos::RCP< Thyra::VectorBase< Scalar > > xDotDot) |
Set x for Stepper storage. More... | |
Subcycling time stepper.
This stepper wraps an IntegratorBasic object to perform the subcycling, thus it has all the capbilities of an IntegratorBasic with the following specializations and defaults:
Definition at line 39 of file Tempus_StepperSubcycling_decl.hpp.
Tempus::StepperSubcycling< Scalar >::StepperSubcycling | ( | ) |
Default constructor.
Definition at line 27 of file Tempus_StepperSubcycling_impl.hpp.
Tempus::StepperSubcycling< Scalar >::StepperSubcycling | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
const Teuchos::RCP< StepperSubcyclingObserver< Scalar > > & | obs, | ||
const Teuchos::RCP< IntegratorBasic< Scalar > > & | integrator, | ||
bool | useFSAL, | ||
std::string | ICConsistency, | ||
bool | ICConsistencyCheck | ||
) |
Constructor.
Definition at line 84 of file Tempus_StepperSubcycling_impl.hpp.
Tempus::StepperSubcycling< Scalar >::StepperSubcycling | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
const Teuchos::RCP< IntegratorBasic< Scalar > > & | integrator, | ||
bool | useFSAL, | ||
std::string | ICConsistency, | ||
bool | ICConsistencyCheck, | ||
const Teuchos::RCP< StepperSubcyclingAppAction< Scalar > > & | stepperSCAppAction | ||
) |
Constructor.
Definition at line 110 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 585 of file Tempus_StepperSubcycling_impl.hpp.
|
inlinevirtual |
Definition at line 91 of file Tempus_StepperSubcycling_decl.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 576 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 445 of file Tempus_StepperSubcycling_impl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 79 of file Tempus_StepperSubcycling_decl.hpp.
|
virtual |
Get Observer.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 346 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 425 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 435 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 430 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 440 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Get solver.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 476 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 264 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 305 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 284 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 279 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 269 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 259 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 309 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 289 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 294 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 254 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 274 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 300 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 605 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 365 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 400 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 410 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 405 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 420 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 415 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 351 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Set the initial conditions, make them consistent, and set needed memory.
Implements Tempus::Stepper< Scalar >.
Definition at line 460 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Pass initial guess to Newton solver (only relevant for implicit solvers)
Implements Tempus::Stepper< Scalar >.
Definition at line 451 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 314 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 323 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Set Observer.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 332 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Set solver.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 466 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 153 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 235 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 198 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 189 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 161 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 145 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 244 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 207 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 216 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 136 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 169 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Definition at line 225 of file Tempus_StepperSubcycling_impl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 481 of file Tempus_StepperSubcycling_impl.hpp.
|
protected |
Definition at line 184 of file Tempus_StepperSubcycling_decl.hpp.
|
protected |
Definition at line 183 of file Tempus_StepperSubcycling_decl.hpp.
|
protected |
Definition at line 181 of file Tempus_StepperSubcycling_decl.hpp.