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 getNodeNumBlockRows () const
 Returns the number of block rows owned on the calling node.
size_t getGlobalNumBlockRows () const
 Returns the global number of block rows.
size_t getNodeNumBlockDiags () const
 Returns the number of diagonal entries on the calling node.
size_t getNodeNumBlockEntries () const
 Returns the local number of entries in the graph.
size_t getGlobalBlockRowLength (GlobalOrdinal row) const
 Returns the number of block-columns in the specified global block row.
void getGlobalBlockRowView (GlobalOrdinal row, Teuchos::ArrayView< const GlobalOrdinal > &blockCols) const
 Returns a read-only view of the block-column-indices for the specified global block row.
void getLocalBlockRowView (LocalOrdinal row, Teuchos::ArrayView< const LocalOrdinal > &blockCols) const
 Returns a read-only view of the block-column-indices for the specified local block row.
Teuchos::RCP< const BlockMap
< LocalOrdinal, GlobalOrdinal,
Node > > 
getBlockRowMap () const
 Returns the block-row map.
Teuchos::RCP< const BlockMap
< LocalOrdinal, GlobalOrdinal,
Node > > 
getBlockColMap () const
 Returns the block-column map.
Teuchos::RCP< const BlockMap
< LocalOrdinal, GlobalOrdinal,
Node > > 
getBlockDomainMap () const
 Returns the block-domain map.
Teuchos::RCP< const BlockMap
< LocalOrdinal, GlobalOrdinal,
Node > > 
getBlockRangeMap () const
 Returns the block-range map.

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::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.

The reason BlockCrsGraph exists is to create and hold the block-versions (Tpetra::BlockMap) of the Tpetra::Map objects that CrsGraph holds.

BlockCrsGraph is used by Tpetra::VbrMatrix (variable block row matrix).

Definition at line 65 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 119 of file Tpetra_BlockCrsGraph_def.hpp.

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

BlockCrsGraph destructor.

Definition at line 79 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 136 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 144 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 152 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 160 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 168 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 191 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 199 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 212 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 236 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 220 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 228 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the number of block rows owned on the calling node.

Definition at line 278 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the global number of block rows.

Definition at line 286 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the number of diagonal entries on the calling node.

Definition at line 294 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the local number of entries in the graph.

Definition at line 244 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the number of block-columns in the specified global block row.

Definition at line 252 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns a read-only view of the block-column-indices for the specified global block row.

Definition at line 260 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns a read-only view of the block-column-indices for the specified local block row.

Definition at line 269 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the block-row map.

Definition at line 302 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the block-column map.

Definition at line 310 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the block-domain map.

Definition at line 318 of file Tpetra_BlockCrsGraph_def.hpp.

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

Returns the block-range map.

Definition at line 326 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