MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_BlockedPFactory_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 MUELU_BLOCKEDPFACTORY_DECL_HPP_
11
#define MUELU_BLOCKEDPFACTORY_DECL_HPP_
12
13
#include <set>
14
#include <Xpetra_MapExtractorFactory_fwd.hpp>
15
#include <Xpetra_Matrix_fwd.hpp>
16
17
#include "
MueLu_ConfigDefs.hpp
"
18
#include "MueLu_PFactory.hpp"
19
#include "
MueLu_TentativePFactory_fwd.hpp
"
20
#include "
MueLu_FactoryManagerBase_fwd.hpp
"
21
22
namespace
MueLu
{
23
81
82
template
<
class
Scalar
=
DefaultScalar
,
83
class
LocalOrdinal
=
DefaultLocalOrdinal
,
84
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
85
class
Node
=
DefaultNode
>
86
class
BlockedPFactory
:
public
PFactory
{
87
#undef MUELU_BLOCKEDPFACTORY_SHORT
88
#include "
MueLu_UseShortNames.hpp
"
89
public
:
91
92
96
BlockedPFactory
(
/*RCP<FactoryBase> AFact = Teuchos::null*/
)
97
:
diagonalView_
(
"current"
) {}
98
100
virtual
~BlockedPFactory
() {}
101
102
RCP<const ParameterList>
GetValidParameterList
()
const
;
103
105
107
108
110
void
SetDiagonalView
(std::string
const
&diagView) {
diagonalView_
= diagView; }
111
113
void
AddFactoryManager
(RCP<const FactoryManagerBase> FactManager) {
FactManager_
.push_back(FactManager); }
114
116
118
119
121
std::string
GetDiagonalView
() {
return
diagonalView_
; }
122
124
126
127
128
void
DeclareInput
(
Level
&fineLevel,
Level
&coarseLevel)
const
;
130
132
133
140
void
Build
(
Level
&fineLevel,
Level
&coarseLevel)
const
;
141
142
void
BuildP
(
Level
&fineLevel,
Level
&coarseLevel)
const
;
143
145
146
private
:
147
bool
areGidsUnique
(
const
std::vector<GO> &X)
const
{
148
std::set<GO> Y(X.begin(), X.end());
149
return
X.size() == Y.size();
150
}
151
153
std::vector<Teuchos::RCP<const FactoryManagerBase> >
FactManager_
;
154
156
std::string
diagonalView_
;
157
};
158
159
}
// namespace MueLu
160
161
#define MUELU_BLOCKEDPFACTORY_SHORT
162
#endif
/* MUELU_BLOCKEDPFACTORY_DECL_HPP_ */
MueLu_ConfigDefs.hpp
MueLu_FactoryManagerBase_fwd.hpp
MueLu_TentativePFactory_fwd.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
Scalar
MueLu::DefaultScalar Scalar
Definition
MueLu_UseDefaultTypes.hpp:12
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNames.hpp
MueLu::BlockedPFactory::SetDiagonalView
void SetDiagonalView(std::string const &diagView)
Change view of diagonal.
Definition
MueLu_BlockedPFactory_decl.hpp:110
MueLu::BlockedPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::diagonalView_
std::string diagonalView_
Definition
MueLu_BlockedPFactory_decl.hpp:156
MueLu::BlockedPFactory::~BlockedPFactory
virtual ~BlockedPFactory()
Destructor.
Definition
MueLu_BlockedPFactory_decl.hpp:100
MueLu::BlockedPFactory::Build
void Build(Level &fineLevel, Level &coarseLevel) const
Build method.
Definition
MueLu_BlockedPFactory_def.hpp:69
MueLu::BlockedPFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_BlockedPFactory_def.hpp:34
MueLu::BlockedPFactory::BlockedPFactory
BlockedPFactory()
Constructor. User can supply a factory for generating the tentative prolongator.
Definition
MueLu_BlockedPFactory_decl.hpp:96
MueLu::BlockedPFactory::DeclareInput
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
Definition
MueLu_BlockedPFactory_def.hpp:44
MueLu::BlockedPFactory::GetDiagonalView
std::string GetDiagonalView()
Returns current view of diagonal.
Definition
MueLu_BlockedPFactory_decl.hpp:121
MueLu::BlockedPFactory::BuildP
void BuildP(Level &fineLevel, Level &coarseLevel) const
Abstract Build method.
Definition
MueLu_BlockedPFactory_def.hpp:66
MueLu::BlockedPFactory::areGidsUnique
bool areGidsUnique(const std::vector< GO > &X) const
Definition
MueLu_BlockedPFactory_decl.hpp:147
MueLu::BlockedPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::FactManager_
std::vector< Teuchos::RCP< const FactoryManagerBase > > FactManager_
Definition
MueLu_BlockedPFactory_decl.hpp:153
MueLu::BlockedPFactory::AddFactoryManager
void AddFactoryManager(RCP< const FactoryManagerBase > FactManager)
Add a factory manager.
Definition
MueLu_BlockedPFactory_decl.hpp:113
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::PFactory::PFactory
PFactory()
Constructor.
Definition
MueLu_PFactory_decl.hpp:37
MueLu
Namespace for MueLu classes and methods.
Definition
MueLu_BrickAggregationFactory_decl.hpp:42
MueLu::DefaultNode
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Definition
MueLu_Details_DefaultTypes.hpp:32
MueLu::DefaultGlobalOrdinal
int DefaultGlobalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:29
MueLu::DefaultLocalOrdinal
int DefaultLocalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:22
MueLu::DefaultScalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
Definition
MueLu_Details_DefaultTypes.hpp:20
src
Transfers
BlockedTransfers
MueLu_BlockedPFactory_decl.hpp
Generated by
1.17.0