Dune::CommMatrixSparsityPattern< M, I > Struct Template Reference

Utility class to communicate and build the sparsity pattern of a redistributed matrix. More...

#include <dune/istl/matrixredistribute.hh>

List of all members.

Public Types

typedef M::size_type size_type
typedef
Dune::GlobalLookupIndexSet< I > 
LookupIndexSet

Public Member Functions

 CommMatrixSparsityPattern (const M &m_, const Dune::GlobalLookupIndexSet< I > &idxset_, const I &aggidxset_)
 Constructor for the original side.
 CommMatrixSparsityPattern (const M &m_, const Dune::GlobalLookupIndexSet< I > &idxset_, const I &aggidxset_, const std::vector< typename M::size_type > &rowsize_)
 Constructor for the redistruted side.
void storeSparsityPattern (M &m)
 Creates and stores the sparsity pattern of the redistributed matrix.
void completeSparsityPattern (std::vector< std::set< size_type > > add_sparsity)
 Completes the sparsity pattern of the redistributed matrix with data from copy rows for the novlp case.

Public Attributes

const M & matrix
const
Dune::GlobalLookupIndexSet< I > & 
idxset
const I & aggidxset
std::vector< std::set
< size_type > > 
sparsity
const std::vector< size_type > * rowsize

Detailed Description

template<class M, class I>
struct Dune::CommMatrixSparsityPattern< M, I >

Utility class to communicate and build the sparsity pattern of a redistributed matrix.

Template Parameters:
M The type of the matrix that the sparsity pattern is communicated of.
I The type of the index set.

Member Typedef Documentation

template<class M , class I >
typedef Dune::GlobalLookupIndexSet<I> Dune::CommMatrixSparsityPattern< M, I >::LookupIndexSet
template<class M , class I >
typedef M::size_type Dune::CommMatrixSparsityPattern< M, I >::size_type

Constructor & Destructor Documentation

template<class M , class I >
Dune::CommMatrixSparsityPattern< M, I >::CommMatrixSparsityPattern ( const M &  m_,
const Dune::GlobalLookupIndexSet< I > &  idxset_,
const I &  aggidxset_ 
) [inline]

Constructor for the original side.

Parameters:
m_ The matrix whose sparsity pattern is communicated.
idxset_ The index set corresponding to the local matrix.
aggidxset_ The index set corresponding to the redistributed matrix.
template<class M , class I >
Dune::CommMatrixSparsityPattern< M, I >::CommMatrixSparsityPattern ( const M &  m_,
const Dune::GlobalLookupIndexSet< I > &  idxset_,
const I &  aggidxset_,
const std::vector< typename M::size_type > &  rowsize_ 
) [inline]

Constructor for the redistruted side.

Parameters:
m_ The matrix whose sparsity pattern is communicated.
idxset_ The index set corresponding to the local matrix.
aggidxset_ The index set corresponding to the redistributed matrix.
rowsize_ The row size for the redistributed owner rows.

Member Function Documentation

template<class M , class I >
void Dune::CommMatrixSparsityPattern< M, I >::completeSparsityPattern ( std::vector< std::set< size_type > >  add_sparsity  )  [inline]

Completes the sparsity pattern of the redistributed matrix with data from copy rows for the novlp case.

After the pattern communication this function can be used.

Parameters:
add_sparsity Sparsity pattern from the copy rows.

References Dune::CommMatrixSparsityPattern< M, I >::sparsity.

template<class M , class I >
void Dune::CommMatrixSparsityPattern< M, I >::storeSparsityPattern ( M &  m  )  [inline]

Creates and stores the sparsity pattern of the redistributed matrix.

After the pattern is communicated this function can be used.

Parameters:
m The matrix to build.

References Dune::CommMatrixSparsityPattern< M, I >::aggidxset, and Dune::CommMatrixSparsityPattern< M, I >::sparsity.


Member Data Documentation

template<class M , class I >
const Dune::GlobalLookupIndexSet<I>& Dune::CommMatrixSparsityPattern< M, I >::idxset
template<class M , class I >
const std::vector<size_type>* Dune::CommMatrixSparsityPattern< M, I >::rowsize

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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].