Loading...
Searching...
No Matches
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

  M | The type of the matrix that the sparsity pattern is communicated of.
  I | The 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_sparsity | Sparsity 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

  m | The 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:

- matrixredistribute.hh