MatCreateRedundantMatrix#
Create redundant matrices and put them into processors of subcommunicators.
Synopsis#
#include "petscmat.h"
PetscErrorCode MatCreateRedundantMatrix(Mat mat, PetscInt nsubcomm, MPI_Comm subcomm, MatReuse reuse, Mat *matredundant)
Collective
Input Parameters#
mat - the matrix
nsubcomm - the number of subcommunicators (= number of redundant parallel or sequential matrices)
subcomm - MPI communicator split from the communicator where mat resides in (or
MPI_COMM_NULL
if nsubcomm is used)reuse - either
MAT_INITIAL_MATRIX
orMAT_REUSE_MATRIX
Output Parameter#
matredundant - redundant matrix
Notes#
MAT_REUSE_MATRIX
can only be used when the nonzero structure of the
original matrix has not changed from that last call to MatCreateRedundantMatrix()
.
This routine creates the duplicated matrices in the subcommunicators; you should NOT create them before calling it.
PetscSubcommCreate()
can be used to manage the creation of the subcomm but need not be.
See Also#
Matrices, Mat
, MatDestroy()
, PetscSubcommCreate()
, PetscSubcomm
Level#
advanced
Location#
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages