All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Xpetra::VbrMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node, LocalMatOps > Class Template Reference

VbrMatrix: Variable block row matrix. More...

#include <Xpetra_VbrMatrix.hpp>

List of all members.

Constructor/Destructor Methods

virtual ~VbrMatrix ()
 Destructor.

Detailed Description

template<class Scalar, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType, class LocalMatOps = typename Kokkos::DefaultKernels<Scalar,LocalOrdinal,Node>::BlockSparseOps>
class Xpetra::VbrMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >

VbrMatrix: Variable block row matrix.

The VbrMatrix class has two significant 'states', distinguished by whether or not storage has been optimized (packed) or not.

When the matrix is in the non-optimized-storage state, internal data storage is in a non-contiguous data-structure that allows for convenient insertion of data.

When the matrix is in the optimized-storage state, internal data is stored in contiguous (packed) arrays. When in this state, existing entries may be updated and replaced, but no new entries (indices and/or coefficients) may be inserted. In other words, the sparsity pattern or structure of the matrix may not be changed.

Use of the matrix as an Operator (performing matrix-vector multiplication) is only allowed when it is in the optimized-storage state.

VbrMatrix has two constructors, one which leaves the matrix in the optimized- storage state, and another which leaves the matrix in the non-optimized-storage state.

When the VbrMatrix is constructed in the non-optimized-storage state, (and then filled using methods such as setGlobalBlockEntry etc.), it can then be transformed to the optimized-storage state by calling the method fillComplete().

Once in the optimized-storage state, the VbrMatrix can not be returned to the non-optimized-storage state.

Definition at line 101 of file Xpetra_VbrMatrix.hpp.


Constructor & Destructor Documentation

template<class Scalar, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType, class LocalMatOps = typename Kokkos::DefaultKernels<Scalar,LocalOrdinal,Node>::BlockSparseOps>
virtual Xpetra::VbrMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >::~VbrMatrix ( ) [virtual]

Destructor.


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