MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node > Class Template Referenceabstract

Container class for mesh layout and indices calculation. More...

#include <MueLu_IndexManager_decl.hpp>

Inheritance diagram for MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >:
MueLu::BaseClass MueLu::VerboseObject MueLu::Describable Teuchos::VerboseObject< VerboseObject > Teuchos::Describable Teuchos::VerboseObjectBase Teuchos::LabeledObject MueLu::GlobalLexicographicIndexManager< LocalOrdinal, GlobalOrdinal, Node > MueLu::LocalLexicographicIndexManager< LocalOrdinal, GlobalOrdinal, Node > MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >

Public Member Functions

 IndexManager ()=default
 
 IndexManager (const RCP< const Teuchos::Comm< int > > comm, const bool coupled, const bool singleCoarsePoint, const int NumDimensions, const int interpolationOrder, const Array< GO > GFineNodesPerDir, const Array< LO > LFineNodesPerDir)
 
virtual ~IndexManager ()
 
void computeMeshParameters ()
 
virtual void computeGlobalCoarseParameters ()=0
 
virtual void getGhostedNodesData (const RCP< const Map > fineMap, Array< LO > &ghostedNodeCoarseLIDs, Array< int > &ghostedNodeCoarsePIDs, Array< GO > &ghostedNodeCoarseGIDs) const =0
 
virtual void getCoarseNodesData (const RCP< const Map > fineCoordinatesMap, Array< GO > &coarseNodeCoarseGIDs, Array< GO > &coarseNodeFineGIDs) const =0
 
bool isAggregationCoupled () const
 
bool isSingleCoarsePoint () const
 
int getNumDimensions () const
 
int getInterpolationOrder () const
 
GO getNumGlobalFineNodes () const
 
GO getNumGlobalCoarseNodes () const
 
LO getNumLocalFineNodes () const
 
LO getNumLocalCoarseNodes () const
 
LO getNumLocalGhostedNodes () const
 
Array< int > getCoarseningRates () const
 
int getCoarseningRate (const int dim) const
 
Array< int > getCoarseningEndRates () const
 
int getCoarseningEndRate (const int dim) const
 
bool getMeshEdge (const int dir) const
 
bool getGhostInterface (const int dir) const
 
Array< LOgetOffsets () const
 
LO getOffset (int const dim) const
 
Array< LOgetCoarseNodeOffsets () const
 
LO getCoarseNodeOffset (int const dim) const
 
Array< GOgetStartIndices () const
 
GO getStartIndex (int const dim) const
 
Array< GOgetStartGhostedCoarseNodes () const
 
GO getStartGhostedCoarseNode (int const dim) const
 
Array< LOgetLocalFineNodesPerDir () const
 
LO getLocalFineNodesInDir (const int dim) const
 
Array< GOgetGlobalFineNodesPerDir () const
 
GO getGlobalFineNodesInDir (const int dim) const
 
Array< LOgetLocalCoarseNodesPerDir () const
 
LO getLocalCoarseNodesInDir (const int dim) const
 
Array< GOgetGlobalCoarseNodesPerDir () const
 
GO getGlobalCoarseNodesInDir (const int dim) const
 
Array< LOgetGhostedNodesPerDir () const
 
LO getGhostedNodesInDir (const int dim) const
 
virtual std::vector
< std::vector< GO > > 
getCoarseMeshData () const =0
 
virtual void getFineNodeGlobalTuple (const GO myGID, GO &i, GO &j, GO &k) const =0
 
virtual void getFineNodeLocalTuple (const LO myLID, LO &i, LO &j, LO &k) const =0
 
virtual void getFineNodeGhostedTuple (const LO myLID, LO &i, LO &j, LO &k) const =0
 
virtual void getFineNodeGID (const GO i, const GO j, const GO k, GO &myGID) const =0
 
virtual void getFineNodeLID (const LO i, const LO j, const LO k, LO &myLID) const =0
 
virtual void getCoarseNodeGlobalTuple (const GO myGID, GO &i, GO &j, GO &k) const =0
 
virtual void getCoarseNodeLocalTuple (const LO myLID, LO &i, LO &j, LO &k) const =0
 
virtual void getCoarseNodeGID (const GO i, const GO j, const GO k, GO &myGID) const =0
 
virtual void getCoarseNodeLID (const LO i, const LO j, const LO k, LO &myLID) const =0
 
virtual void getCoarseNodeGhostedLID (const LO i, const LO j, const LO k, LO &myLID) const =0
 
virtual void getCoarseNodeFineLID (const LO i, const LO j, const LO k, LO &myLID) const =0
 
virtual void getGhostedNodeFineLID (const LO i, const LO j, const LO k, LO &myLID) const =0
 
virtual void getGhostedNodeCoarseLID (const LO i, const LO j, const LO k, LO &myLID) const =0
 
- Public Member Functions inherited from MueLu::BaseClass
virtual ~BaseClass ()
 Destructor. More...
 
- Public Member Functions inherited from MueLu::VerboseObject
VerbLevel GetVerbLevel () const
 Get the verbosity level. More...
 
void SetVerbLevel (const VerbLevel verbLevel)
 Set the verbosity level of this object. More...
 
int GetProcRankVerbose () const
 Get proc rank used for printing. Do not use this information for any other purpose. More...
 
int SetProcRankVerbose (int procRank) const
 Set proc rank used for printing. More...
 
bool IsPrint (MsgType type, int thisProcRankOnly=-1) const
 Find out whether we need to print out information for a specific message type. More...
 
Teuchos::FancyOStreamGetOStream (MsgType type, int thisProcRankOnly=0) const
 Get an output stream for outputting the input message type. More...
 
Teuchos::FancyOStreamGetBlackHole () const
 
 VerboseObject ()
 
virtual ~VerboseObject ()
 Destructor. More...
 
- Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject >
 VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual const VerboseObjectsetVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual const VerboseObjectsetOverridingVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual EVerbosityLevel getVerbLevel () const
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
RCP< const ParameterList
getValidVerboseObjectSublist ()
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
void 
setupVerboseObjectSublist (ParameterList *paramList)
 
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
void 
readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel)
 
void readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject)
 
- Public Member Functions inherited from Teuchos::VerboseObjectBase
virtual ~VerboseObjectBase ()
 
 VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual const VerboseObjectBasesetOStream (const RCP< FancyOStream > &oStream) const
 
virtual const VerboseObjectBasesetOverridingOStream (const RCP< FancyOStream > &oStream) const
 
virtual VerboseObjectBasesetLinePrefix (const std::string &linePrefix)
 
virtual RCP< FancyOStreamgetOStream () const
 
virtual RCP< FancyOStreamgetOverridingOStream () const
 
virtual std::string getLinePrefix () const
 
virtual OSTab getOSTab (const int tabs=1, const std::string &linePrefix="") const
 
- Public Member Functions inherited from MueLu::Describable
virtual ~Describable ()
 Destructor. More...
 
virtual std::string ShortClassName () const
 Return the class name of the object, without template parameters and without namespace. More...
 
virtual void describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const
 
virtual std::string description () const
 Return a simple one-line description of this object. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to an FancyOStream object. More...
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 

Protected Attributes

const RCP< const Teuchos::Comm
< int > > 
comm_
 Communicator used by uncoupled aggregation. More...
 
const bool coupled_
 Flag for coupled vs uncoupled aggregation mode, if true aggregation is coupled. More...
 
const bool singleCoarsePoint_
 Flag telling us if can reduce dimensions to a single layer. More...
 
const int numDimensions
 Number of spacial dimensions in the problem. More...
 
const int interpolationOrder_
 Interpolation order used by grid transfer operators using these aggregates. More...
 
Array< int > coarseRate
 coarsening rate in each direction More...
 
Array< int > endRate
 adapted coarsening rate at the edge of the mesh in each direction. More...
 
GO gNumFineNodes
 global number of nodes. More...
 
GO gNumFineNodes10
 global number of nodes per 0-1 slice. More...
 
const Array< GOgFineNodesPerDir
 global number of nodes per direction. More...
 
LO lNumFineNodes
 local number of nodes. More...
 
LO lNumFineNodes10
 local number of nodes per 0-1 slice. More...
 
const Array< LOlFineNodesPerDir
 local number of nodes per direction. More...
 
GO gNumCoarseNodes
 global number of nodes remaining after coarsening. More...
 
GO gNumCoarseNodes10
 global number of nodes per 0-1 slice remaining after coarsening. More...
 
Array< GOgCoarseNodesPerDir
 global number of nodes per direction remaining after coarsening. More...
 
LO lNumCoarseNodes
 local number of nodes remaining after coarsening. More...
 
LO lNumCoarseNodes10
 local number of nodes per 0-1 slice remaining after coarsening. More...
 
Array< LOlCoarseNodesPerDir
 local number of nodes per direction remaing after coarsening. More...
 
LO numGhostNodes
 local number of ghost nodes More...
 
LO numGhostedNodes
 local number of ghosted nodes (i.e. ghost + coarse nodes). More...
 
LO numGhostedNodes10
 local number of ghosted nodes (i.e. ghost + coarse nodes) per 0-1 slice. More...
 
Array< LOghostedNodesPerDir
 local number of ghosted nodes (i.e. ghost + coarse nodes) per direction More...
 
GO minGlobalIndex
 lowest GID of any node in the local process More...
 
Array< LOoffsets
 distance between lowest (resp. highest) index to the lowest (resp. highest) ghostedNodeIndex in that direction. More...
 
Array< LOcoarseNodeOffsets
 distance between lowest (resp. highest) index to the lowest (resp. highest) coarseNodeIndex in that direction. More...
 
Array< GOstartIndices
 lowest global tuple (i,j,k) of a node on the local process More...
 
Array< GOstartGhostedCoarseNode
 lowest coarse global tuple (i,j,k) of a node remaing on the local process after coarsening. More...
 
bool meshEdge [6] = {false}
 flags indicating if we run into the edge of the mesh in ilo, ihi, jlo, jhi, klo or khi. More...
 
bool ghostInterface [6] = {false}
 flags indicating if ghost points are needed at ilo, ihi, jlo, jhi, klo and khi boundaries. More...
 
bool ghostedDir [6] = {false}
 flags indicating if ghost points are needed at ilo, ihi, jlo, jhi, klo and khi boundaries. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MueLu::VerboseObject
static void SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream)
 
static void SetMueLuOFileStream (const std::string &filename)
 
static Teuchos::RCP
< Teuchos::FancyOStream
GetMueLuOStream ()
 
static void SetDefaultVerbLevel (const VerbLevel defaultVerbLevel)
 Set the default (global) verbosity level. More...
 
static VerbLevel GetDefaultVerbLevel ()
 Get the default (global) verbosity level. More...
 
- Static Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject >
static void setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel)
 
static EVerbosityLevel getDefaultVerbLevel ()
 
- Static Public Member Functions inherited from Teuchos::VerboseObjectBase
static void setDefaultOStream (const RCP< FancyOStream > &defaultOStream)
 
static RCP< FancyOStreamgetDefaultOStream ()
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 
- Protected Member Functions inherited from Teuchos::VerboseObject< VerboseObject >
void initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
 
- Protected Member Functions inherited from Teuchos::VerboseObjectBase
void initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 
virtual void informUpdatedVerbosityState () const
 

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal, class Node>
class MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >

Container class for mesh layout and indices calculation.

Structure holding mesh parameters for structured mesh. Based on these parameters the IndexManager computes indices in different index spaces and it also provides utilites for coarsening. Finally it also provides an interface to different mesh layouts. Currently global lexicographic and local lexicographic mesh orderings are supported.

Definition at line 43 of file MueLu_IndexManager_decl.hpp.

Constructor & Destructor Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::IndexManager ( )
default
template<class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::IndexManager ( const RCP< const Teuchos::Comm< int > >  comm,
const bool  coupled,
const bool  singleCoarsePoint,
const int  NumDimensions,
const int  interpolationOrder,
const Array< GO GFineNodesPerDir,
const Array< LO LFineNodesPerDir 
)

Definition at line 26 of file MueLu_IndexManager_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::~IndexManager ( )
inlinevirtual

Definition at line 97 of file MueLu_IndexManager_decl.hpp.

Member Function Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::computeMeshParameters ( )

Sets basic parameters used to compute indices on the mesh. This method requires you to have set this->coarseRate and this->startIndices.

Definition at line 55 of file MueLu_IndexManager_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodesData ( const RCP< const Map >  fineMap,
Array< LO > &  ghostedNodeCoarseLIDs,
Array< int > &  ghostedNodeCoarsePIDs,
Array< GO > &  ghostedNodeCoarseGIDs 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodesData ( const RCP< const Map >  fineCoordinatesMap,
Array< GO > &  coarseNodeCoarseGIDs,
Array< GO > &  coarseNodeFineGIDs 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::isAggregationCoupled ( ) const
inline

Definition at line 114 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::isSingleCoarsePoint ( ) const
inline

Definition at line 116 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
int MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getNumDimensions ( ) const
inline

Definition at line 118 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
int MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getInterpolationOrder ( ) const
inline

Definition at line 120 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getNumGlobalFineNodes ( ) const
inline

Definition at line 122 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getNumGlobalCoarseNodes ( ) const
inline

Definition at line 124 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getNumLocalFineNodes ( ) const
inline

Definition at line 126 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getNumLocalCoarseNodes ( ) const
inline

Definition at line 128 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getNumLocalGhostedNodes ( ) const
inline

Definition at line 130 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<int> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseningRates ( ) const
inline

Definition at line 132 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
int MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseningRate ( const int  dim) const
inline

Definition at line 134 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<int> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseningEndRates ( ) const
inline

Definition at line 136 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
int MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseningEndRate ( const int  dim) const
inline

Definition at line 138 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getMeshEdge ( const int  dir) const
inline

Definition at line 140 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostInterface ( const int  dir) const
inline

Definition at line 142 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getOffsets ( ) const
inline

Definition at line 144 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getOffset ( int const  dim) const
inline

Definition at line 146 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeOffsets ( ) const
inline

Definition at line 148 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeOffset ( int const  dim) const
inline

Definition at line 150 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getStartIndices ( ) const
inline

Definition at line 152 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getStartIndex ( int const  dim) const
inline

Definition at line 154 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getStartGhostedCoarseNodes ( ) const
inline

Definition at line 156 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getStartGhostedCoarseNode ( int const  dim) const
inline

Definition at line 158 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getLocalFineNodesPerDir ( ) const
inline

Definition at line 160 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getLocalFineNodesInDir ( const int  dim) const
inline

Definition at line 162 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGlobalFineNodesPerDir ( ) const
inline

Definition at line 164 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGlobalFineNodesInDir ( const int  dim) const
inline

Definition at line 166 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getLocalCoarseNodesPerDir ( ) const
inline

Definition at line 168 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getLocalCoarseNodesInDir ( const int  dim) const
inline

Definition at line 170 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGlobalCoarseNodesPerDir ( ) const
inline

Definition at line 172 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGlobalCoarseNodesInDir ( const int  dim) const
inline

Definition at line 174 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodesPerDir ( ) const
inline

Definition at line 176 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodesInDir ( const int  dim) const
inline

Definition at line 178 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual std::vector<std::vector<GO> > MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseMeshData ( ) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeGlobalTuple ( const GO  myGID,
GO i,
GO j,
GO k 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeLocalTuple ( const LO  myLID,
LO i,
LO j,
LO k 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeGhostedTuple ( const LO  myLID,
LO i,
LO j,
LO k 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeGID ( const GO  i,
const GO  j,
const GO  k,
GO myGID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeGlobalTuple ( const GO  myGID,
GO i,
GO j,
GO k 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeLocalTuple ( const LO  myLID,
LO i,
LO j,
LO k 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeGID ( const GO  i,
const GO  j,
const GO  k,
GO myGID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeGhostedLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeFineLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodeFineLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
pure virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
virtual void MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodeCoarseLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
pure virtual

Member Data Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const RCP<const Teuchos::Comm<int> > MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::comm_
protected

Communicator used by uncoupled aggregation.

Definition at line 49 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::coupled_
protected

Flag for coupled vs uncoupled aggregation mode, if true aggregation is coupled.

Definition at line 50 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::singleCoarsePoint_
protected

Flag telling us if can reduce dimensions to a single layer.

Definition at line 51 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const int MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::numDimensions
protected

Number of spacial dimensions in the problem.

Definition at line 52 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const int MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::interpolationOrder_
protected

Interpolation order used by grid transfer operators using these aggregates.

Definition at line 53 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<int> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::coarseRate
protected

coarsening rate in each direction

Definition at line 55 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<int> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::endRate
protected

adapted coarsening rate at the edge of the mesh in each direction.

Definition at line 56 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::gNumFineNodes
protected

global number of nodes.

Definition at line 58 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::gNumFineNodes10
protected

global number of nodes per 0-1 slice.

Definition at line 59 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::gFineNodesPerDir
protected

global number of nodes per direction.

Definition at line 60 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::lNumFineNodes
protected

local number of nodes.

Definition at line 62 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::lNumFineNodes10
protected

local number of nodes per 0-1 slice.

Definition at line 63 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::lFineNodesPerDir
protected

local number of nodes per direction.

Definition at line 64 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::gNumCoarseNodes
protected

global number of nodes remaining after coarsening.

Definition at line 66 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::gNumCoarseNodes10
protected

global number of nodes per 0-1 slice remaining after coarsening.

Definition at line 67 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::gCoarseNodesPerDir
protected

global number of nodes per direction remaining after coarsening.

Definition at line 68 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::lNumCoarseNodes
protected

local number of nodes remaining after coarsening.

Definition at line 70 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::lNumCoarseNodes10
protected

local number of nodes per 0-1 slice remaining after coarsening.

Definition at line 71 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::lCoarseNodesPerDir
protected

local number of nodes per direction remaing after coarsening.

Definition at line 72 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::numGhostNodes
protected

local number of ghost nodes

Definition at line 74 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::numGhostedNodes
protected

local number of ghosted nodes (i.e. ghost + coarse nodes).

Definition at line 75 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::numGhostedNodes10
protected

local number of ghosted nodes (i.e. ghost + coarse nodes) per 0-1 slice.

Definition at line 76 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::ghostedNodesPerDir
protected

local number of ghosted nodes (i.e. ghost + coarse nodes) per direction

Definition at line 77 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
GO MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::minGlobalIndex
protected

lowest GID of any node in the local process

Definition at line 79 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::offsets
protected

distance between lowest (resp. highest) index to the lowest (resp. highest) ghostedNodeIndex in that direction.

Definition at line 80 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<LO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::coarseNodeOffsets
protected

distance between lowest (resp. highest) index to the lowest (resp. highest) coarseNodeIndex in that direction.

Definition at line 81 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::startIndices
protected

lowest global tuple (i,j,k) of a node on the local process

Definition at line 82 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Array<GO> MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::startGhostedCoarseNode
protected

lowest coarse global tuple (i,j,k) of a node remaing on the local process after coarsening.

Definition at line 83 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::meshEdge[6] = {false}
protected

flags indicating if we run into the edge of the mesh in ilo, ihi, jlo, jhi, klo or khi.

Definition at line 85 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::ghostInterface[6] = {false}
protected

flags indicating if ghost points are needed at ilo, ihi, jlo, jhi, klo and khi boundaries.

Definition at line 86 of file MueLu_IndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::ghostedDir[6] = {false}
protected

flags indicating if ghost points are needed at ilo, ihi, jlo, jhi, klo and khi boundaries.

Definition at line 87 of file MueLu_IndexManager_decl.hpp.


The documentation for this class was generated from the following files: