AMDiS  2.10
The Adaptive Multi-Dimensional Simulation Toolbox
ISTLBCRSMatrix< T, CommType > Class Template Reference

Public Types

using BaseMatrix = Dune::BCRSMatrix< typename BlockMatrixType< T >::type >
 The matrix type of the underlying base matrix.
 
using Comm = CommType
 Communication type.
 
using value_type = typename BaseMatrix::block_type
 The type of the elements of the DOFMatrix.
 
using size_type = typename BaseMatrix::size_type
 The index/size - type.
 

Public Member Functions

 ISTLBCRSMatrix (Comm const &comm, Comm const &)
 Constructor. Constructs new BaseVector.
 
BaseMatrix const & matrix () const
 Return the data-vector vector.
 
BaseMatrixmatrix ()
 Return the data-vector vector.
 
Comm const & comm () const
 
void init (SparsityPattern const &pattern)
 Create occupation pattern and apply it to the matrix.
 
void init ()
 Set all entries to zero while keeping the occupation pattern intact.
 
void finish ()
 
void insert (size_type r, size_type c, value_type const &value)
 Insert a single value into the matrix (add to existing value)
 
template<class Ind , class LocalMat >
void scatter (Ind const &idx, LocalMat const &mat)
 
template<class RowInd , class ColInd , class LocalMat >
void scatter (RowInd const &rows, ColInd const &cols, LocalMat const &mat)
 
template<class RowInd >
void zeroRows (RowInd const &rowInd, bool diag)
 Set all entries of the specified rows to zero and the diagonal element to diag
 
template<class RowInd , class ColInd >
void zeroRows (RowInd const &rowInd, ColInd const &colInd, bool diag)
 Set all entries of the specified rows to zero and the diagonal element to diag
 
template<class RowInd , class ColInd >
void zeroRowsColumnsImpl (RowInd const &rowInd, ColInd const &colInd, bool diag, ISTLBlockVector< T > const *x=nullptr, ISTLBlockVector< T > *b=nullptr)
 Set all entries of the specified rows and columns to zero and the diagonal element to diag
 
template<class RowInd >
void zeroRowsColumns (RowInd const &rowInd, bool diag)
 
template<class RowInd >
void zeroRowsColumns (RowInd const &rowInd, bool diag, ISTLBlockVector< T > const &x, ISTLBlockVector< T > &b)
 
template<class RowInd , class ColInd >
void zeroRowsColumns (RowInd const &rowInd, ColInd const &colInd, bool diag)
 
template<class RowInd , class ColInd >
void zeroRowsColumns (RowInd const &rowInd, ColInd const &colInd, bool diag, ISTLBlockVector< T > const &x, ISTLBlockVector< T > &b)
 
std::size_t nnz () const
 Return the number of entries allocated in the sparsity pattern of the matrix.
 

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