Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ****************************************************************************
3
// Tempus: Copyright (2017) Sandia Corporation
4
//
5
// Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6
// ****************************************************************************
7
// @HEADER
8
9
#ifndef Tempus_ModelEvaluatorPairPartIMEX_CombinedFSA_decl_hpp
10
#define Tempus_ModelEvaluatorPairPartIMEX_CombinedFSA_decl_hpp
11
12
#include "Tempus_config.hpp"
13
#include "
Tempus_SensitivityModelEvaluatorBase.hpp
"
14
#include "Tempus_WrapperModelEvaluatorPairPartIMEX_Basic.hpp"
15
#include "Tempus_CombinedForwardSensitivityModelEvaluator.hpp"
16
17
#include "Thyra_ProductMultiVectorBase.hpp"
18
#include "Thyra_DefaultMultiVectorProductVectorSpace.hpp"
19
#include "Thyra_DefaultMultiVectorProductVector.hpp"
20
21
namespace
Tempus
{
22
31
template
<
typename
Scalar>
32
class
WrapperModelEvaluatorPairPartIMEX_CombinedFSA
33
:
public
SensitivityModelEvaluatorBase
<Scalar>,
34
public
WrapperModelEvaluatorPairPartIMEX_Basic
<Scalar>
35
{
36
public
:
37
39
WrapperModelEvaluatorPairPartIMEX_CombinedFSA
(
40
const
Teuchos::RCP<
const
WrapperModelEvaluatorPairPartIMEX_Basic<Scalar>
>& forwardModel,
41
const
Teuchos::RCP<const Teuchos::ParameterList>& pList = Teuchos::null);
42
44
virtual
~WrapperModelEvaluatorPairPartIMEX_CombinedFSA
(){}
45
47
virtual
void
initialize
();
48
50
51
52
virtual
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
53
get_p_space
(
int
i)
const
;
54
56
58
60
virtual
Teuchos::RCP<Thyra::VectorBase<Scalar> >
61
getIMEXVector
(
62
const
Teuchos::RCP<
Thyra::VectorBase<Scalar>
> & full)
const
;
63
65
virtual
Teuchos::RCP<const Thyra::VectorBase<Scalar> >
66
getIMEXVector
(
67
const
Teuchos::RCP<
const
Thyra::VectorBase<Scalar>
> & full)
const
;
68
70
virtual
Teuchos::RCP<Thyra::VectorBase<Scalar> >
71
getExplicitOnlyVector
(
72
const
Teuchos::RCP<
Thyra::VectorBase<Scalar>
> & full)
const
;
73
75
virtual
Teuchos::RCP<const Thyra::VectorBase<Scalar> >
76
getExplicitOnlyVector
(
77
const
Teuchos::RCP<
const
Thyra::VectorBase<Scalar>
> & full)
const
;
78
80
82
83
85
virtual
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
86
getForwardModel
()
const
;
87
89
91
92
93
virtual
Thyra::ModelEvaluatorBase::InArgs<Scalar>
94
createInArgs
()
const
;
95
96
virtual
void
97
evalModelImpl
(
98
const
Thyra::ModelEvaluatorBase::InArgs<Scalar> & inArgs,
99
const
Thyra::ModelEvaluatorBase::OutArgs<Scalar> & outArgs)
const
;
100
102
103
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
104
105
protected
:
106
107
typedef
WrapperModelEvaluatorPairPartIMEX_Basic<Scalar>
Base
;
108
typedef
Thyra::DefaultMultiVectorProductVectorSpace<Scalar>
DMVPVS
;
109
typedef
Thyra::DefaultMultiVectorProductVector<Scalar>
DMVPV
;
110
typedef
Thyra::ProductMultiVectorBase<Scalar>
PMVB
;
111
typedef
CombinedForwardSensitivityModelEvaluator<Scalar>
FSAME
;
112
113
Teuchos::RCP<const WrapperModelEvaluatorPairPartIMEX_Basic<Scalar> >
forwardModel_
;
114
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
appExplicitModel_
;
115
Teuchos::RCP<const Thyra::ModelEvaluator<Scalar> >
appImplicitModel_
;
116
Teuchos::RCP<const FSAME>
fsaExplicitModel_
;
117
Teuchos::RCP<const FSAME>
fsaImplicitModel_
;
118
119
bool
use_dfdp_as_tangent_
;
120
int
y_tangent_index_
;
121
122
Teuchos::RCP<const DMVPVS>
explicit_y_dydp_prod_space_
;
123
Teuchos::RCP<const DMVPVS>
explicit_dydp_prod_space_
;
124
Teuchos::RCP<const DMVPVS>
imex_x_dxdp_prod_space_
;
125
126
mutable
Teuchos::RCP<Thyra::MultiVectorBase<Scalar> >
my_dfdp_mv_
;
127
mutable
Teuchos::RCP<Thyra::LinearOpBase<Scalar> >
my_dfdp_op_
;
128
129
};
130
131
}
// namespace Tempus
132
133
#endif
// Tempus_ModelEvaluatorPairPartIMEX_Basic_decl_hpp
Tempus_SensitivityModelEvaluatorBase.hpp
Tempus::CombinedForwardSensitivityModelEvaluator
Transform a ModelEvaluator's sensitivity equations to its residual.
Definition
Tempus_CombinedForwardSensitivityModelEvaluator_decl.hpp:41
Tempus::SensitivityModelEvaluatorBase::SensitivityModelEvaluatorBase
SensitivityModelEvaluatorBase()
Constructor.
Definition
Tempus_SensitivityModelEvaluatorBase.hpp:32
Tempus::WrapperModelEvaluatorPairPartIMEX_Basic::WrapperModelEvaluatorPairPartIMEX_Basic
WrapperModelEvaluatorPairPartIMEX_Basic()
Default constructor – Still requires setting the models and running initialize.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_Basic_impl.hpp:20
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::Base
WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > Base
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:107
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::my_dfdp_mv_
Teuchos::RCP< Thyra::MultiVectorBase< Scalar > > my_dfdp_mv_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:126
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::forwardModel_
Teuchos::RCP< const WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > > forwardModel_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:113
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::fsaExplicitModel_
Teuchos::RCP< const FSAME > fsaExplicitModel_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:116
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::getValidParameters
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:455
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::appExplicitModel_
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > appExplicitModel_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:114
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::appImplicitModel_
Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > appImplicitModel_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:115
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::WrapperModelEvaluatorPairPartIMEX_CombinedFSA
WrapperModelEvaluatorPairPartIMEX_CombinedFSA(const Teuchos::RCP< const WrapperModelEvaluatorPairPartIMEX_Basic< Scalar > > &forwardModel, const Teuchos::RCP< const Teuchos::ParameterList > &pList=Teuchos::null)
Constructor.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:19
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::my_dfdp_op_
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > my_dfdp_op_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:127
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::FSAME
CombinedForwardSensitivityModelEvaluator< Scalar > FSAME
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:111
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::fsaImplicitModel_
Teuchos::RCP< const FSAME > fsaImplicitModel_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:117
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::evalModelImpl
virtual void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:330
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::getExplicitOnlyVector
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getExplicitOnlyVector(const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const
Extract explicit-only vector from a full solution vector.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:211
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::getIMEXVector
virtual Teuchos::RCP< Thyra::VectorBase< Scalar > > getIMEXVector(const Teuchos::RCP< Thyra::VectorBase< Scalar > > &full) const
Extract IMEX vector from a full solution vector.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:128
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::initialize
virtual void initialize()
Initialize after setting member data.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:66
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::explicit_dydp_prod_space_
Teuchos::RCP< const DMVPVS > explicit_dydp_prod_space_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:123
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::get_p_space
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_p_space(int i) const
Get the p space.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:113
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::use_dfdp_as_tangent_
bool use_dfdp_as_tangent_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:119
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::PMVB
Thyra::ProductMultiVectorBase< Scalar > PMVB
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:110
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::imex_x_dxdp_prod_space_
Teuchos::RCP< const DMVPVS > imex_x_dxdp_prod_space_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:124
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::DMVPVS
Thyra::DefaultMultiVectorProductVectorSpace< Scalar > DMVPVS
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:108
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::getForwardModel
virtual Teuchos::RCP< const Thyra::ModelEvaluator< Scalar > > getForwardModel() const
Get the underlying forward model.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:296
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::~WrapperModelEvaluatorPairPartIMEX_CombinedFSA
virtual ~WrapperModelEvaluatorPairPartIMEX_CombinedFSA()
Destructor.
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:44
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::DMVPV
Thyra::DefaultMultiVectorProductVector< Scalar > DMVPV
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:109
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::createInArgs
virtual Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_impl.hpp:304
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::y_tangent_index_
int y_tangent_index_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:120
Tempus::WrapperModelEvaluatorPairPartIMEX_CombinedFSA::explicit_y_dydp_prod_space_
Teuchos::RCP< const DMVPVS > explicit_y_dydp_prod_space_
Definition
Tempus_WrapperModelEvaluatorPairPartIMEX_CombinedFSA_decl.hpp:122
Thyra::VectorBase
Tempus
Definition
Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:21
Generated by
1.17.0