|
Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Explicit forward sensitivity transient ModelEvaluator subclass.
More...
#include <Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp>

Constructors/Intializers/Accessors | |
| ForwardSensitivityExplicitModelEvaluator () | |
Public functions overridden from ForwardSensitivityModelEvaluatorBase. | |
| void | initializeStructure (const RCP< const Thyra::ModelEvaluator< Scalar > > &stateModel, const int p_index) |
| void | initializeStructureInitCondOnly (const RCP< const Thyra::ModelEvaluator< Scalar > > &stateModel, const RCP< const Thyra::VectorSpaceBase< Scalar > > &p_space) |
| RCP< const Thyra::ModelEvaluator< Scalar > > | getStateModel () const |
| RCP< Thyra::ModelEvaluator < Scalar > > | getNonconstStateModel () const |
| int | get_p_index () const |
| RCP< const Thyra::DefaultMultiVectorProductVectorSpace < Scalar > > | get_s_bar_space () const |
| RCP< const Thyra::VectorSpaceBase< Scalar > > | get_p_sens_space () const |
| void | initializePointState (Ptr< StepperBase< Scalar > > stateStepper, bool forceUpToDateW) |
| Initialize full state for a single point in time. More... | |
Public functions overridden from ModelEvaulator. | |
| RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () const |
| RCP< const Thyra::VectorSpaceBase< Scalar > > | get_f_space () const |
| Thyra::ModelEvaluatorBase::InArgs < Scalar > | getNominalValues () const |
| RCP < Thyra::LinearOpWithSolveBase < Scalar > > | create_W () const |
| Thyra::ModelEvaluatorBase::InArgs < Scalar > | createInArgs () const |
Additional Inherited Members |
Explicit forward sensitivity transient ModelEvaluator subclass.
This class provides a very general implemenation of a linear forward sensitivity model evaluator for an explicit ODE.
The form of the parameterized state equation is:
x_dot(t) = f(x(t),{p_l},t), over t = [t0,tf]
x(t0) = x_init(p)As shown above, the parameters are assumed to be steady state and can enter through the intial condition and/or through the ODE equation itself.
The explicit forward sensitivity equations written in multi-vector form are:
S_dot = d(f)/d(x)*S + d(f)/d(p) = 0, over t = [t0,tf] S(t0) = d(x_init)/d(p)
where S is a multi-vector with np columns where each column S(:,j) = d(x)/d(p_j) is the sensitivity of x(t) with respect to the p_j parameter. The sensitivity parameter subvector p here is really just one of the parameter subvectors in the state equation. This index of the parameter subvector for which the sensitivity equations are written for is given by p_index. Note that above d(f)/d(x) and d(f)/d(p are both evaluated at the solution to the state equation (x(t),t) and are not functions of S_dot or S.
Since the model evaluator interface must be expressed in vector form, the multi-vector form of the forward sensitivity equations is flattened out into:
s_bar_dot(t) = f_sens(s_bar(t),{p_l},t), over t = [t0,tf]
s_bar(t0) = s_bar_initwhere
s_bar = [ S(:,0); S(:,0); ...; S(:,np-1) ]
[ d(f)/d(x)*S(:,0) + d(f)/d(p(0)) ]
[ d(f)/d(x)*S(:,1) + d(f)/d(p(1)) ]
f_sens = [ ... ]
[ d(f)/d(x)*S(:,np-1) + d(f)/d(p(np-1)) ]
s_bar_init = [ d(x_init)/d(p(0)); d(x_init)/d(p(1)); ...; d(x_init)/d(p(np-1)) ]The product vector s_bar is represented as a specialized Thyra::ProductVectorBase subclass object with np "blocks" in terms of a single Thyra::MultiVectorBase object (which has np columns).
ToDo: Finish documention!
Definition at line 126 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
| Rythmos::ForwardSensitivityExplicitModelEvaluator< Scalar >::ForwardSensitivityExplicitModelEvaluator | ( | ) |
Definition at line 264 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 274 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 330 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 341 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 349 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 356 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 364 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 372 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
|
virtual |
Initialize full state for a single point in time.
Implements Rythmos::ForwardSensitivityModelEvaluatorBase< Scalar >.
Definition at line 379 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
| RCP< const Thyra::VectorSpaceBase< Scalar > > Rythmos::ForwardSensitivityExplicitModelEvaluator< Scalar >::get_x_space | ( | ) | const |
Definition at line 417 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
| RCP< const Thyra::VectorSpaceBase< Scalar > > Rythmos::ForwardSensitivityExplicitModelEvaluator< Scalar >::get_f_space | ( | ) | const |
Definition at line 425 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
| Thyra::ModelEvaluatorBase::InArgs< Scalar > Rythmos::ForwardSensitivityExplicitModelEvaluator< Scalar >::getNominalValues | ( | ) | const |
Definition at line 433 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
| RCP< Thyra::LinearOpWithSolveBase< Scalar > > Rythmos::ForwardSensitivityExplicitModelEvaluator< Scalar >::create_W | ( | ) | const |
Definition at line 441 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
| Thyra::ModelEvaluatorBase::InArgs< Scalar > Rythmos::ForwardSensitivityExplicitModelEvaluator< Scalar >::createInArgs | ( | ) | const |
Definition at line 449 of file Rythmos_ForwardSensitivityExplicitModelEvaluator.hpp.
1.8.5