MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 Teuchos::VerboseObject< VerboseObject > Teuchos::Describable Teuchos::VerboseObjectBase Teuchos::LabeledObject

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::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
 
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 Member Functions

void UnamalgamateAggregates (const Teuchos::RCP< const Map > &nodeMap, const RCP< LOVector > &procWinnerVec, const RCP< LOMultiVector > &vertex2AggIdVec, const GO numAggregates, Teuchos::ArrayRCP< LocalOrdinal > &aggStart, Teuchos::ArrayRCP< GlobalOrdinal > &aggToRowMap) const
 
void UnamalgamateAggregatesLO (const Teuchos::RCP< const Map > &nodeMap, const RCP< LOVector > &procWinnerVec, const RCP< LOMultiVector > &vertex2AggIdVec, const GO numAggregates, Teuchos::ArrayRCP< LocalOrdinal > &aggStart, Teuchos::ArrayRCP< LO > &aggToRowMap) const
 
Teuchos::RCP< Xpetra::Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
ComputeUnamalgamatedImportDofMap (const Teuchos::RCP< const Map > &nodeMap) const
 
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...
 
- 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 = 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

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 88 of file MueLu_AmalgamationInfo_decl.hpp.

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

Destructor.

Definition at line 107 of file MueLu_AmalgamationInfo_decl.hpp.

Member Function Documentation

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 110 of file MueLu_AmalgamationInfo_decl.hpp.

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 236 of file MueLu_AmalgamationInfo_def.hpp.

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.

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.

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.

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.

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 68 of file MueLu_AmalgamationInfo_def.hpp.

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

Definition at line 154 of file MueLu_AmalgamationInfo_def.hpp.

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 265 of file MueLu_AmalgamationInfo_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::UnamalgamateAggregates ( const Teuchos::RCP< const Map > &  nodeMap,
const RCP< LOVector > &  procWinnerVec,
const RCP< LOMultiVector > &  vertex2AggIdVec,
const GO  numAggregates,
Teuchos::ArrayRCP< LocalOrdinal > &  aggStart,
Teuchos::ArrayRCP< GlobalOrdinal > &  aggToRowMap 
) const
private

Definition at line 82 of file MueLu_AmalgamationInfo_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::UnamalgamateAggregatesLO ( const Teuchos::RCP< const Map > &  nodeMap,
const RCP< LOVector > &  procWinnerVec,
const RCP< LOMultiVector > &  vertex2AggIdVec,
const GO  numAggregates,
Teuchos::ArrayRCP< LocalOrdinal > &  aggStart,
Teuchos::ArrayRCP< LO > &  aggToRowMap 
) const
private

Definition at line 167 of file MueLu_AmalgamationInfo_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > MueLu::AmalgamationInfo< LocalOrdinal, GlobalOrdinal, Node >::ComputeUnamalgamatedImportDofMap ( const Teuchos::RCP< const Map > &  nodeMap) const
private

Definition at line 271 of file MueLu_AmalgamationInfo_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
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 299 of file MueLu_AmalgamationInfo_def.hpp.

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 307 of file MueLu_AmalgamationInfo_def.hpp.

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

Definition at line 313 of file MueLu_AmalgamationInfo_def.hpp.

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 187 of file MueLu_AmalgamationInfo_decl.hpp.

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 190 of file MueLu_AmalgamationInfo_decl.hpp.

Member Data Documentation

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 203 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 204 of file MueLu_AmalgamationInfo_decl.hpp.

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 207 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 208 of file MueLu_AmalgamationInfo_decl.hpp.

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 214 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 220 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 221 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 222 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 223 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 224 of file MueLu_AmalgamationInfo_decl.hpp.

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

Definition at line 225 of file MueLu_AmalgamationInfo_decl.hpp.


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