MueLu  Version of the Day
MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

minimal container class for storing amalgamation information More...

#include <MueLu_AmalgamationInfo_decl.hpp>

Inheritance diagram for MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >:
MueLu::BaseClass MueLu::VerboseObject MueLu::Describable

Public Member Functions

 AmalgamationInfo (RCP< Array< LO > > rowTranslation, RCP< Array< LO > > colTranslation, RCP< const Map > nodeRowMap, RCP< const Map > nodeColMap, RCP< const Map > const &columnMap, LO fullblocksize, GO offset, LO blockid, LO nStridedOffset, LO stridedblocksize)
 Constructor. More...
 
virtual ~AmalgamationInfo ()
 Destructor. More...
 
std::string description () const
 Return a simple one-line description of this object. More...
 
void print (Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const
 Print the object with some verbosity level to an FancyOStream object. More...
 
RCP< const Map > getNodeRowMap () const
 
RCP< const Map > getNodeColMap () const
 < returns the node row map for the graph More...
 
void UnamalgamateAggregates (const Aggregates &aggregates, Teuchos::ArrayRCP< LocalOrdinal > &aggStart, Teuchos::ArrayRCP< GlobalOrdinal > &aggToRowMap) const
 UnamalgamateAggregates. More...
 
void UnamalgamateAggregatesLO (const Aggregates &aggregates, Teuchos::ArrayRCP< LocalOrdinal > &aggStart, Teuchos::ArrayRCP< LO > &aggToRowMap) const
 
Teuchos::RCP< Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > ComputeUnamalgamatedImportDofMap (const Aggregates &aggregates) const
 ComputeUnamalgamatedImportDofMap build overlapping dof row map from aggregates needed for overlapping null space. More...
 
GO ComputeGlobalDOF (GO const &gNodeID, LO const &k=0) const
 ComputeGlobalDOF. More...
 
LO ComputeLocalDOF (LocalOrdinal const &lNodeID, LocalOrdinal const &k) const
 ComputeLocalDOF return locbal dof id associated with local node id lNodeID and dof index k. More...
 
LO ComputeLocalNode (LocalOrdinal const &ldofID) const
 
GO GlobalOffset ()
 returns offset of global dof ids More...
 
void GetStridingInformation (LO &fullBlockSize, LO &blockID, LO &stridingOffset, LO &stridedBlockSize, GO &indexBase)
 returns striding information More...
 
- 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 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
 
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...
 
RCP< Array< LO > > getRowTranslation () const
 < returns the node column map for the graph More...
 
RCP< Array< LO > > getColTranslation () const
 

amalgamation information variables

RCP< Array< LO > > rowTranslation_
 Arrays containing local node ids given local dof ids. More...
 
RCP< Array< LO > > colTranslation_
 
RCP< const Map > nodeRowMap_
 node row and column map of graph (built from row and column map of A) More...
 
RCP< const Map > nodeColMap_
 
RCP< const Map > columnMap_
 DOF map (really column map of A) More...
 

Strided map information.

LO fullblocksize_
 
GO offset_
 
LO blockid_
 
LO nStridedOffset_
 
LO stridedblocksize_
 
GO indexBase_
 

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...
 

Detailed Description

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
class MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >

minimal container class for storing amalgamation information

Helps create a mapping between local node id on current processor to local DOFs ids on current processor. That mapping is used for unamalgamation.

Definition at line 81 of file MueLu_AmalgamationInfo_decl.hpp.

Constructor & Destructor Documentation

◆ AmalgamationInfo()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::AmalgamationInfo ( RCP< Array< LO > >  rowTranslation,
RCP< Array< LO > >  colTranslation,
RCP< const Map >  nodeRowMap,
RCP< const Map >  nodeColMap,
RCP< const Map > const &  columnMap,
LO  fullblocksize,
GO  offset,
LO  blockid,
LO  nStridedOffset,
LO  stridedblocksize 
)
inline

Constructor.

Definition at line 89 of file MueLu_AmalgamationInfo_decl.hpp.

◆ ~AmalgamationInfo()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
virtual MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::~AmalgamationInfo ( )
inlinevirtual

Destructor.

Definition at line 109 of file MueLu_AmalgamationInfo_decl.hpp.

Member Function Documentation

◆ description()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
std::string MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
inlinevirtual

Return a simple one-line description of this object.

Reimplemented from MueLu::Describable.

Definition at line 112 of file MueLu_AmalgamationInfo_decl.hpp.

◆ print()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::print ( Teuchos::FancyOStream &  out,
const VerbLevel  verbLevel = Default 
) const

Print the object with some verbosity level to an FancyOStream object.

Definition at line 202 of file MueLu_AmalgamationInfo_def.hpp.

◆ getNodeRowMap()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<const Map> MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::getNodeRowMap ( ) const
inline

Definition at line 117 of file MueLu_AmalgamationInfo_decl.hpp.

◆ getNodeColMap()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<const Map> MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::getNodeColMap ( ) const
inline

< returns the node row map for the graph

Definition at line 118 of file MueLu_AmalgamationInfo_decl.hpp.

◆ getRowTranslation()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<Array<LO> > MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::getRowTranslation ( ) const
inline

< returns the node column map for the graph

Definition at line 127 of file MueLu_AmalgamationInfo_decl.hpp.

◆ getColTranslation()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<Array<LO> > MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::getColTranslation ( ) const
inline

Definition at line 128 of file MueLu_AmalgamationInfo_decl.hpp.

◆ UnamalgamateAggregates()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::UnamalgamateAggregates ( const Aggregates aggregates,
Teuchos::ArrayRCP< LocalOrdinal > &  aggStart,
Teuchos::ArrayRCP< GlobalOrdinal > &  aggToRowMap 
) const

UnamalgamateAggregates.

Puts all dofs for aggregate i in aggToRowMap[i]. Also calculate aggregate sizes.

Definition at line 66 of file MueLu_AmalgamationInfo_def.hpp.

◆ UnamalgamateAggregatesLO()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::UnamalgamateAggregatesLO ( const Aggregates aggregates,
Teuchos::ArrayRCP< LocalOrdinal > &  aggStart,
Teuchos::ArrayRCP< LO > &  aggToRowMap 
) const

Definition at line 134 of file MueLu_AmalgamationInfo_def.hpp.

◆ ComputeUnamalgamatedImportDofMap()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::ComputeUnamalgamatedImportDofMap ( const Aggregates aggregates) const

ComputeUnamalgamatedImportDofMap build overlapping dof row map from aggregates needed for overlapping null space.

Definition at line 231 of file MueLu_AmalgamationInfo_def.hpp.

◆ ComputeGlobalDOF()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
GlobalOrdinal MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::ComputeGlobalDOF ( GO const &  gNodeID,
LO const &  k = 0 
) const

ComputeGlobalDOF.

Return global dof id associated with global node id gNodeID and dof index k

Note
We assume that indexBase_ is valid for both the node and the dof map.
Parameters
(GO)global node id
(LO)local dof index within node
Returns
(GO): global dof id

Definition at line 260 of file MueLu_AmalgamationInfo_def.hpp.

◆ ComputeLocalDOF()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LocalOrdinal MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::ComputeLocalDOF ( LocalOrdinal const &  lNodeID,
LocalOrdinal const &  k 
) const

ComputeLocalDOF return locbal dof id associated with local node id lNodeID and dof index k.

Parameters
(LO)local node id
(LO)local dof index within node
Returns
(LO): local dof id

Definition at line 266 of file MueLu_AmalgamationInfo_def.hpp.

◆ ComputeLocalNode()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
LocalOrdinal MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::ComputeLocalNode ( LocalOrdinal const &  ldofID) const

Definition at line 273 of file MueLu_AmalgamationInfo_def.hpp.

◆ GlobalOffset()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
GO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::GlobalOffset ( )
inline

returns offset of global dof ids

Access routines

Definition at line 169 of file MueLu_AmalgamationInfo_decl.hpp.

◆ GetStridingInformation()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::GetStridingInformation ( LO &  fullBlockSize,
LO &  blockID,
LO &  stridingOffset,
LO &  stridedBlockSize,
GO &  indexBase 
)
inline

returns striding information

Definition at line 172 of file MueLu_AmalgamationInfo_decl.hpp.

Member Data Documentation

◆ rowTranslation_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<Array<LO> > MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::rowTranslation_
private

Arrays containing local node ids given local dof ids.

Definition at line 186 of file MueLu_AmalgamationInfo_decl.hpp.

◆ colTranslation_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<Array<LO> > MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::colTranslation_
private

Definition at line 187 of file MueLu_AmalgamationInfo_decl.hpp.

◆ nodeRowMap_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<const Map> MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::nodeRowMap_
private

node row and column map of graph (built from row and column map of A)

Definition at line 190 of file MueLu_AmalgamationInfo_decl.hpp.

◆ nodeColMap_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<const Map> MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::nodeColMap_
private

Definition at line 191 of file MueLu_AmalgamationInfo_decl.hpp.

◆ columnMap_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
RCP<const Map> MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::columnMap_
private

DOF map (really column map of A)

We keep a RCP on the column map to make sure that the map is still valid when it is used.

Definition at line 197 of file MueLu_AmalgamationInfo_decl.hpp.

◆ fullblocksize_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
LO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::fullblocksize_
private

Definition at line 203 of file MueLu_AmalgamationInfo_decl.hpp.

◆ offset_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
GO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::offset_
private

Definition at line 204 of file MueLu_AmalgamationInfo_decl.hpp.

◆ blockid_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
LO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::blockid_
private

Definition at line 205 of file MueLu_AmalgamationInfo_decl.hpp.

◆ nStridedOffset_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
LO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::nStridedOffset_
private

Definition at line 206 of file MueLu_AmalgamationInfo_decl.hpp.

◆ stridedblocksize_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
LO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::stridedblocksize_
private

Definition at line 207 of file MueLu_AmalgamationInfo_decl.hpp.

◆ indexBase_

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
GO MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::indexBase_
private

Definition at line 208 of file MueLu_AmalgamationInfo_decl.hpp.


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