dune-istl 2.10
Loading...
Searching...
No Matches
Dune::ImplicitMatrixBuilder< M_ > Class Template Reference

A wrapper for uniform access to the BCRSMatrix during and after the build stage in implicit build mode. More...

#include <dune/istl/bcrsmatrix.hh>

Classes

class  row_object
 Proxy row object for entry access. More...

Public Types

typedef M_ Matrix
 The underlying matrix.
typedef Matrix::block_type block_type
 The block_type of the underlying matrix.
typedef Matrix::size_type size_type
 The size_type of the underlying matrix.

Public Member Functions

 ImplicitMatrixBuilder (Matrix &m)
 Creates an ImplicitMatrixBuilder for matrix m.
 ImplicitMatrixBuilder (Matrix &m, size_type rows, size_type cols, size_type avg_cols_per_row, double overflow_fraction)
 Sets up matrix m for implicit construction using the given parameters and creates an ImplicitBmatrixuilder for it.
row_object operator[] (size_type i) const
 Returns a proxy for entries in row i.
size_type N () const
 The number of rows in the matrix.
size_type M () const
 The number of columns in the matrix.

Detailed Description

template<class M_>
class Dune::ImplicitMatrixBuilder< M_ >

A wrapper for uniform access to the BCRSMatrix during and after the build stage in implicit build mode.

The implicit build mode of Dune::BCRSMatrix handles matrices differently during assembly and afterwards. Using this class, one can wrap a BCRSMatrix to allow use with code that is not written for the new build mode specifically. The wrapper forwards any calls to operator[][] to the entry() method.The assembly code does not even necessarily need to know that the underlying matrix is sparse. Dune::AMG uses this to reassemble an existing matrix without code duplication. The compress() method of Dune::BCRSMatrix still has to be called from outside this wrapper after the pattern assembly is finished.

Template Parameters
M_the matrix type

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