diff --git a/src/mat/interface/matrix.c b/src/mat/interface/matrix.c index 2e0ce8c..f2dbbc0 100644 --- a/src/mat/interface/matrix.c +++ b/src/mat/interface/matrix.c @@ -7519,6 +7519,8 @@ PetscErrorCode MatGetSubMatrix(Mat mat,IS isrow,IS iscol,MatReuse cll,Mat *newm if (cll == MAT_INITIAL_MATRIX) { *newmat = mat; ierr = PetscObjectReference((PetscObject)mat);CHKERRQ(ierr); + } else { + ierr = MatCopy(mat,*newmat,SAME_NONZERO_PATTERN);CHKERRQ(ierr); } PetscFunctionReturn(0); }