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... | |
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 |
Basic integrator methods |
Protected Member Functions | |
void | createSensitivityModelAndStepper (const Teuchos::RCP< Thyra::ModelEvaluator< Scalar > > &model) |
Protected Attributes | |
Teuchos::RCP < Thyra::ModelEvaluator < Scalar > > | model_ |
Teuchos::RCP < SensitivityModelEvaluatorBase < Scalar > > | sens_model_ |
Teuchos::RCP < StepperStaggeredForwardSensitivity < Scalar > > | sens_stepper_ |
Teuchos::RCP< IntegratorBasic < Scalar > > | integrator_ |
Teuchos::RCP < Teuchos::ParameterList > | tempus_pl_ |
Teuchos::RCP < Teuchos::ParameterList > | sens_pl_ |
Teuchos::RCP < Teuchos::ParameterList > | stepper_pl_ |
bool | use_combined_method_ |
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 IntegratorBasic, but is not derived from IntegratorBasic. 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 46 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 23 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 43 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
Tempus::IntegratorForwardSensitivity< Scalar >::IntegratorForwardSensitivity | ( | ) |
Destructor.
Constructor that requires a subsequent setParameterList, setStepper, and initialize calls.
Definition at line 64 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 96 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Advance the solution to timeMax, and return true if successful.
Definition at line 101 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Advance the solution to timeFinal, and return true if successful.
Implements Tempus::Integrator< Scalar >.
Definition at line 104 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Check if time step has passed or failed.
Definition at line 113 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 306 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
override |
Definition at line 243 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
override |
Definition at line 234 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Perform tasks after end of integrator.
Definition at line 116 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Get current state.
Definition at line 203 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
virtual |
Definition at line 218 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 189 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 161 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlineoverridevirtual |
Get current index.
Implements Tempus::Integrator< Scalar >.
Definition at line 131 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Returns the IntegratorTimer_ for this Integrator.
Implements Tempus::Integrator< Scalar >.
Definition at line 187 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverride |
Definition at line 214 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Implements Tempus::Integrator< Scalar >.
Definition at line 171 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Get the Observer.
Definition at line 178 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get the SolutionHistory.
Implements Tempus::Integrator< Scalar >.
Definition at line 162 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get Status.
Implements Tempus::Integrator< Scalar >.
Definition at line 134 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get the Stepper.
Implements Tempus::Integrator< Scalar >.
Definition at line 137 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Implements Tempus::Integrator< Scalar >.
Definition at line 189 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Return a copy of the Tempus ParameterList.
Implements Tempus::Integrator< Scalar >.
Definition at line 119 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get current time.
Implements Tempus::Integrator< Scalar >.
Definition at line 128 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Get the TimeStepControl.
Implements Tempus::Integrator< Scalar >.
Definition at line 169 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
override |
Definition at line 286 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Get current the solution, x.
Definition at line 148 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Get current the time derivative of the solution, xdot.
Definition at line 176 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
virtual |
Get current the second time derivative of the solution, xdotdot.
Definition at line 204 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Initializes the Integrator after set* function calls.
Definition at line 185 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the initial state which has the initial conditions.
Definition at line 147 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
virtual |
Set the initial state from Thyra::VectorBase(s)
Definition at line 84 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inline |
Parse when screen output should be executed.
Definition at line 208 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the Observer.
Definition at line 181 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
override |
Definition at line 254 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Set the SolutionHistory.
Definition at line 165 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
virtual |
Set the Stepper.
Definition at line 72 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
inlinevirtual |
Set the Stepper.
Definition at line 144 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlineoverridevirtual |
Implements Tempus::Integrator< Scalar >.
Definition at line 121 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the TimeStepControl.
Definition at line 174 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Perform tasks before start of integrator.
Definition at line 107 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
inlinevirtual |
Start time step.
Definition at line 110 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
override |
Definition at line 273 of file Tempus_IntegratorForwardSensitivity_impl.hpp.
|
protected |
Definition at line 239 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 236 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 237 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 241 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 238 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 242 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 240 of file Tempus_IntegratorForwardSensitivity_decl.hpp.
|
protected |
Definition at line 243 of file Tempus_IntegratorForwardSensitivity_decl.hpp.