Tempus
Version of the Day
Time Integration
|
A stepper implementing staggered forward sensitivity analysis. More...
#include <Tempus_StepperStaggeredForwardSensitivity_decl.hpp>
Public Member Functions | |
StepperStaggeredForwardSensitivity () | |
Default constructor. More... | |
StepperStaggeredForwardSensitivity (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &sens_residual_model, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &sens_solve_model, const Teuchos::RCP< Teuchos::ParameterList > &pList=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &sens_pList=Teuchos::null) | |
Constructor. More... | |
virtual void | setInitialGuess (Teuchos::RCP< const Thyra::VectorBase< Scalar > >) |
Pass initial guess to Newton solver. More... | |
virtual bool | isValidSetup (Teuchos::FancyOStream &out) const |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () const |
virtual Teuchos::RCP< const Teuchos::ParameterList > | getParameterList () const |
SensitivityStepMode | getStepMode () const |
What mode the current time integration step is in. More... | |
Public Member Functions inherited from Tempus::Stepper< Scalar > | |
void | setStepperValues (const Teuchos::RCP< Teuchos::ParameterList > pl) |
Set Stepper member data from ParameterList. More... | |
Teuchos::RCP < Teuchos::ParameterList > | getValidParametersBasic () const |
Add basic parameters to Steppers ParameterList. More... | |
virtual void | initialize () |
Initialize after construction and changing input parameters. More... | |
virtual bool | isInitialized () |
True if stepper's member data is initialized. More... | |
virtual void | checkInitialized () |
Check initialization, and error out on failure. More... | |
void | setStepperName (std::string s) |
Set the stepper name. More... | |
std::string | getStepperName () const |
Get the stepper name. More... | |
std::string | getStepperType () const |
Get the stepper type. The stepper type is used as an identifier for the stepper, and can only be set by the derived Stepper class. More... | |
void | setUseFSALTrueOnly (bool a) |
void | setUseFSALFalseOnly (bool a) |
bool | getUseFSAL () const |
void | setICConsistency (std::string s) |
std::string | getICConsistency () const |
void | setICConsistencyCheck (bool c) |
bool | getICConsistencyCheck () const |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperX () |
Get Stepper x. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDot () |
Get Stepper xDot. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDotDot () |
Get Stepper xDotDot. More... | |
virtual Teuchos::RCP < Thyra::VectorBase< Scalar > > | getStepperXDotDot (Teuchos::RCP< SolutionState< Scalar > > state) |
Get xDotDot from SolutionState or Stepper storage. More... | |
Public Member Functions inherited from Teuchos::Describable | |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
virtual | ~Describable () |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Public Member Functions inherited from Teuchos::VerboseObject< Stepper< Scalar > > | |
VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
virtual EVerbosityLevel | getVerbLevel () const |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
virtual | ~VerboseObjectBase () |
VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
virtual RCP< FancyOStream > | getOStream () const |
virtual RCP< FancyOStream > | getOverridingOStream () const |
virtual std::string | getLinePrefix () const |
virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Protected Attributes | |
Teuchos::RCP < Teuchos::ParameterList > | stepperPL_ |
Teuchos::RCP < Teuchos::ParameterList > | sensPL_ |
Teuchos::RCP< Stepper< Scalar > > | stateStepper_ |
Teuchos::RCP< Stepper< Scalar > > | sensitivityStepper_ |
Teuchos::RCP < SensitivityModelEvaluatorBase < Scalar > > | combined_fsa_model_ |
Teuchos::RCP < SensitivityModelEvaluatorBase < Scalar > > | fsa_model_ |
Teuchos::RCP< SolutionHistory < Scalar > > | stateSolutionHistory_ |
Teuchos::RCP< SolutionHistory < Scalar > > | sensSolutionHistory_ |
bool | reuse_solver_ |
bool | force_W_update_ |
SensitivityStepMode | stepMode_ |
Protected Attributes inherited from Tempus::Stepper< Scalar > | |
bool | useFSAL_ = false |
Use First-Same-As-Last (FSAL) principle. More... | |
bool | isInitialized_ |
True if stepper's member data is initialized. More... | |
Private Member Functions | |
void | setParams (const Teuchos::RCP< Teuchos::ParameterList > &pl, const Teuchos::RCP< Teuchos::ParameterList > &spl) |
Basic stepper methods | |
virtual void | setModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel) |
virtual void | setModel (const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &appModel, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &sens_residual_model, const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > &sens_solve_model) |
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > | getModel () const |
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 | setInitialConditions (const Teuchos::RCP< SolutionHistory< Scalar > > &) |
Set the initial conditions and make them consistent. 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 Scalar | getOrder () const |
virtual Scalar | getOrderMin () const |
virtual Scalar | getOrderMax () const |
virtual Scalar | getInitTimeStep (const Teuchos::RCP< SolutionHistory< Scalar > > &) const |
virtual bool | isExplicit () const |
virtual bool | isImplicit () const |
virtual bool | isExplicitImplicit () const |
virtual bool | isOneStepMethod () const |
virtual bool | isMultiStepMethod () const |
virtual OrderODE | getOrderODE () const |
virtual void | setUseFSAL (bool a) |
virtual bool | getUseFSAL () const |
virtual void | setICConsistency (std::string s) |
virtual std::string | getICConsistency () const |
virtual void | setICConsistencyCheck (bool c) |
virtual bool | getICConsistencyCheck () 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 |
Overridden from Teuchos::Describable | |
virtual std::string | description () const |
virtual void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const |
Additional Inherited Members | |
Static Public Member Functions inherited from Teuchos::VerboseObject< Stepper< Scalar > > | |
static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from Teuchos::Describable | |
static const EVerbosityLevel | verbLevel_default |
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... | |
void | setStepperType (std::string s) |
Set the stepper type. More... | |
Protected Member Functions inherited from Teuchos::VerboseObject< Stepper< Scalar > > | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
virtual void | informUpdatedVerbosityState () const |
A stepper implementing staggered forward sensitivity analysis.
It constructs two internal steppers, one for the state equations as usual and one for the sensitivity equations using Tempus::StaggeredForwardSensitivityModelEvaluator. It's implementation of takeStep() first takes a step using the state stepper, updates the sensitivity model evaluator with the compute state solution and time derivatives, and then takes a step using the sensitivity stepper. It optionally can reuse the state solver for the sensitivity equations as well.
Definition at line 36 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
Tempus::StepperStaggeredForwardSensitivity< Scalar >::StepperStaggeredForwardSensitivity | ( | ) |
Default constructor.
Definition at line 25 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Tempus::StepperStaggeredForwardSensitivity< Scalar >::StepperStaggeredForwardSensitivity | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | sens_residual_model, | ||
const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | sens_solve_model, | ||
const Teuchos::RCP< Teuchos::ParameterList > & | pList = Teuchos::null , |
||
const Teuchos::RCP< Teuchos::ParameterList > & | sens_pList = Teuchos::null |
||
) |
Constructor.
The first parameter list argument supplies supplies regular stepper options, while the second provides sensitivity specific options:
Definition at line 34 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 90 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Definition at line 52 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 94 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Set solver.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 100 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Get solver.
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 105 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the initial conditions and make them consistent.
Implements Tempus::Stepper< Scalar >.
Definition at line 111 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 110 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Get a default (initial) StepperState.
Implements Tempus::Stepper< Scalar >.
Definition at line 262 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 122 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 123 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 124 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 125 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 131 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 135 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 139 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 144 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 149 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 151 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 153 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Definition at line 154 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Definition at line 159 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Definition at line 163 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Definition at line 169 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Definition at line 173 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 180 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 327 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 352 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 359 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 345 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Teuchos::RCP<Teuchos::ParameterList> Tempus::StepperStaggeredForwardSensitivity< Scalar >::getDefaultParameters | ( | ) | const |
|
inlinevirtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 196 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 272 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Reimplemented from Tempus::Stepper< Scalar >.
Definition at line 295 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::StepperStaggeredForwardSensitivity< Scalar >::get_x_space | ( | ) | const |
Definition at line 391 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 208 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inline |
What mode the current time integration step is in.
Definition at line 214 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
private |
Definition at line 367 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
protected |
Definition at line 221 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 222 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 223 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 224 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 225 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 226 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 227 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 228 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 229 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 230 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 231 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.