MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_GlobalLexicographicIndexManager_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_GLOBALLEXICOGRPHICINDEXMANAGER_DECL_HPP
11
#define MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_DECL_HPP
12
13
// use for Teuchos:Comm<T>
14
#include "Teuchos_CommHelpers.hpp"
15
16
#include <Xpetra_Map_fwd.hpp>
17
18
#include <
MueLu_ConfigDefs.hpp
>
19
#include <MueLu_IndexManager.hpp>
20
#include <
MueLu_GlobalLexicographicIndexManager_fwd.hpp
>
21
22
/*****************************************************************************
23
24
****************************************************************************/
25
26
namespace
MueLu
{
27
43
44
template
<
class
LocalOrdinal
=
DefaultLocalOrdinal
,
45
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
46
class
Node
=
DefaultNode
>
47
class
GlobalLexicographicIndexManager
:
public
IndexManager
<LocalOrdinal, GlobalOrdinal, Node> {
48
#undef MUELU_GLOBALLEXICOGRAPHICINDEXMANAGER_SHORT
49
#include "
MueLu_UseShortNamesOrdinal.hpp
"
50
51
public
:
52
GlobalLexicographicIndexManager
();
53
54
GlobalLexicographicIndexManager
(
const
RCP<
const
Teuchos::Comm<int>
> comm,
const
bool
coupled,
55
const
int
NumDimensions,
const
int
interpolationOrder,
56
const
Array<GO> GFineNodesPerDir,
57
const
Array<LO> LFineNodesPerDir,
const
Array<LO> CoarseRate,
58
const
GO MinGlobalIndex);
59
60
virtual
~GlobalLexicographicIndexManager
() {}
61
62
void
computeGlobalCoarseParameters
();
63
64
void
getGhostedNodesData
(
const
RCP<const Map> fineMap,
65
Array<LO>& ghostedNodeCoarseLIDs,
66
Array<int>& ghostedNodeCoarsePIDs,
67
Array<GO>& ghostedNodeCoarseGIDs)
const
;
68
69
void
getCoarseNodesData
(
const
RCP<const Map> fineCoordinatesMap,
70
Array<GO>& coarseNodeCoarseGIDs,
71
Array<GO>& coarseNodeFineGIDs)
const
;
72
73
std::vector<std::vector<GO> >
getCoarseMeshData
()
const
;
74
75
void
getFineNodeGlobalTuple
(
const
GO myGID, GO& i, GO& j, GO& k)
const
;
76
77
void
getFineNodeLocalTuple
(
const
LO myLID, LO& i, LO& j, LO& k)
const
;
78
79
void
getFineNodeGhostedTuple
(
const
LO myLID, LO& i, LO& j, LO& k)
const
;
80
81
void
getFineNodeGID
(
const
GO i,
const
GO j,
const
GO k, GO& myGID)
const
;
82
83
void
getFineNodeLID
(
const
LO i,
const
LO j,
const
LO k, LO& myLID)
const
;
84
85
void
getCoarseNodeGlobalTuple
(
const
GO myGID, GO& i, GO& j, GO& k)
const
;
86
87
void
getCoarseNodeLocalTuple
(
const
LO myLID, LO& i, LO& j, LO& k)
const
;
88
89
void
getCoarseNodeGID
(
const
GO i,
const
GO j,
const
GO k, GO& myGID)
const
;
90
91
void
getCoarseNodeLID
(
const
LO i,
const
LO j,
const
LO k, LO& myLID)
const
;
92
93
void
getCoarseNodeGhostedLID
(
const
LO i,
const
LO j,
const
LO k, LO& myLID)
const
;
94
95
void
getCoarseNodeFineLID
(
const
LO i,
const
LO j,
const
LO k, LO& myLID)
const
;
96
97
void
getGhostedNodeFineLID
(
const
LO i,
const
LO j,
const
LO k, LO& myLID)
const
;
98
99
void
getGhostedNodeCoarseLID
(
const
LO i,
const
LO j,
const
LO k, LO& myLID)
const
;
100
101
private
:
102
};
103
104
}
// namespace MueLu
105
106
#define MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_SHORT
107
#endif
// MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_GlobalLexicographicIndexManager_fwd.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNamesOrdinal.hpp
MueLu::GlobalLexicographicIndexManager::computeGlobalCoarseParameters
void computeGlobalCoarseParameters()
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:57
MueLu::GlobalLexicographicIndexManager::getFineNodeGlobalTuple
void getFineNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:205
MueLu::GlobalLexicographicIndexManager::getCoarseNodeLocalTuple
void getCoarseNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:261
MueLu::GlobalLexicographicIndexManager::getGhostedNodeFineLID
void getGhostedNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:309
MueLu::GlobalLexicographicIndexManager::getFineNodeLocalTuple
void getFineNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:215
MueLu::GlobalLexicographicIndexManager::getCoarseNodesData
void getCoarseNodesData(const RCP< const Map > fineCoordinatesMap, Array< GO > &coarseNodeCoarseGIDs, Array< GO > &coarseNodeFineGIDs) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:153
MueLu::GlobalLexicographicIndexManager::getCoarseNodeGhostedLID
void getCoarseNodeGhostedLID(const LO i, const LO j, const LO k, LO &myLID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:283
MueLu::GlobalLexicographicIndexManager::getFineNodeGhostedTuple
void getFineNodeGhostedTuple(const LO myLID, LO &i, LO &j, LO &k) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:225
MueLu::GlobalLexicographicIndexManager::getGhostedNodeCoarseLID
void getGhostedNodeCoarseLID(const LO i, const LO j, const LO k, LO &myLID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:335
MueLu::GlobalLexicographicIndexManager::getCoarseNodeGID
void getCoarseNodeGID(const GO i, const GO j, const GO k, GO &myGID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:271
MueLu::GlobalLexicographicIndexManager::getCoarseNodeGlobalTuple
void getCoarseNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:251
MueLu::GlobalLexicographicIndexManager::~GlobalLexicographicIndexManager
virtual ~GlobalLexicographicIndexManager()
Definition
MueLu_GlobalLexicographicIndexManager_decl.hpp:60
MueLu::GlobalLexicographicIndexManager::getCoarseNodeFineLID
void getCoarseNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:289
MueLu::GlobalLexicographicIndexManager::getFineNodeGID
void getFineNodeGID(const GO i, const GO j, const GO k, GO &myGID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:239
MueLu::GlobalLexicographicIndexManager::getCoarseMeshData
std::vector< std::vector< GO > > getCoarseMeshData() const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:198
MueLu::GlobalLexicographicIndexManager::getFineNodeLID
void getFineNodeLID(const LO i, const LO j, const LO k, LO &myLID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:245
MueLu::GlobalLexicographicIndexManager::GlobalLexicographicIndexManager
GlobalLexicographicIndexManager()
MueLu::GlobalLexicographicIndexManager::getGhostedNodesData
void getGhostedNodesData(const RCP< const Map > fineMap, Array< LO > &ghostedNodeCoarseLIDs, Array< int > &ghostedNodeCoarsePIDs, Array< GO > &ghostedNodeCoarseGIDs) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:64
MueLu::GlobalLexicographicIndexManager::getCoarseNodeLID
void getCoarseNodeLID(const LO i, const LO j, const LO k, LO &myLID) const
Definition
MueLu_GlobalLexicographicIndexManager_def.hpp:277
MueLu::IndexManager< DefaultLocalOrdinal, DefaultGlobalOrdinal, DefaultNode >::IndexManager
IndexManager()=default
Teuchos::Comm
Definition
MueLu_Memory.hpp:22
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
src
Graph
StructuredAggregation
coupled
MueLu_GlobalLexicographicIndexManager_decl.hpp
Generated by
1.17.0