xref: /petsc/src/mat/impls/dummy/matdummy.c (revision f68bb481de4de88a867672d6fe8dbc10d33b4a06)
1a3b2e22bSHong Zhang #include <petsc/private/matimpl.h>      /*I "petscmat.h" I*/
216b64355SHong Zhang #include <../src/mat/impls/aij/seq/aij.h>
316b64355SHong Zhang 
4*f68bb481SHong Zhang PetscErrorCode MatDestroySubMatrix_Dummy(Mat C)
516b64355SHong Zhang {
616b64355SHong Zhang   PetscErrorCode ierr;
75c39f6d9SHong Zhang   Mat_SubSppt    *submatj = (Mat_SubSppt*)C->data;
816b64355SHong Zhang 
916b64355SHong Zhang   PetscFunctionBegin;
1016b64355SHong Zhang   ierr = submatj->destroy(C);CHKERRQ(ierr);
11*f68bb481SHong Zhang   ierr = MatDestroySubMatrix_Private(submatj);CHKERRQ(ierr);
1216b64355SHong Zhang   PetscFunctionReturn(0);
1316b64355SHong Zhang }
14a3b2e22bSHong Zhang 
15a3b2e22bSHong Zhang PetscErrorCode MatDestroy_Dummy(Mat A)
16a3b2e22bSHong Zhang {
17a3b2e22bSHong Zhang   PetscErrorCode ierr;
18a3b2e22bSHong Zhang 
19a3b2e22bSHong Zhang   PetscFunctionBegin;
20a3b2e22bSHong Zhang   ierr = PetscObjectChangeTypeName((PetscObject)A,0);CHKERRQ(ierr);
21a3b2e22bSHong Zhang   PetscFunctionReturn(0);
22a3b2e22bSHong Zhang }
23a3b2e22bSHong Zhang 
24a3b2e22bSHong Zhang /*MC
25a3b2e22bSHong Zhang    MATDUMMY - A matrix type to be used for reusing specific internal data structure.
26a3b2e22bSHong Zhang 
27a3b2e22bSHong Zhang   Level: advanced
28a3b2e22bSHong Zhang 
29a3b2e22bSHong Zhang .seealso: Mat
30a3b2e22bSHong Zhang 
31a3b2e22bSHong Zhang M*/
32a3b2e22bSHong Zhang 
33a3b2e22bSHong Zhang PETSC_EXTERN PetscErrorCode MatCreate_Dummy(Mat A)
34a3b2e22bSHong Zhang {
35a3b2e22bSHong Zhang   PetscErrorCode    ierr;
36a3b2e22bSHong Zhang 
37a3b2e22bSHong Zhang   PetscFunctionBegin;
38a3b2e22bSHong Zhang   /* matrix ops */
39a3b2e22bSHong Zhang   ierr = PetscMemzero(A->ops,sizeof(struct _MatOps));CHKERRQ(ierr);
40a3b2e22bSHong Zhang   A->ops->destroy = MatDestroy_Dummy;
41a3b2e22bSHong Zhang 
42a3b2e22bSHong Zhang   /* special MATPREALLOCATOR functions */
43a3b2e22bSHong Zhang   ierr = PetscObjectChangeTypeName((PetscObject)A,MATDUMMY);CHKERRQ(ierr);
44a3b2e22bSHong Zhang   PetscFunctionReturn(0);
45a3b2e22bSHong Zhang }
46