petsc-3.13.6 2020-09-29
MatMPIAIJGetLocalMat
Creates a SeqAIJ from a MATMPIAIJ matrix by taking all its local rows and putting them into a sequential matrix with mlocal rows and n columns. Where mlocal is the row count obtained with MatGetLocalSize() and n is the global column count obtained with MatGetSize()
Synopsis
#include "petscmat.h"
PetscErrorCode MatMPIAIJGetLocalMat(Mat A,MatReuse scall,Mat *A_loc)
Not Collective
Input Parameters
Output Parameter
A_loc -the local sequential matrix generated
Notes
When the communicator associated with A has size 1 and MAT_INITIAL_MATRIX is requested, the matrix returned is the diagonal part of A.
If MAT_REUSE_MATRIX is requested with comm size 1, MatCopy(Adiag,*A_loc,SAME_NONZERO_PATTERN) is called.
This means that one can preallocate the proper sequential matrix first and then call this routine with MAT_REUSE_MATRIX to safely
modify the values of the returned A_loc.
See Also
MatGetOwnershipRange(), MatMPIAIJGetLocalMatCondensed()
Level
developer
Location
src/mat/impls/aij/mpi/mpiaij.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages