MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_RAPFactory_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_RAPFACTORY_DECL_HPP
11
#define MUELU_RAPFACTORY_DECL_HPP
12
13
#include <string>
14
15
#include <Xpetra_MatrixFactory_fwd.hpp>
16
#include <Xpetra_Matrix_fwd.hpp>
17
#include <Xpetra_MatrixUtils_fwd.hpp>
18
19
#include "
MueLu_ConfigDefs.hpp
"
20
21
#include "
MueLu_RAPFactory_fwd.hpp
"
22
23
#include "
MueLu_FactoryBase_fwd.hpp
"
24
#include "
MueLu_Level_fwd.hpp
"
25
#include "
MueLu_PerfUtils_fwd.hpp
"
26
#include "
MueLu_TwoLevelFactoryBase.hpp
"
27
#include "
MueLu_Utilities_fwd.hpp
"
28
29
namespace
MueLu
{
34
template
<
class
Scalar
=
DefaultScalar
,
35
class
LocalOrdinal
=
DefaultLocalOrdinal
,
36
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
37
class
Node
=
DefaultNode
>
38
class
RAPFactory
:
public
TwoLevelFactoryBase
{
39
#undef MUELU_RAPFACTORY_SHORT
40
#include "
MueLu_UseShortNames.hpp
"
41
42
public
:
44
45
46
RAPFactory
();
47
48
virtual
~RAPFactory
();
49
51
53
54
55
RCP<const ParameterList>
GetValidParameterList
()
const
;
56
57
void
DeclareInput
(
Level
& fineLevel,
Level
& coarseLevel)
const
;
58
60
62
63
void
Build
(
Level
& fineLevel,
Level
& coarseLevel)
const
;
65
67
72
void
AddTransferFactory
(
const
RCP<const FactoryBase>& factory);
73
74
// TODO add a function to remove a specific transfer factory?
75
77
size_t
NumTransferFactories
()
const
{
return
transferFacts_
.size(); }
78
80
81
private
:
83
84
mutable
bool
hasDeclaredInput_
;
85
87
89
91
std::vector<RCP<const FactoryBase> >
transferFacts_
;
92
94
95
};
// class RAPFactory
96
97
}
// namespace MueLu
98
99
#define MUELU_RAPFACTORY_SHORT
100
#endif
// MUELU_RAPFACTORY_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_FactoryBase_fwd.hpp
MueLu_Level_fwd.hpp
MueLu_PerfUtils_fwd.hpp
MueLu_RAPFactory_fwd.hpp
MueLu_TwoLevelFactoryBase.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_Utilities_fwd.hpp
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::RAPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::transferFacts_
std::vector< RCP< const FactoryBase > > transferFacts_
Definition
MueLu_RAPFactory_decl.hpp:91
MueLu::RAPFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_RAPFactory_def.hpp:37
MueLu::RAPFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::hasDeclaredInput_
bool hasDeclaredInput_
Definition
MueLu_RAPFactory_decl.hpp:84
MueLu::RAPFactory::~RAPFactory
virtual ~RAPFactory()
MueLu::RAPFactory::DeclareInput
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
Definition
MueLu_RAPFactory_def.hpp:64
MueLu::RAPFactory::NumTransferFactories
size_t NumTransferFactories() const
Returns number of transfer factories.
Definition
MueLu_RAPFactory_decl.hpp:77
MueLu::RAPFactory::RAPFactory
RAPFactory()
Definition
MueLu_RAPFactory_def.hpp:30
MueLu::RAPFactory::AddTransferFactory
void AddTransferFactory(const RCP< const FactoryBase > &factory)
Add transfer factory in the end of list of transfer factories in RepartitionAcFactory.
Definition
MueLu_RAPFactory_def.hpp:350
MueLu::RAPFactory::Build
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
Definition
MueLu_RAPFactory_def.hpp:80
MueLu::TwoLevelFactoryBase::TwoLevelFactoryBase
TwoLevelFactoryBase()
Constructor.
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
Misc
MueLu_RAPFactory_decl.hpp
Generated by
1.17.0