Actual source code: ex31.c

  1: static char help[] = "Tests MAIJ matrix for large DOF\n\n";

  3: #include <petscdm.h>
  4: #include <petscdmda.h>

  6: int main(int argc, char *argv[])
  7: {
  8:   Mat M;
  9:   Vec x, y;
 10:   DM  da, daf;

 13:   PetscInitialize(&argc, &argv, 0, help);
 14:   DMDACreate2d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, DM_BOUNDARY_NONE, DMDA_STENCIL_STAR, 4, 5, PETSC_DECIDE, PETSC_DECIDE, 41, 1, 0, 0, &da);
 15:   DMSetFromOptions(da);
 16:   DMSetUp(da);
 17:   DMRefine(da, PETSC_COMM_WORLD, &daf);
 18:   DMCreateInterpolation(da, daf, &M, NULL);
 19:   DMCreateGlobalVector(da, &x);
 20:   DMCreateGlobalVector(daf, &y);

 22:   MatMult(M, x, y);
 23:   MatMultTranspose(M, y, x);
 24:   DMDestroy(&da);
 25:   DMDestroy(&daf);
 26:   VecDestroy(&x);
 27:   VecDestroy(&y);
 28:   MatDestroy(&M);
 29:   PetscFinalize();
 30:   return 0;
 31: }

 33: /*TEST

 35:    test:
 36:       nsize: 2

 38: TEST*/