dune-istl  2.3.1
Public Types | Public Member Functions | Public Attributes | List of all members
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>

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
MThe type of the matrix that the sparsity pattern is communicated of.
IThe 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_sparsitySparsity 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
mThe matrix to build.

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

Member Data Documentation

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

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