xref: /petsc/src/dm/tests/ex31.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
1 static char help[] = "Tests MAIJ matrix for large DOF\n\n";
2 
3 #include <petscdm.h>
4 #include <petscdmda.h>
5 
6 int main(int argc,char *argv[])
7 {
8   Mat            M;
9   Vec            x,y;
10   DM             da,daf;
11 
12   CHKERRQ(PetscInitialize(&argc,&argv,0,help));
13   CHKERRQ(DMDACreate2d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE,DMDA_STENCIL_STAR,4,5,PETSC_DECIDE,PETSC_DECIDE,41,1,0,0,&da));
14   CHKERRQ(DMSetFromOptions(da));
15   CHKERRQ(DMSetUp(da));
16   CHKERRQ(DMRefine(da,PETSC_COMM_WORLD,&daf));
17   CHKERRQ(DMCreateInterpolation(da,daf,&M,NULL));
18   CHKERRQ(DMCreateGlobalVector(da,&x));
19   CHKERRQ(DMCreateGlobalVector(daf,&y));
20 
21   CHKERRQ(MatMult(M,x,y));
22   CHKERRQ(MatMultTranspose(M,y,x));
23   CHKERRQ(DMDestroy(&da));
24   CHKERRQ(DMDestroy(&daf));
25   CHKERRQ(VecDestroy(&x));
26   CHKERRQ(VecDestroy(&y));
27   CHKERRQ(MatDestroy(&M));
28   CHKERRQ(PetscFinalize());
29   return 0;
30 }
31 
32 /*TEST
33 
34    test:
35       nsize: 2
36 
37 TEST*/
38