Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Thyra_ReusePreconditionerFactory.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 Thyra_ReusePreconditionerFactory_hpp
10
#define Thyra_ReusePreconditionerFactory_hpp
11
12
#include "Thyra_PreconditionerFactoryBase.hpp"
13
14
namespace
Thyra
{
15
19
template
<
class
Scalar>
20
class
ReusePreconditionerFactory
21
:
virtual
public
PreconditionerFactoryBase
<Scalar>
22
{
23
public
:
24
27
29
ReusePreconditionerFactory
() {}
30
31
void
initialize
(
32
const
RCP<
PreconditionerBase<Scalar>
> &prec
33
) {
34
#ifdef TEUCHOS_DEBUG
35
TEUCHOS_TEST_FOR_EXCEPT(is_null(prec));
36
#endif
37
prec_
= prec;
38
}
39
40
RCP<PreconditionerBase<Scalar> >
41
getNonconstPreconditioner
() {
return
prec_
; }
42
43
RCP<const PreconditionerBase<Scalar> >
44
getPreconditioner
()
const
{
return
prec_
; }
45
46
void
uninitialize
() {
47
prec_
= Teuchos::null;
48
}
49
52
53
std::string
description
()
const
54
{
55
std::ostringstream oss;
56
oss << this->Teuchos::Describable::description()
57
<<
"{"
58
<<
"prec="
;
59
if
(!is_null(
prec_
))
60
oss <<
prec_
->description();
61
else
62
oss <<
"NULL"
;
63
oss <<
"}"
;
64
return
oss.str();
65
}
66
68
71
72
void
setParameterList
(RCP<ParameterList>
const
&
/* paramList */
)
73
{
74
}
75
76
RCP<ParameterList>
getNonconstParameterList
()
77
{
78
return
Teuchos::null;
79
}
80
81
RCP<ParameterList>
unsetParameterList
()
82
{
83
return
Teuchos::null;
84
}
85
86
RCP<const ParameterList>
getParameterList
()
const
87
{
88
return
Teuchos::null;
89
}
90
91
RCP<const ParameterList>
getValidParameters
()
const
92
{
93
return
rcp(
new
ParameterList);
94
}
95
97
99
102
103
bool
isCompatible
(
const
LinearOpSourceBase<Scalar> &
/* fwdOpSrc */
)
const
104
{
return
false
; }
105
106
RCP<PreconditionerBase<Scalar> >
createPrec
()
const
107
{
return
prec_
; }
108
109
void
initializePrec
(
110
const
RCP<
const
LinearOpSourceBase<Scalar> > &
/* fwdOpSrc */
,
111
PreconditionerBase<Scalar>
*
/* precOp */
,
112
const
ESupportSolveUse
/* supportSolveUse */
= SUPPORT_SOLVE_UNSPECIFIED
113
)
const
114
{
115
}
116
117
void
uninitializePrec
(
118
PreconditionerBase<Scalar>
*
/* precOp */
,
119
RCP<
const
LinearOpSourceBase<Scalar> > *fwdOpSrc = NULL,
120
ESupportSolveUse *supportSolveUse = NULL
121
)
const
122
{
123
}
124
126
127
private
:
128
129
// //////////////////////////////
130
// Private data members
131
132
RCP< PreconditionerBase<Scalar> >
prec_
;
133
134
};
135
140
template
<
class
Scalar>
141
RCP<ReusePreconditionerFactory<Scalar> >
142
reusePreconditionerFactory
()
143
{
144
return
Teuchos::rcp(
new
ReusePreconditionerFactory<Scalar>
());
145
}
146
151
template
<
class
Scalar>
152
RCP<ReusePreconditionerFactory<Scalar> >
153
reusePreconditionerFactory
(
154
const
RCP<
PreconditionerBase<Scalar>
> &prec
155
)
156
{
157
RCP<ReusePreconditionerFactory<Scalar> >
158
fac = Teuchos::rcp(
new
ReusePreconditionerFactory<Scalar>
());
159
fac->initialize(prec);
160
return
fac;
161
}
162
163
}
// end namespace Thyra
164
165
#endif
Thyra::PreconditionerBase
Thyra::PreconditionerFactoryBase
Thyra::ReusePreconditionerFactory::getNonconstParameterList
RCP< ParameterList > getNonconstParameterList()
Definition
Thyra_ReusePreconditionerFactory.hpp:76
Thyra::ReusePreconditionerFactory::getNonconstPreconditioner
RCP< PreconditionerBase< Scalar > > getNonconstPreconditioner()
Definition
Thyra_ReusePreconditionerFactory.hpp:41
Thyra::ReusePreconditionerFactory::ReusePreconditionerFactory
ReusePreconditionerFactory()
Construct to uninitialized.
Definition
Thyra_ReusePreconditionerFactory.hpp:29
Thyra::ReusePreconditionerFactory::uninitialize
void uninitialize()
Definition
Thyra_ReusePreconditionerFactory.hpp:46
Thyra::ReusePreconditionerFactory::reusePreconditionerFactory
RCP< ReusePreconditionerFactory< Scalar > > reusePreconditionerFactory(const RCP< PreconditionerBase< Scalar > > &prec)
Nonmember constructor function.
Definition
Thyra_ReusePreconditionerFactory.hpp:153
Thyra::ReusePreconditionerFactory::getParameterList
RCP< const ParameterList > getParameterList() const
Definition
Thyra_ReusePreconditionerFactory.hpp:86
Thyra::ReusePreconditionerFactory::getValidParameters
RCP< const ParameterList > getValidParameters() const
Definition
Thyra_ReusePreconditionerFactory.hpp:91
Thyra::ReusePreconditionerFactory::reusePreconditionerFactory
RCP< ReusePreconditionerFactory< Scalar > > reusePreconditionerFactory()
Nonmember constructor function.
Definition
Thyra_ReusePreconditionerFactory.hpp:142
Thyra::ReusePreconditionerFactory::prec_
RCP< PreconditionerBase< Scalar > > prec_
Definition
Thyra_ReusePreconditionerFactory.hpp:132
Thyra::ReusePreconditionerFactory::createPrec
RCP< PreconditionerBase< Scalar > > createPrec() const
Definition
Thyra_ReusePreconditionerFactory.hpp:106
Thyra::ReusePreconditionerFactory::initializePrec
void initializePrec(const RCP< const LinearOpSourceBase< Scalar > > &, PreconditionerBase< Scalar > *, const ESupportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) const
Definition
Thyra_ReusePreconditionerFactory.hpp:109
Thyra::ReusePreconditionerFactory::initialize
void initialize(const RCP< PreconditionerBase< Scalar > > &prec)
Definition
Thyra_ReusePreconditionerFactory.hpp:31
Thyra::ReusePreconditionerFactory::setParameterList
void setParameterList(RCP< ParameterList > const &)
Definition
Thyra_ReusePreconditionerFactory.hpp:72
Thyra::ReusePreconditionerFactory::isCompatible
bool isCompatible(const LinearOpSourceBase< Scalar > &) const
Definition
Thyra_ReusePreconditionerFactory.hpp:103
Thyra::ReusePreconditionerFactory::uninitializePrec
void uninitializePrec(PreconditionerBase< Scalar > *, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc=NULL, ESupportSolveUse *supportSolveUse=NULL) const
Definition
Thyra_ReusePreconditionerFactory.hpp:117
Thyra::ReusePreconditionerFactory::unsetParameterList
RCP< ParameterList > unsetParameterList()
Definition
Thyra_ReusePreconditionerFactory.hpp:81
Thyra::ReusePreconditionerFactory::getPreconditioner
RCP< const PreconditionerBase< Scalar > > getPreconditioner() const
Definition
Thyra_ReusePreconditionerFactory.hpp:44
Thyra::ReusePreconditionerFactory::description
std::string description() const
Definition
Thyra_ReusePreconditionerFactory.hpp:53
Thyra
Definition
Thyra_AdjointLinearOpWithSolveFactory.hpp:19
Generated by
1.17.0