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< 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... | |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () 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 | 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 > >=Teuchos::null) |
Set Observer. More... | |
virtual void | initialize () |
Initialize during construction and after changing input parameters. 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 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 > > &) 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 |
![]() | |
virtual void | modelWarning () const |
void | getValidParametersBasic (Teuchos::RCP< Teuchos::ParameterList > pl) const |
virtual void | createSubSteppers (std::vector< Teuchos::RCP< const Thyra::ModelEvaluator< 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 |
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_ |
Private Member Functions | |
void | setParams (const Teuchos::RCP< Teuchos::ParameterList > &pl, const Teuchos::RCP< Teuchos::ParameterList > &spl) |
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 29 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
Tempus::StepperStaggeredForwardSensitivity< Scalar >::StepperStaggeredForwardSensitivity | ( | ) |
Default constructor.
Definition at line 29 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Tempus::StepperStaggeredForwardSensitivity< Scalar >::StepperStaggeredForwardSensitivity | ( | const Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > & | appModel, |
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 38 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 309 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Definition at line 300 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus::StepperStaggeredForwardSensitivity< Scalar >::get_x_space | ( | ) | const |
Definition at line 401 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 348 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Get a default (initial) StepperState.
Implements Tempus::Stepper< Scalar >.
Definition at line 288 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 144 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 150 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 120 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 105 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperStaggeredForwardSensitivity< Scalar >::getNonconstParameterList | ( | ) |
Definition at line 357 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 117 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 119 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 118 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 136 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Get solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 93 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 111 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 139 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
Teuchos::RCP< const Teuchos::ParameterList > Tempus::StepperStaggeredForwardSensitivity< Scalar >::getValidParameters | ( | ) | const |
Definition at line 339 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Initialize during construction and after changing input parameters.
Implements Tempus::Stepper< Scalar >.
Definition at line 133 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 124 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 128 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 126 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 134 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 142 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 148 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Set the initial conditions and make them consistent.
Implements Tempus::Stepper< Scalar >.
Definition at line 104 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
inlinevirtual |
Pass initial guess to Newton solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 156 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 52 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 87 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Set Observer.
Implements Tempus::Stepper< Scalar >.
Definition at line 97 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
void Tempus::StepperStaggeredForwardSensitivity< Scalar >::setParameterList | ( | const Teuchos::RCP< Teuchos::ParameterList > & | pl | ) |
Definition at line 322 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
private |
Definition at line 376 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Set solver via ParameterList solver name.
Implements Tempus::Stepper< Scalar >.
Definition at line 96 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Set solver via solver ParameterList.
Implements Tempus::Stepper< Scalar >.
Definition at line 113 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
virtual |
Set solver.
Implements Tempus::Stepper< Scalar >.
Definition at line 123 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
inlinevirtual |
Implements Tempus::Stepper< Scalar >.
Definition at line 138 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
virtual |
Take the specified timestep, dt, and return true if successful.
Implements Tempus::Stepper< Scalar >.
Definition at line 141 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
Teuchos::RCP< Teuchos::ParameterList > Tempus::StepperStaggeredForwardSensitivity< Scalar >::unsetParameterList | ( | ) |
Definition at line 366 of file Tempus_StepperStaggeredForwardSensitivity_impl.hpp.
|
protected |
Definition at line 188 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 193 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 189 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 192 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 187 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 185 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 191 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 190 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 186 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.
|
protected |
Definition at line 184 of file Tempus_StepperStaggeredForwardSensitivity_decl.hpp.