DUNE ISTL (2.10)

matrixredistribute.hh File Reference

Functionality for redistributing a sparse matrix. More...

#include <memory>
#include "repartition.hh"
#include <dune/common/exceptions.hh>
#include <dune/common/parallel/indexset.hh>
#include <dune/istl/owneroverlapcopy.hh>
#include <dune/istl/paamg/pinfo.hh>

Go to the source code of this file.

Classes

struct  Dune::CommMatrixRowSize< M, RI >
 Utility class to communicate and set the row sizes of a redistributed matrix. More...
 
struct  Dune::CommMatrixSparsityPattern< M, I >
 Utility class to communicate and build the sparsity pattern of a redistributed matrix. More...
 
struct  Dune::CommMatrixRow< M, I >
 Utility class for comunicating the matrix entries. More...
 

Functions

template<typename M , typename C >
void Dune::redistributeMatrix (M &origMatrix, M &newMatrix, C &origComm, C &newComm, RedistributeInformation< C > &ri)
 Redistribute a matrix according to given domain decompositions. More...
 

Detailed Description

Functionality for redistributing a sparse matrix.

Author
Markus Blatt

Function Documentation

◆ redistributeMatrix()

template<typename M , typename C >
void Dune::redistributeMatrix ( M &  origMatrix,
M &  newMatrix,
C &  origComm,
C &  newComm,
RedistributeInformation< C > &  ri 
)

Redistribute a matrix according to given domain decompositions.

All the parameters for this function can be obtained by calling graphRepartition with the graph of the original matrix.

Parameters
origMatrixThe matrix on the original partitioning.
newMatrixAn empty matrix to store the new redistributed matrix in.
origCommThe parallel information of the original partitioning.
newCommThe parallel information of the new partitioning.
riThe remote index information between the original and the new partitioning. Upon exit of this method it will be prepared for copying from owner to owner vertices for data redistribution.
Template Parameters
MThe matrix type. It is assumed to be sparse. E.g. BCRSMatrix.
CThe type of the parallel information, see OwnerOverlapCopyCommunication.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (May 27, 22:36, 2026)