MueLu
Version of the Day
|
Container class for mesh layout and indices calculation. More...
#include <MueLu_IndexManager_decl.hpp>
Public Member Functions | |
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 () |
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 |
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< LO > | getOffsets () const |
LO | getOffset (int const dim) const |
Array< LO > | getCoarseNodeOffsets () const |
LO | getCoarseNodeOffset (int const dim) const |
Array< GO > | getStartIndices () const |
GO | getStartIndex (int const dim) const |
Array< GO > | getStartGhostedCoarseNodes () const |
GO | getStartGhostedCoarseNode (int const dim) const |
Array< LO > | getLocalFineNodesPerDir () const |
LO | getLocalFineNodesInDir (const int dim) const |
Array< GO > | getGlobalFineNodesPerDir () const |
GO | getGlobalFineNodesInDir (const int dim) const |
Array< LO > | getLocalCoarseNodesPerDir () const |
LO | getLocalCoarseNodesInDir (const int dim) const |
Array< GO > | getGlobalCoarseNodesPerDir () const |
GO | getGlobalCoarseNodesInDir (const int dim) const |
Array< LO > | getGhostedNodesPerDir () 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::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. More... | |
Teuchos::FancyOStream & | GetBlackHole () 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 VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
virtual const VerboseObject & | setOverridingVerbLevel (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 VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
virtual RCP< FancyOStream > | getOStream () const |
virtual RCP< FancyOStream > | getOverridingOStream () 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 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< GO > | gFineNodesPerDir |
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< LO > | lFineNodesPerDir |
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< GO > | gCoarseNodesPerDir |
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< LO > | lCoarseNodesPerDir |
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< LO > | ghostedNodesPerDir |
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< LO > | offsets |
distance between lowest (resp. highest) index to the lowest (resp. highest) ghostedNodeIndex in that direction. More... | |
Array< LO > | coarseNodeOffsets |
distance between lowest (resp. highest) index to the lowest (resp. highest) coarseNodeIndex in that direction. More... | |
Array< GO > | startIndices |
lowest global tuple (i,j,k) of a node on the local process More... | |
Array< GO > | startGhostedCoarseNode |
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 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< FancyOStream > | getDefaultOStream () |
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 |
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 81 of file MueLu_IndexManager_decl.hpp.
|
default |
MueLu::IndexManager< LocalOrdinal, GlobalOrdinal, Node >::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 | ||
) |
Definition at line 62 of file MueLu_IndexManager_def.hpp.
|
inlinevirtual |
Definition at line 136 of file MueLu_IndexManager_decl.hpp.
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 86 of file MueLu_IndexManager_def.hpp.
|
pure virtual |
|
pure virtual |
|
inline |
Definition at line 153 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 155 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 157 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 159 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 161 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 163 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 165 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 167 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 169 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 171 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 173 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 175 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 177 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 179 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 181 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 183 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 185 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 187 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 189 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 191 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 193 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 195 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 197 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 199 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 201 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 203 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 205 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 207 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 209 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 211 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 213 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 215 of file MueLu_IndexManager_decl.hpp.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
protected |
Communicator used by uncoupled aggregation.
Definition at line 89 of file MueLu_IndexManager_decl.hpp.
|
protected |
Flag for coupled vs uncoupled aggregation mode, if true aggregation is coupled.
Definition at line 90 of file MueLu_IndexManager_decl.hpp.
|
protected |
Number of spacial dimensions in the problem.
Definition at line 91 of file MueLu_IndexManager_decl.hpp.
|
protected |
Interpolation order used by grid transfer operators using these aggregates.
Definition at line 92 of file MueLu_IndexManager_decl.hpp.
|
protected |
coarsening rate in each direction
Definition at line 94 of file MueLu_IndexManager_decl.hpp.
|
protected |
adapted coarsening rate at the edge of the mesh in each direction.
Definition at line 95 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes.
Definition at line 97 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per 0-1 slice.
Definition at line 98 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per direction.
Definition at line 99 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes.
Definition at line 101 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per 0-1 slice.
Definition at line 102 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per direction.
Definition at line 103 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes remaining after coarsening.
Definition at line 105 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per 0-1 slice remaining after coarsening.
Definition at line 106 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per direction remaining after coarsening.
Definition at line 107 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes remaining after coarsening.
Definition at line 109 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per 0-1 slice remaining after coarsening.
Definition at line 110 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per direction remaing after coarsening.
Definition at line 111 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of ghost nodes
Definition at line 113 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of ghosted nodes (i.e. ghost + coarse nodes).
Definition at line 114 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of ghosted nodes (i.e. ghost + coarse nodes) per 0-1 slice.
Definition at line 115 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of ghosted nodes (i.e. ghost + coarse nodes) per direction
Definition at line 116 of file MueLu_IndexManager_decl.hpp.
|
protected |
lowest GID of any node in the local process
Definition at line 118 of file MueLu_IndexManager_decl.hpp.
|
protected |
distance between lowest (resp. highest) index to the lowest (resp. highest) ghostedNodeIndex in that direction.
Definition at line 119 of file MueLu_IndexManager_decl.hpp.
|
protected |
distance between lowest (resp. highest) index to the lowest (resp. highest) coarseNodeIndex in that direction.
Definition at line 120 of file MueLu_IndexManager_decl.hpp.
|
protected |
lowest global tuple (i,j,k) of a node on the local process
Definition at line 121 of file MueLu_IndexManager_decl.hpp.
|
protected |
lowest coarse global tuple (i,j,k) of a node remaing on the local process after coarsening.
Definition at line 122 of file MueLu_IndexManager_decl.hpp.
|
protected |
flags indicating if we run into the edge of the mesh in ilo, ihi, jlo, jhi, klo or khi.
Definition at line 124 of file MueLu_IndexManager_decl.hpp.
|
protected |
flags indicating if ghost points are needed at ilo, ihi, jlo, jhi, klo and khi boundaries.
Definition at line 125 of file MueLu_IndexManager_decl.hpp.
|
protected |
flags indicating if ghost points are needed at ilo, ihi, jlo, jhi, klo and khi boundaries.
Definition at line 126 of file MueLu_IndexManager_decl.hpp.