46 #ifndef MUELU_LOCALLEXICOGRAPHICINDEXMANAGER_DECL_HPP 
   47 #define MUELU_LOCALLEXICOGRAPHICINDEXMANAGER_DECL_HPP 
   50 #include "Teuchos_CommHelpers.hpp" 
   57 #include "MueLu_IndexManager.hpp" 
   82   template <
class LocalOrdinal, 
class GlobalOrdinal, 
class Node>
 
   84 #undef MUELU_LOCALLEXICOGRAPHICINDEXMANAGER_SHORT 
   92                                    const int NumDimensions, 
const int interpolationOrder,
 
   93                                    const int MyRank, 
const int NumRanks,
 
  170 #define MUELU_LOCALLEXICOGRAPHICINDEXMANAGER_SHORT 
  171 #endif // MUELU_LOCALLEXICOGRAPHICINDEXMANAGER_DECL_HPP 
void getCoarseNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const 
 
void getCoarseNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const 
 
void getGhostedNodesData(const RCP< const Map > fineMap, Array< LO > &ghostedNodeCoarseLIDs, Array< int > &ghostedNodeCoarsePIDs, Array< GO > &ghostedNodeCoarseGIDs) const 
 
void getFineNodeLocalTuple(const LO myLID, LO &i, LO &j, LO &k) const 
 
std::vector< std::vector< GO > > getCoarseMeshData() const 
 
void sortLocalLexicographicData()
 
void getFineNodeGhostedTuple(const LO myLID, LO &i, LO &j, LO &k) const 
 
void getGhostedNodeCoarseLID(const LO i, const LO j, const LO k, LO &myLID) const 
 
void getGhostedNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const 
 
int myRankIndex
local process index for record in meshData after sorting. 
 
void getCoarseNodesData(const RCP< const Map > fineCoordinatesMap, Array< GO > &coarseNodeCoarseGIDs, Array< GO > &coarseNodeFineGIDs) const 
 
void getCoarseNodeFineLID(const LO i, const LO j, const LO k, LO &myLID) const 
 
std::vector< std::vector< GO > > meshData
layout of indices accross all processes. 
 
void getCoarseNodeLID(const LO i, const LO j, const LO k, LO &myLID) const 
 
int numBlocks
Number of mesh block. 
 
virtual ~LocalLexicographicIndexManager()
 
int myBlock
local mesh block ID. 
 
int pk
Number of processors in each diretcion. 
 
std::vector< std::vector< GO > >::iterator myBlockStart
 
void getFineNodeGlobalTuple(const GO myGID, GO &i, GO &j, GO &k) const 
 
Array< int > rankIndices
mapping between rank ID and reordered rank ID. 
 
void getFineNodeGID(const GO i, const GO j, const GO k, GO &myGID) const 
 
const int numRanks
Number of ranks used to decompose the problem. 
 
void computeGlobalCoarseParameters()
 
std::vector< std::vector< GO > >::iterator myBlockEnd
 
void getCoarseNodeGID(const GO i, const GO j, const GO k, GO &myGID) const 
 
void getFineNodeLID(const LO i, const LO j, const LO k, LO &myLID) const 
 
LocalLexicographicIndexManager()=default
 
void computeCoarseLocalLexicographicData()
 
void getCoarseNodeGhostedLID(const LO i, const LO j, const LO k, LO &myLID) const 
 
void getGIDLocalLexicographic(const LO iGhosted, const LO jGhosted, const LO kGhosted, const Array< LO > coarseNodeFineIndices, GO &myGID, LO &myPID, LO &myLID) const 
 
const int myRank
Local rank ID. 
 
Container class for mesh layout and indices calculation. 
 
std::vector< std::vector< GO > > coarseMeshData
layout of indices accross all processes after coarsening.