xref: /petsc/src/dm/tests/ex31.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
1c4762a1bSJed Brown static char help[] = "Tests MAIJ matrix for large DOF\n\n";
2c4762a1bSJed Brown 
3c4762a1bSJed Brown #include <petscdm.h>
4c4762a1bSJed Brown #include <petscdmda.h>
5c4762a1bSJed Brown 
6c4762a1bSJed Brown int main(int argc,char *argv[])
7c4762a1bSJed Brown {
8c4762a1bSJed Brown   Mat            M;
9c4762a1bSJed Brown   Vec            x,y;
10c4762a1bSJed Brown   DM             da,daf;
11c4762a1bSJed Brown 
12*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscInitialize(&argc,&argv,0,help));
135f80ce2aSJacob Faibussowitsch   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));
145f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetFromOptions(da));
155f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(da));
165f80ce2aSJacob Faibussowitsch   CHKERRQ(DMRefine(da,PETSC_COMM_WORLD,&daf));
175f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCreateInterpolation(da,daf,&M,NULL));
185f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCreateGlobalVector(da,&x));
195f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCreateGlobalVector(daf,&y));
20c4762a1bSJed Brown 
215f80ce2aSJacob Faibussowitsch   CHKERRQ(MatMult(M,x,y));
225f80ce2aSJacob Faibussowitsch   CHKERRQ(MatMultTranspose(M,y,x));
235f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&da));
245f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&daf));
255f80ce2aSJacob Faibussowitsch   CHKERRQ(VecDestroy(&x));
265f80ce2aSJacob Faibussowitsch   CHKERRQ(VecDestroy(&y));
275f80ce2aSJacob Faibussowitsch   CHKERRQ(MatDestroy(&M));
28*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscFinalize());
29*b122ec5aSJacob Faibussowitsch   return 0;
30c4762a1bSJed Brown }
31c4762a1bSJed Brown 
32c4762a1bSJed Brown /*TEST
33c4762a1bSJed Brown 
34c4762a1bSJed Brown    test:
35c4762a1bSJed Brown       nsize: 2
36c4762a1bSJed Brown 
37c4762a1bSJed Brown TEST*/
38