MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_AmalgamationFactory_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_AMALGAMATIONFACTORY_DECL_HPP
11
#define MUELU_AMALGAMATIONFACTORY_DECL_HPP
12
13
#include <Xpetra_Matrix_fwd.hpp>
14
#include <Xpetra_Map_fwd.hpp>
15
16
#include "
MueLu_ConfigDefs.hpp
"
17
#include "
MueLu_SingleLevelFactoryBase.hpp
"
18
#include "
MueLu_AmalgamationInfo_fwd.hpp
"
19
20
#include "
MueLu_Level_fwd.hpp
"
21
#include "
MueLu_Exceptions.hpp
"
22
23
namespace
MueLu
{
24
37
38
template
<
class
Scalar
=
DefaultScalar
,
39
class
LocalOrdinal
=
DefaultLocalOrdinal
,
40
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
41
class
Node
=
DefaultNode
>
42
class
AmalgamationFactory
:
public
SingleLevelFactoryBase
{
43
#undef MUELU_AMALGAMATIONFACTORY_SHORT
44
#include "
MueLu_UseShortNames.hpp
"
45
46
public
:
48
49
51
AmalgamationFactory
();
52
54
virtual
~AmalgamationFactory
();
55
56
RCP<const ParameterList>
GetValidParameterList
()
const override
;
57
59
61
62
63
void
DeclareInput
(
Level
& currentLevel)
const override
;
64
66
67
void
Build
(
Level
& currentLevel)
const override
;
68
78
static
const
GlobalOrdinal
DOFGid2NodeId
(
GlobalOrdinal
gid,
LocalOrdinal
blockSize,
const
GlobalOrdinal
offset
/*= 0*/
,
79
const
GlobalOrdinal
indexBase
/* = 0*/
);
80
85
static
const
GlobalOrdinal
DOFGidOffset
(RCP<const StridedMap> stridedMap);
86
94
static
void
AmalgamateMap
(
const
Map& sourceMap,
const
Matrix& A, RCP<const Map>& amalgamatedMap, Array<LO>& translation);
95
102
static
void
AmalgamateMap
(RCP<const StridedMap> sourceMap, RCP<const Map>& amalgamatedMap);
103
104
};
// class AmalgamationFactory
105
106
}
// namespace MueLu
107
108
#define MUELU_AMALGAMATIONFACTORY_SHORT
109
#endif
// MUELU_AMALGAMATIONFACTORY_DECL_HPP
MueLu_AmalgamationInfo_fwd.hpp
MueLu_ConfigDefs.hpp
MueLu_Exceptions.hpp
MueLu_Level_fwd.hpp
MueLu_SingleLevelFactoryBase.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::AmalgamationFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const override
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_AmalgamationFactory_def.hpp:30
MueLu::AmalgamationFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const override
Input.
Definition
MueLu_AmalgamationFactory_def.hpp:37
MueLu::AmalgamationFactory::AmalgamateMap
static void AmalgamateMap(const Map &sourceMap, const Matrix &A, RCP< const Map > &amalgamatedMap, Array< LO > &translation)
Method to create merged map for systems of PDEs.
Definition
MueLu_AmalgamationFactory_def.hpp:153
MueLu::AmalgamationFactory::DOFGid2NodeId
static const GlobalOrdinal DOFGid2NodeId(GlobalOrdinal gid, LocalOrdinal blockSize, const GlobalOrdinal offset, const GlobalOrdinal indexBase)
Translate global (row/column) id to global amalgamation block id.
Definition
MueLu_AmalgamationFactory_def.hpp:224
MueLu::AmalgamationFactory::DOFGidOffset
static const GlobalOrdinal DOFGidOffset(RCP< const StridedMap > stridedMap)
Method to calculate the global (row) id offset from scratch.
Definition
MueLu_AmalgamationFactory_def.hpp:231
MueLu::AmalgamationFactory::~AmalgamationFactory
virtual ~AmalgamationFactory()
Destructor.
MueLu::AmalgamationFactory::AmalgamateMap
static void AmalgamateMap(RCP< const StridedMap > sourceMap, RCP< const Map > &amalgamatedMap)
Method to create merged map for systems of PDEs.
Definition
MueLu_AmalgamationFactory_def.hpp:199
MueLu::AmalgamationFactory::AmalgamationFactory
AmalgamationFactory()
Constructor.
MueLu::AmalgamationFactory::Build
void Build(Level ¤tLevel) const override
Build an object with this factory.
Definition
MueLu_AmalgamationFactory_def.hpp:42
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::SingleLevelFactoryBase::SingleLevelFactoryBase
SingleLevelFactoryBase()
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
Graph
MatrixTransformation
MueLu_AmalgamationFactory_decl.hpp
Generated by
1.17.0