46 #ifndef MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_DECL_HPP 47 #define MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_DECL_HPP 50 #include "Teuchos_CommHelpers.hpp" 52 #include <Xpetra_Map_fwd.hpp> 53 #include <Xpetra_Vector_fwd.hpp> 54 #include <Xpetra_VectorFactory_fwd.hpp> 57 #include <MueLu_IndexManager.hpp> 82 template <
class LocalOrdinal = int,
class GlobalOrdinal = LocalOrdinal,
83 class Node = KokkosClassic::DefaultNode::DefaultNodeType>
85 #undef MUELU_GLOBALLEXICOGRAPHICINDEXMANAGER_SHORT 93 const int NumDimensions,
const int interpolationOrder,
94 const Array<GO> GFineNodesPerDir,
95 const Array<LO> LFineNodesPerDir,
const Array<LO> CoarseRate,
96 const GO MinGlobalIndex);
103 Array<LO>& ghostedNodeCoarseLIDs,
104 Array<int>& ghostedNodeCoarsePIDs,
105 Array<GO>& ghostedNodeCoarseGIDs)
const;
108 Array<GO>& coarseNodeCoarseGIDs,
109 Array<GO>& coarseNodeFineGIDs)
const;
119 void getFineNodeGID(
const GO i,
const GO j,
const GO k, GO& myGID)
const;
121 void getFineNodeLID(
const LO i,
const LO j,
const LO k, LO& myLID)
const;
145 #define MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_SHORT 146 #endif // MUELU_GLOBALLEXICOGRPHICINDEXMANAGER_DECL_HPP void getFineNodeGhostedTuple(const LO myLID, LO &i, LO &j, LO &k) const
void getCoarseNodeLID(const LO i, const LO j, const LO k, LO &myLID) const
void getCoarseNodeGID(const GO i, const GO j, const GO k, GO &myGID) const
virtual ~GlobalLexicographicIndexManager()
void computeGlobalCoarseParameters()
Namespace for MueLu classes and methods.
void getCoarseNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const
void getGhostedNodeCoarseLID(const LO i, const LO j, const LO k, LO &myLID) const
void getCoarseNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const
void getFineNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const
void getCoarseNodesData(const RCP< const Map > fineCoordinatesMap, Array< GO > &coarseNodeCoarseGIDs, Array< GO > &coarseNodeFineGIDs) const
void getFineNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const
void getCoarseNodeGhostedLID(const LO i, const LO j, const LO k, LO &myLID) const
void getCoarseNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const
std::vector< std::vector< GO > > getCoarseMeshData() const
void getFineNodeLID(const LO i, const LO j, const LO k, LO &myLID) const
void getGhostedNodesData(const RCP< const Map > fineMap, Array< LO > &ghostedNodeCoarseLIDs, Array< int > &ghostedNodeCoarsePIDs, Array< GO > &ghostedNodeCoarseGIDs) const
void getGhostedNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const
GlobalLexicographicIndexManager()
void getFineNodeGID(const GO i, const GO j, const GO k, GO &myGID) const
Container class for mesh layout and indices calculation.