46 #ifndef MUELU_UNCOUPLEDINDEXMANAGER_DECL_HPP
47 #define MUELU_UNCOUPLEDINDEXMANAGER_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,
class GlobalOrdinal,
class Node>
84 #undef MUELU_UNCOUPLEDINDEXMANAGER_SHORT
92 const int NumDimensions,
const int interpolationOrder,
93 const int MyRank,
const int NumRanks,
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;
148 #define MUELU_UNCOUPLEDINDEXMANAGER_SHORT
149 #endif // MUELU_UNCOUPLEDINDEXMANAGER_DECL_HPP
void getGhostedNodeCoarseLID(const LO i, const LO j, const LO k, LO &myLID) const
void getFineNodeLID(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
void getFineNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const
void getFineNodeGhostedTuple(const LO myLID, LO &i, LO &j, LO &k) const
const int myRank
Local rank ID.
UncoupledIndexManager()=default
void getFineNodeGID(const GO i, const GO j, const GO k, GO &myGID) const
void getCoarseNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const
void getCoarseNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const
void getCoarseNodeGhostedLID(const LO i, const LO j, const LO k, LO &myLID) const
void getCoarseNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const
virtual ~UncoupledIndexManager()
void getFineNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const
std::vector< std::vector< GO > > getCoarseMeshData() const
void getGhostedNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const
void getCoarseNodesData(const RCP< const Map > fineCoordinatesMap, Array< GO > &coarseNodeCoarseGIDs, Array< GO > &coarseNodeFineGIDs) const
Container class for mesh layout and indices calculation.
const int numRanks
Number of ranks used to decompose the problem.
void getGhostedNodesData(const RCP< const Map > fineMap, Array< LO > &ghostedNodeCoarseLIDs, Array< int > &ghostedNodeCoarsePIDs, Array< GO > &ghostedNodeCoarseGIDs) const
void getCoarseNodeLID(const LO i, const LO j, const LO k, LO &myLID) const
void computeGlobalCoarseParameters()