Tempus
Version of the Day
Time Integration
|
Time integrator implementing forward sensitivity analysis. More...
#include <Tempus_IntegratorForwardSensitivity_decl.hpp>
Public Member Functions | |
IntegratorForwardSensitivity (Teuchos::RCP< Teuchos::ParameterList > pList, const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model) | |
Constructor with ParameterList and model, and will be fully initialized. More... | |
IntegratorForwardSensitivity (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model, std::string stepperType) | |
Constructor with model and "Stepper Type" and is fully initialized with default settings. More... | |
IntegratorForwardSensitivity () | |
Destructor. More... | |
virtual | ~IntegratorForwardSensitivity () |
Destructor. More... | |
void | parseScreenOutput () |
Parse when screen output should be executed. More... | |
Public Member Functions inherited from Tempus::Integrator< Scalar > | |
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< Tempus::Integrator< 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 |
Public Member Functions inherited from Teuchos::ParameterListAcceptor | |
virtual RCP< const ParameterList > | getParameterList () const |
Protected Member Functions | |
void | createSensitivityModelAndStepper (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model) |
Protected Member Functions inherited from Teuchos::VerboseObject< Tempus::Integrator< 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 |
Protected Attributes | |
Teuchos::RCP < Thyra::ModelEvaluator < Scalar > > | model_ |
Teuchos::RCP < SensitivityModelEvaluatorBase < Scalar > > | sens_model_ |
Teuchos::RCP < StepperStaggeredForwardSensitivity < Scalar > > | sens_stepper_ |
Teuchos::RCP < IntegratorBasicOld< Scalar > > | integrator_ |
Teuchos::RCP < Teuchos::ParameterList > | tempus_pl_ |
Teuchos::RCP < Teuchos::ParameterList > | sens_pl_ |
Teuchos::RCP < Teuchos::ParameterList > | stepper_pl_ |
bool | use_combined_method_ |
Basic integrator methods | |
virtual bool | advanceTime () |
Advance the solution to timeMax, and return true if successful. More... | |
virtual bool | advanceTime (const Scalar timeFinal) override |
Advance the solution to timeFinal, and return true if successful. More... | |
virtual void | startIntegrator () |
Perform tasks before start of integrator. More... | |
virtual void | startTimeStep () |
Start time step. More... | |
virtual void | checkTimeStep () |
Check if time step has passed or failed. More... | |
virtual void | endIntegrator () |
Perform tasks after end of integrator. More... | |
virtual Teuchos::RCP < Teuchos::ParameterList > | getTempusParameterList () override |
Return a copy of the Tempus ParameterList. More... | |
virtual void | setTempusParameterList (Teuchos::RCP< Teuchos::ParameterList > pl) override |
Accessor methods | |
virtual Scalar | getTime () const override |
Get current time. More... | |
virtual int | getIndex () const override |
Get current index. More... | |
virtual Status | getStatus () const override |
Get Status. More... | |
virtual Teuchos::RCP< Stepper < Scalar > > | getStepper () const override |
Get the Stepper. More... | |
virtual void | setStepper (Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > model) |
Set the Stepper. More... | |
virtual void | setStepperWStepper (Teuchos::RCP< Stepper< Scalar > > stepper) |
Set the Stepper. More... | |
virtual void | initializeSolutionHistory (Teuchos::RCP< SolutionState< Scalar > > state=Teuchos::null) |
Set the initial state which has the initial conditions. More... | |
virtual void | initializeSolutionHistory (Scalar t0, Teuchos::RCP< const Thyra::VectorBase< Scalar > > x0, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdot0=Teuchos::null, Teuchos::RCP< const Thyra::VectorBase< Scalar > > xdotdot0=Teuchos::null, Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > DxDp0=Teuchos::null, Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > DxdotDp0=Teuchos::null, Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > DxdotdotDp0=Teuchos::null) |
Set the initial state from Thyra::VectorBase(s) More... | |
virtual Teuchos::RCP< const SolutionHistory< Scalar > > | getSolutionHistory () const override |
Get the SolutionHistory. More... | |
virtual void | setSolutionHistory (Teuchos::RCP< SolutionHistory< Scalar > > sh=Teuchos::null) |
Set the SolutionHistory. More... | |
virtual Teuchos::RCP< const TimeStepControl< Scalar > > | getTimeStepControl () const override |
Get the TimeStepControl. More... | |
virtual Teuchos::RCP < TimeStepControl< Scalar > > | getNonConstTimeStepControl () override |
virtual void | setTimeStepControl (Teuchos::RCP< TimeStepControl< Scalar > > tsc=Teuchos::null) |
Set the TimeStepControl. More... | |
virtual Teuchos::RCP < IntegratorObserver< Scalar > > | getObserver () |
Get the Observer. More... | |
virtual void | setObserver (Teuchos::RCP< IntegratorObserver< Scalar > > obs=Teuchos::null) |
Set the Observer. More... | |
virtual void | initialize () |
Initializes the Integrator after set* function calls. More... | |
virtual Teuchos::RCP < Teuchos::Time > | getIntegratorTimer () const override |
Returns the IntegratorTimer_ for this Integrator. More... | |
virtual Teuchos::RCP < Teuchos::Time > | getStepperTimer () const override |
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > | getX () const |
Get current the solution, x. More... | |
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > | getDxDp () const |
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > | getXDot () const |
Get current the time derivative of the solution, xdot. More... | |
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > | getDXDotDp () const |
virtual Teuchos::RCP< const Thyra::VectorBase< Scalar > > | getXDotDot () const |
Get current the second time derivative of the solution, xdotdot. More... | |
virtual Teuchos::RCP< const Thyra::MultiVectorBase< Scalar > > | getDXDotDotDp () const |
virtual Teuchos::RCP < SolutionState< Scalar > > | getCurrentState () |
Get current state. More... | |
Overridden from Teuchos::ParameterListAcceptor | |
void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &pl) override |
Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () override |
Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () override |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const override |
Overridden from Teuchos::Describable | |
std::string | description () const override |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const override |
Additional Inherited Members | |
Static Public Member Functions inherited from Teuchos::VerboseObject< Tempus::Integrator< 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 |
Time integrator implementing forward sensitivity analysis.
This integrator implements forward parameter sensitivity analysis by propagating the derivative of the solution with respect to model parameters alongside the solution. It supports sensitivity propagation methods:
Note that this integrator implements all of the same functions as the IntegratorBasicOld, but is not derived from IntegratorBasicOld. It also provides functions for setting the sensitivity initial conditions and extracting the sensitivity at the final time. Also the vectors stored in the solution history store product vectors of the state and sensitivities using Thyra;:DefaultMultiVectorProductVector.
Definition at line 47 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
Tempus::IntegratorForwardSensitivity< Scalar >::IntegratorForwardSensitivity | ( | Teuchos::RCP< Teuchos::ParameterList > | pList, |
const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > & | model | ||
) |
Constructor with ParameterList and model, and will be fully initialized.
In addition to all of the regular integrator options, the supplied parameter list supports the following options contained within a sublist "Sensitivities" from the top-level parameter list:
Definition at line 24 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
Tempus::IntegratorForwardSensitivity< Scalar >::IntegratorForwardSensitivity | ( | const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > & | model, |
std::string | stepperType | ||
) |
Constructor with model and "Stepper Type" and is fully initialized with default settings.
Definition at line 44 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
Tempus::IntegratorForwardSensitivity< Scalar >::IntegratorForwardSensitivity | ( | ) |
Destructor.
Constructor that requires a subsequent setParameterList, setStepper, and initialize calls.
Definition at line 65 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 99 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Advance the solution to timeMax, and return true if successful.
Definition at line 104 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Advance the solution to timeFinal, and return true if successful.
Implements Tempus::Integrator< Scalar >.
Definition at line 107 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Perform tasks before start of integrator.
Definition at line 110 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Start time step.
Definition at line 113 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Check if time step has passed or failed.
Definition at line 116 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Perform tasks after end of integrator.
Definition at line 119 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Return a copy of the Tempus ParameterList.
Implements Tempus::Integrator< Scalar >.
Definition at line 122 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Implements Tempus::Integrator< Scalar >.
Definition at line 124 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get current time.
Implements Tempus::Integrator< Scalar >.
Definition at line 131 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get current index.
Implements Tempus::Integrator< Scalar >.
Definition at line 134 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get Status.
Implements Tempus::Integrator< Scalar >.
Definition at line 137 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get the Stepper.
Implements Tempus::Integrator< Scalar >.
Definition at line 140 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
virtual |
Set the Stepper.
Definition at line 73 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Set the Stepper.
Definition at line 147 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the initial state which has the initial conditions.
Definition at line 150 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
virtual |
Set the initial state from Thyra::VectorBase(s)
Definition at line 85 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlineoverridevirtual |
Get the SolutionHistory.
Implements Tempus::Integrator< Scalar >.
Definition at line 165 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the SolutionHistory.
Definition at line 168 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get the TimeStepControl.
Implements Tempus::Integrator< Scalar >.
Definition at line 172 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Implements Tempus::Integrator< Scalar >.
Definition at line 174 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the TimeStepControl.
Definition at line 177 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Get the Observer.
Definition at line 181 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the Observer.
Definition at line 184 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Initializes the Integrator after set* function calls.
Definition at line 188 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Returns the IntegratorTimer_ for this Integrator.
Implements Tempus::Integrator< Scalar >.
Definition at line 190 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Implements Tempus::Integrator< Scalar >.
Definition at line 192 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
virtual |
Get current the solution, x.
Definition at line 149 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 162 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Get current the time derivative of the solution, xdot.
Definition at line 177 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 190 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Get current the second time derivative of the solution, xdotdot.
Definition at line 205 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 219 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Get current state.
Definition at line 206 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inline |
Parse when screen output should be executed.
Definition at line 211 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
overridevirtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 257 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlineoverridevirtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 217 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
overridevirtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 276 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
overridevirtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 289 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
overridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 235 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
overridevirtual |
Reimplemented from Teuchos::Describable.
Definition at line 244 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
protected |
Definition at line 309 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
protected |
Definition at line 239 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 240 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 241 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 242 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 243 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 244 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 245 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 246 of file Tempus_IntegratorForwardSensitivity_decl.hpp.