1 #include <petsc/private/matimpl.h> /*I "petscmat.h" I*/ 2 3 PetscErrorCode MatDestroy_Dummy(Mat A) 4 { 5 PetscErrorCode ierr; 6 7 PetscFunctionBegin; 8 ierr = PetscObjectChangeTypeName((PetscObject)A,0);CHKERRQ(ierr); 9 PetscFunctionReturn(0); 10 } 11 12 /*MC 13 MATDUMMY - A matrix type to be used for reusing specific internal data structure. 14 15 Level: advanced 16 17 .seealso: Mat 18 19 M*/ 20 21 PETSC_EXTERN PetscErrorCode MatCreate_Dummy(Mat A) 22 { 23 PetscErrorCode ierr; 24 25 PetscFunctionBegin; 26 /* matrix ops */ 27 ierr = PetscMemzero(A->ops,sizeof(struct _MatOps));CHKERRQ(ierr); 28 A->ops->destroy = MatDestroy_Dummy; 29 30 /* special MATPREALLOCATOR functions */ 31 ierr = PetscObjectChangeTypeName((PetscObject)A,MATDUMMY);CHKERRQ(ierr); 32 PetscFunctionReturn(0); 33 } 34