MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
Thyra_MueLuRefMaxwellPreconditionerFactory_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// MueLu: A package for multigrid based preconditioning
4
//
5
// Copyright 2012 NTESS and the MueLu contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef THYRA_MUELU_REFMAXWELL_PRECONDITIONER_FACTORY_DECL_HPP
11
#define THYRA_MUELU_REFMAXWELL_PRECONDITIONER_FACTORY_DECL_HPP
12
13
#include <
MueLu_ConfigDefs.hpp
>
14
15
#if defined(HAVE_MUELU_STRATIMIKOS) && defined(HAVE_MUELU_THYRA)
16
17
// Stratimikos needs Thyra, so we don't need special guards for Thyra here
18
#include "Thyra_DefaultPreconditioner.hpp"
19
#include "Thyra_BlockedLinearOpBase.hpp"
20
#include "Thyra_DiagonalLinearOpBase.hpp"
21
#include "
Thyra_XpetraLinearOp.hpp
"
22
#include <
Thyra_MueLuPreconditionerFactory.hpp
>
23
#include "Thyra_TpetraLinearOp.hpp"
24
#include "Thyra_TpetraThyraWrappers.hpp"
25
26
#include "Teuchos_Ptr.hpp"
27
#include "Teuchos_TestForException.hpp"
28
#include "Teuchos_Assert.hpp"
29
#include "Teuchos_Time.hpp"
30
31
#include <Xpetra_CrsMatrixWrap.hpp>
32
#include <Xpetra_CrsMatrix.hpp>
33
#include <Xpetra_Matrix.hpp>
34
#include <Xpetra_ThyraUtils.hpp>
35
36
#include <
MueLu_XpetraOperator_decl.hpp
>
// todo fix me
37
#include <MueLu_RefMaxwell.hpp>
38
#include <MueLu_TpetraOperator.hpp>
39
#include <Xpetra_TpetraOperator.hpp>
40
#include <Xpetra_TpetraHalfPrecisionOperator.hpp>
41
42
#include "Thyra_PreconditionerFactoryBase.hpp"
43
44
#include <Tpetra_KokkosCompat_DefaultNode.hpp>
45
46
#include <list>
47
48
namespace
Thyra
{
49
58
template
<
class
Scalar,
class
LocalOrdinal,
class
GlobalOrdinal,
class
Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
59
class
MueLuRefMaxwellPreconditionerFactory :
public
PreconditionerFactoryBase<Scalar> {
60
public
:
63
65
MueLuRefMaxwellPreconditionerFactory();
67
70
72
bool
isCompatible(
const
LinearOpSourceBase<Scalar>& fwdOp)
const
;
74
Teuchos::RCP<PreconditionerBase<Scalar> > createPrec()
const
;
76
void
initializePrec(
const
Teuchos::RCP<
const
LinearOpSourceBase<Scalar> >& fwdOp,
77
PreconditionerBase<Scalar>* prec,
78
const
ESupportSolveUse supportSolveUse)
const
;
80
void
uninitializePrec(PreconditionerBase<Scalar>* prec,
81
Teuchos::RCP<
const
LinearOpSourceBase<Scalar> >* fwdOp,
82
ESupportSolveUse* supportSolveUse)
const
;
83
85
88
90
void
setParameterList(
const
Teuchos::RCP<Teuchos::ParameterList>& paramList);
92
Teuchos::RCP<Teuchos::ParameterList> unsetParameterList();
94
Teuchos::RCP<Teuchos::ParameterList> getNonconstParameterList();
96
Teuchos::RCP<const Teuchos::ParameterList> getParameterList()
const
;
98
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
100
103
105
std::string description()
const
;
106
107
// ToDo: Add an override of describe(...) to give more detail!
108
110
111
private
:
112
Teuchos::RCP<Teuchos::ParameterList> paramList_;
113
};
114
115
}
// namespace Thyra
116
117
#endif
// #ifdef HAVE_MUELU_STRATIMIKOS
118
119
#endif
// THYRA_MUELU_REFMAXWELL_PRECONDITIONER_FACTORY_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_XpetraOperator_decl.hpp
Thyra_MueLuPreconditionerFactory.hpp
Thyra_XpetraLinearOp.hpp
Ifpack2::getValidParameters
void getValidParameters(Teuchos::ParameterList ¶ms)
Thyra
Definition
Thyra_MueLuTpetraQ2Q1PreconditionerFactory_decl.hpp:23
adapters
stratimikos
Thyra_MueLuRefMaxwellPreconditionerFactory_decl.hpp
Generated by
1.17.0