Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
operator_solve
client_support
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_decl.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4
//
5
// Copyright 2004 NTESS and the Thyra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef THYRA_DEFAULT_SERIAL_DENSE_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP
11
#define THYRA_DEFAULT_SERIAL_DENSE_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP
12
13
14
#include "Thyra_LinearOpWithSolveFactoryBase.hpp"
15
#include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
16
17
18
namespace
Thyra {
19
20
27
template
<
class
Scalar>
28
class
DefaultSerialDenseLinearOpWithSolveFactory
29
:
virtual
public
LinearOpWithSolveFactoryBase
<Scalar>,
30
virtual
protected
Teuchos::ParameterListAcceptorDefaultBase
31
{
32
public
:
33
36
38
41
43
void
setParameterList
(
RCP<ParameterList>
const
& paramList);
45
RCP<const ParameterList>
getValidParameters
()
const
;
46
48
51
53
virtual
bool
acceptsPreconditionerFactory
()
const
;
54
56
virtual
void
setPreconditionerFactory
(
57
const
RCP
<
PreconditionerFactoryBase<Scalar>
> &precFactory,
58
const
std::string &precFactoryName
59
);
60
62
virtual
RCP<PreconditionerFactoryBase<Scalar>
>
63
getPreconditionerFactory
()
const
;
64
66
virtual
void
unsetPreconditionerFactory
(
67
RCP
<
PreconditionerFactoryBase<Scalar>
> *precFactory,
68
std::string *precFactoryName
69
);
70
72
virtual
bool
isCompatible
(
73
const
LinearOpSourceBase<Scalar>
&fwdOpSrc
74
)
const
;
75
77
virtual
RCP<LinearOpWithSolveBase<Scalar>
>
createOp
()
const
;
78
80
virtual
void
initializeOp
(
81
const
RCP
<
const
LinearOpSourceBase<Scalar>
> &fwdOpSrc,
82
LinearOpWithSolveBase<Scalar>
*Op,
83
const
ESupportSolveUse
supportSolveUse
84
)
const
;
85
87
virtual
void
initializeAndReuseOp
(
88
const
RCP
<
const
LinearOpSourceBase<Scalar>
> &fwdOpSrc,
89
LinearOpWithSolveBase<Scalar>
*Op
90
)
const
;
91
93
virtual
void
uninitializeOp
(
94
LinearOpWithSolveBase<Scalar>
*Op,
95
RCP
<
const
LinearOpSourceBase<Scalar>
> *fwdOpSrc,
96
RCP
<
const
PreconditionerBase<Scalar>
> *
prec
,
97
RCP
<
const
LinearOpSourceBase<Scalar>
> *approxFwdOpSrc,
98
ESupportSolveUse
*supportSolveUse
99
)
const
;
100
102
virtual
bool
supportsPreconditionerInputType
(
103
const
EPreconditionerInputType
precOpType
104
)
const
;
105
107
virtual
void
initializePreconditionedOp
(
108
const
RCP
<
const
LinearOpSourceBase<Scalar>
> &fwdOpSrc,
109
const
RCP
<
const
PreconditionerBase<Scalar>
> &
prec
,
110
LinearOpWithSolveBase<Scalar>
*Op,
111
const
ESupportSolveUse
supportSolveUse
112
)
const
;
113
115
virtual
void
initializeApproxPreconditionedOp
(
116
const
RCP
<
const
LinearOpSourceBase<Scalar>
> &fwdOpSrc,
117
const
RCP
<
const
LinearOpSourceBase<Scalar>
> &approxFwdOpSrc,
118
LinearOpWithSolveBase<Scalar>
*Op,
119
const
ESupportSolveUse
supportSolveUse
120
)
const
;
121
123
124
};
125
126
131
template
<
class
Scalar>
132
RCP<DefaultSerialDenseLinearOpWithSolveFactory<Scalar>
>
133
defaultSerialDenseLinearOpWithSolveFactory()
134
{
135
return
Teuchos::rcp
(
new
DefaultSerialDenseLinearOpWithSolveFactory<Scalar>
);
136
}
137
138
139
}
// namespace Thyra
140
141
142
#endif
// THYRA_DEFAULT_SERIAL_DENSE_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP
Teuchos::ParameterListAcceptorDefaultBase
Teuchos::RCP
Thyra::DefaultSerialDenseLinearOpWithSolveFactory
Concreate LinearOpWithSolveFactoryBase subclass that creates DefaultSerialDenseLinearOpWithSolve obje...
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_decl.hpp:31
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::setPreconditionerFactory
virtual void setPreconditionerFactory(const RCP< PreconditionerFactoryBase< Scalar > > &precFactory, const std::string &precFactoryName)
Throws exception.
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:57
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::getValidParameters
RCP< const ParameterList > getValidParameters() const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:39
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::createOp
virtual RCP< LinearOpWithSolveBase< Scalar > > createOp() const
Returns a DefaultSerialDenseLinearOpWithSolve object .
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:96
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::acceptsPreconditionerFactory
virtual bool acceptsPreconditionerFactory() const
returns false.
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:50
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::getPreconditionerFactory
virtual RCP< PreconditionerFactoryBase< Scalar > > getPreconditionerFactory() const
Returns null .
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:68
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::initializePreconditionedOp
virtual void initializePreconditionedOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:183
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::initializeOp
virtual void initializeOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:103
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::uninitializeOp
virtual void uninitializeOp(LinearOpWithSolveBase< Scalar > *Op, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc, RCP< const PreconditionerBase< Scalar > > *prec, RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:142
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::supportsPreconditionerInputType
virtual bool supportsPreconditionerInputType(const EPreconditionerInputType precOpType) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:173
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::setParameterList
void setParameterList(RCP< ParameterList > const ¶mList)
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:28
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::unsetPreconditionerFactory
virtual void unsetPreconditionerFactory(RCP< PreconditionerFactoryBase< Scalar > > *precFactory, std::string *precFactoryName)
Throws exception.
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:75
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::initializeApproxPreconditionedOp
virtual void initializeApproxPreconditionedOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:195
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::initializeAndReuseOp
virtual void initializeAndReuseOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:132
Thyra::DefaultSerialDenseLinearOpWithSolveFactory::isCompatible
virtual bool isCompatible(const LinearOpSourceBase< Scalar > &fwdOpSrc) const
Definition
Thyra_DefaultSerialDenseLinearOpWithSolveFactory_def.hpp:85
Thyra::LinearOpSourceBase
Base interface for objects that can return a linear operator.
Definition
Thyra_LinearOpSourceBase.hpp:26
Thyra::LinearOpWithSolveBase
Base class for all linear operators that can support a high-level solve operation.
Definition
Thyra_LinearOpWithSolveBase_decl.hpp:279
Thyra::LinearOpWithSolveFactoryBase
Factory interface for creating LinearOpWithSolveBase objects from compatible LinearOpBase objects.
Definition
Thyra_LinearOpWithSolveFactoryBase_decl.hpp:376
Thyra::PreconditionerBase
Simple interface class to access a precreated preconditioner as one or more linear operators objects ...
Definition
Thyra_PreconditionerBase.hpp:58
Thyra::PreconditionerFactoryBase
Factory interface for creating preconditioner objects from LinearOpBase objects.
Definition
Thyra_PreconditionerFactoryBase_decl.hpp:35
Thyra::PreconditionerFactoryBase::prec
Teuchos::RCP< PreconditionerBase< Scalar > > prec(const PreconditionerFactoryBase< Scalar > &precFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
Create and initialize a preconditioner from a forward linear operator.
Definition
Thyra_PreconditionerFactoryHelpers.hpp:64
Thyra::EPreconditionerInputType
EPreconditionerInputType
Enum defining the status of a preconditioner object.
Definition
Thyra_SolveSupportTypes.hpp:469
Thyra::ESupportSolveUse
ESupportSolveUse
Enum that specifies how a LinearOpWithSolveBase object will be used for solves after it is constructe...
Definition
Thyra_SolveSupportTypes.hpp:457
Teuchos::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Generated by
1.17.0