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

#include <MueLu_UncoupledIndexManager_decl.hpp>

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

Public Member Functions

 UncoupledIndexManager ()=default
 
 UncoupledIndexManager (const RCP< const Teuchos::Comm< int > > comm, const bool coupled, const int NumDimensions, const int interpolationOrder, const int MyRank, const int NumRanks, const Array< GO > GFineNodesPerDir, const Array< LO > LFineNodesPerDir, const Array< LO > CoarseRate)
 
virtual ~UncoupledIndexManager ()
 
void computeGlobalCoarseParameters ()
 
std::vector< std::vector< GO > > getCoarseMeshData () const
 
void getGhostedNodesData (const RCP< const Map > fineMap, Array< LO > &ghostedNodeCoarseLIDs, Array< int > &ghostedNodeCoarsePIDs, Array< GO > &ghostedNodeCoarseGIDs) 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 getFineNodeLocalTuple (const LO myLID, LO &i, LO &j, LO &k) const
 
void getFineNodeGhostedTuple (const LO myLID, LO &i, LO &j, LO &k) const
 
void getFineNodeGID (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
 
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 getCoarseNodeGID (const GO i, const GO j, const GO k, GO &myGID) const
 
void getCoarseNodeLID (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 getCoarseNodeFineLID (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
 
void getGhostedNodeCoarseLID (const LO i, const LO j, const LO k, LO &myLID) const
 
- Public Member Functions inherited from MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >
 IndexManager ()=default
 
 IndexManager (const RCP< const Teuchos::Comm< int > > comm, const bool coupled, const int NumDimensions, const int interpolationOrder, const Array< GO > GFineNodesPerDir, const Array< LO > LFineNodesPerDir)
 
virtual ~IndexManager ()
 
void computeMeshParameters ()
 
bool isAggregationCoupled () 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
 
- 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)
 

Private Attributes

const int myRank
 Local rank ID. More...
 
const int numRanks
 Number of ranks used to decompose the problem. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MueLu::VerboseObject
static void SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream)
 
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
 
- Protected Attributes inherited from MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >
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 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...
 

Detailed Description

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

Definition at line 83 of file MueLu_UncoupledIndexManager_decl.hpp.

Constructor & Destructor Documentation

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

Definition at line 57 of file MueLu_UncoupledIndexManager_def.hpp.

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

Definition at line 98 of file MueLu_UncoupledIndexManager_decl.hpp.

Member Function Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::computeGlobalCoarseParameters ( )
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
std::vector< std::vector< GlobalOrdinal > > MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseMeshData ( ) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodesData ( const RCP< const Map >  fineMap,
Array< LO > &  ghostedNodeCoarseLIDs,
Array< int > &  ghostedNodeCoarsePIDs,
Array< GO > &  ghostedNodeCoarseGIDs 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodesData ( const RCP< const Map >  fineCoordinatesMap,
Array< GO > &  coarseNodeCoarseGIDs,
Array< GO > &  coarseNodeFineGIDs 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeGlobalTuple ( const GO  myGID,
GO i,
GO j,
GO k 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeLocalTuple ( const LO  myLID,
LO i,
LO j,
LO k 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeGhostedTuple ( const LO  myLID,
LO i,
LO j,
LO k 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeGID ( const GO  i,
const GO  j,
const GO  k,
GO myGID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getFineNodeLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeGlobalTuple ( const GO  myGID,
GO i,
GO j,
GO k 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeLocalTuple ( const LO  myLID,
LO i,
LO j,
LO k 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeGID ( const GO  i,
const GO  j,
const GO  k,
GO myGID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeGhostedLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getCoarseNodeFineLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodeFineLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
virtual
template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::getGhostedNodeCoarseLID ( const LO  i,
const LO  j,
const LO  k,
LO myLID 
) const
virtual

Member Data Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const int MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::myRank
private

Local rank ID.

Definition at line 141 of file MueLu_UncoupledIndexManager_decl.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const int MueLu::UncoupledIndexManager< LocalOrdinal, GlobalOrdinal, Node >::numRanks
private

Number of ranks used to decompose the problem.

Definition at line 142 of file MueLu_UncoupledIndexManager_decl.hpp.


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