dune-istl  2.7.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. More...
 
 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. More...
 
void storeSparsityPattern (M &m)
 Creates and stores the sparsity pattern of the redistributed matrix. More...
 
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. More...
 

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

◆ LookupIndexSet

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

◆ size_type

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

Constructor & Destructor Documentation

◆ CommMatrixSparsityPattern() [1/2]

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.

◆ CommMatrixSparsityPattern() [2/2]

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

◆ completeSparsityPattern()

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.

◆ storeSparsityPattern()

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.

Member Data Documentation

◆ aggidxset

template<class M , class I >
const I& Dune::CommMatrixSparsityPattern< M, I >::aggidxset

◆ idxset

template<class M , class I >
const Dune::GlobalLookupIndexSet<I>& Dune::CommMatrixSparsityPattern< M, I >::idxset

◆ matrix

template<class M , class I >
const M& Dune::CommMatrixSparsityPattern< M, I >::matrix

◆ rowsize

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

◆ sparsity

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: