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 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< 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 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< 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 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< 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 43 of file MueLu_IndexManager_decl.hpp.
|
default |
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.
|
inlinevirtual |
Definition at line 97 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 55 of file MueLu_IndexManager_def.hpp.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
inline |
Definition at line 114 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 116 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 118 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 120 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 122 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 124 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 126 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 128 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 130 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 132 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 134 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 136 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 138 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 140 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 142 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 144 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 146 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 148 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 150 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 152 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 154 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 156 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 158 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 160 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 162 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 164 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 166 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 168 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 170 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 172 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 174 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 176 of file MueLu_IndexManager_decl.hpp.
|
inline |
Definition at line 178 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 49 of file MueLu_IndexManager_decl.hpp.
|
protected |
Flag for coupled vs uncoupled aggregation mode, if true aggregation is coupled.
Definition at line 50 of file MueLu_IndexManager_decl.hpp.
|
protected |
Flag telling us if can reduce dimensions to a single layer.
Definition at line 51 of file MueLu_IndexManager_decl.hpp.
|
protected |
Number of spacial dimensions in the problem.
Definition at line 52 of file MueLu_IndexManager_decl.hpp.
|
protected |
Interpolation order used by grid transfer operators using these aggregates.
Definition at line 53 of file MueLu_IndexManager_decl.hpp.
|
protected |
coarsening rate in each direction
Definition at line 55 of file MueLu_IndexManager_decl.hpp.
|
protected |
adapted coarsening rate at the edge of the mesh in each direction.
Definition at line 56 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes.
Definition at line 58 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per 0-1 slice.
Definition at line 59 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per direction.
Definition at line 60 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes.
Definition at line 62 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per 0-1 slice.
Definition at line 63 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per direction.
Definition at line 64 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes remaining after coarsening.
Definition at line 66 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per 0-1 slice remaining after coarsening.
Definition at line 67 of file MueLu_IndexManager_decl.hpp.
|
protected |
global number of nodes per direction remaining after coarsening.
Definition at line 68 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes remaining after coarsening.
Definition at line 70 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per 0-1 slice remaining after coarsening.
Definition at line 71 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of nodes per direction remaing after coarsening.
Definition at line 72 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of ghost nodes
Definition at line 74 of file MueLu_IndexManager_decl.hpp.
|
protected |
local number of ghosted nodes (i.e. ghost + coarse nodes).
Definition at line 75 of file MueLu_IndexManager_decl.hpp.
|
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.
|
protected |
local number of ghosted nodes (i.e. ghost + coarse nodes) per direction
Definition at line 77 of file MueLu_IndexManager_decl.hpp.
|
protected |
lowest GID of any node in the local process
Definition at line 79 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 80 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 81 of file MueLu_IndexManager_decl.hpp.
|
protected |
lowest global tuple (i,j,k) of a node on the local process
Definition at line 82 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 83 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 85 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 86 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 87 of file MueLu_IndexManager_decl.hpp.