Tpetra Matrix/Vector Services Version of the Day
Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Block-entry counterpart to Tpetra::CrsGraph. More...

#include <Tpetra_BlockCrsGraph_decl.hpp>

Inheritance diagram for Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructor/Destructor Methods
 BlockCrsGraph (const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > &blkRowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile)
 BlockCrsGraph constructor specifying a block-row-map and max-num-block-entries-per-row.
 ~BlockCrsGraph ()
 BlockCrsGraph destructor.
Insertion/Extraction Methods
void insertGlobalIndices (GlobalOrdinal row, const Teuchos::ArrayView< const GlobalOrdinal > &indices)
 Submit graph indices, using global IDs.
Teuchos::ArrayRCP< const size_t > getNodeRowOffsets () const
 Get row-offsets. (This is the bptr array in VBR terminology.)
Teuchos::ArrayRCP< const
LocalOrdinal > 
getNodePackedIndices () const
 Get packed-col-indices. (This is the bindx array in VBR terminology.)
Transformational Methods
void globalAssemble ()
 Communicate non-local contributions to other nodes.
void fillComplete (const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > &blkDomainMap, const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > &blkRangeMap, OptimizeOption os=DoOptimizeStorage)
 Signal that data entry is complete, specifying domain and range maps. Off-node entries are distributed, repeated entries are summed, and global indices are transformed to local indices. If OptimizeStorage is true, then optimizeStorage() is called as well.
void fillComplete (OptimizeOption os=DoOptimizeStorage)
 Signal that data entry is complete. Off-node entries are distributed, repeated entries are summed, and global indices are transformed to local indices. If OptimizeStorage is true, then optimizeStorage() is called as well.
void optimizeStorage ()
 Re-allocate the data into contiguous storage.
Attribute Accessor Methods
bool isFillComplete () const
 Returns true if fillComplete() has been called.
bool isLocallyIndexed () const
 If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */.
bool isUpperTriangular () const
 true if graph is upper-triangular.
bool isLowerTriangular () const
 true if graph is lower-triangular.
size_t getNodeNumRows () const
 Returns the number of rows owned on the calling node.
size_t getNodeNumDiags () const
 Returns the number of diagonal entries on the calling node.
size_t getNodeNumEntries () const
 Returns the local number of entries in the graph.
const Teuchos::RCP< const
BlockMap< LocalOrdinal,
GlobalOrdinal, Node > > & 
getBlockRowMap () const
 Returns the block-row map.
const Teuchos::RCP< const
BlockMap< LocalOrdinal,
GlobalOrdinal, Node > > & 
getBlockColMap () const
 Returns the block-column map.
const Teuchos::RCP< const
BlockMap< LocalOrdinal,
GlobalOrdinal, Node > > & 
getBlockDomainMap () const
 Returns the block-domain map.
const Teuchos::RCP< const
BlockMap< LocalOrdinal,
GlobalOrdinal, Node > > & 
getBlockRangeMap () const
 Returns the block-range map.

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
class Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >

Block-entry counterpart to Tpetra::CrsGraph.

BlockCrsGraph doesn't inherit Tpetra::CrsGraph, but always holds a Tpetra::CrsGraph as a class-member attribute.

Definition at line 47 of file Tpetra_BlockCrsGraph_decl.hpp.


Constructor & Destructor Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::BlockCrsGraph ( const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > &  blkRowMap,
size_t  maxNumEntriesPerRow,
ProfileType  pftype = DynamicProfile 
)

BlockCrsGraph constructor specifying a block-row-map and max-num-block-entries-per-row.

Definition at line 104 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::~BlockCrsGraph ( ) [inline]

BlockCrsGraph destructor.

Definition at line 61 of file Tpetra_BlockCrsGraph_decl.hpp.


Member Function Documentation

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::insertGlobalIndices ( GlobalOrdinal  row,
const Teuchos::ArrayView< const GlobalOrdinal > &  indices 
)

Submit graph indices, using global IDs.

Definition at line 121 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::ArrayRCP< const size_t > Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeRowOffsets ( ) const

Get row-offsets. (This is the bptr array in VBR terminology.)

Returns null if optimizeStorage has not been called.

Definition at line 129 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::ArrayRCP< const LocalOrdinal > Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodePackedIndices ( ) const

Get packed-col-indices. (This is the bindx array in VBR terminology.)

Returns null if optimizeStorage has not been called.

Definition at line 137 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::globalAssemble ( )

Communicate non-local contributions to other nodes.

Definition at line 145 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::fillComplete ( const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > &  blkDomainMap,
const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > &  blkRangeMap,
OptimizeOption  os = DoOptimizeStorage 
)

Signal that data entry is complete, specifying domain and range maps. Off-node entries are distributed, repeated entries are summed, and global indices are transformed to local indices. If OptimizeStorage is true, then optimizeStorage() is called as well.

Definition at line 153 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::fillComplete ( OptimizeOption  os = DoOptimizeStorage)

Signal that data entry is complete. Off-node entries are distributed, repeated entries are summed, and global indices are transformed to local indices. If OptimizeStorage is true, then optimizeStorage() is called as well.

Note:
This method calls fillComplete( getRowMap(), getRowMap(), OptimizeStorage ).

Definition at line 173 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::optimizeStorage ( )

Re-allocate the data into contiguous storage.

Definition at line 181 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::isFillComplete ( ) const

Returns true if fillComplete() has been called.

Definition at line 192 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed ( ) const

If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */.

Definition at line 216 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::isUpperTriangular ( ) const

true if graph is upper-triangular.

Definition at line 200 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
bool Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::isLowerTriangular ( ) const

true if graph is lower-triangular.

Definition at line 208 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
size_t Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumRows ( ) const

Returns the number of rows owned on the calling node.

Definition at line 232 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
size_t Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumDiags ( ) const

Returns the number of diagonal entries on the calling node.

Definition at line 240 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
size_t Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumEntries ( ) const

Returns the local number of entries in the graph.

Definition at line 224 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getBlockRowMap ( ) const

Returns the block-row map.

Definition at line 248 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getBlockColMap ( ) const

Returns the block-column map.

Definition at line 256 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getBlockDomainMap ( ) const

Returns the block-domain map.

Definition at line 264 of file Tpetra_BlockCrsGraph_def.hpp.

template<class LocalOrdinal , class GlobalOrdinal , class Node >
const Teuchos::RCP< const BlockMap< LocalOrdinal, GlobalOrdinal, Node > > & Tpetra::BlockCrsGraph< LocalOrdinal, GlobalOrdinal, Node >::getBlockRangeMap ( ) const

Returns the block-range map.

Definition at line 272 of file Tpetra_BlockCrsGraph_def.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines