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