Actual source code: ex1.c

  1: static char help[] = "Tests DMClone() with DMComposite\n\n";

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

  6: int main(int argc, char **argv)
  7: {
  8:   DM newdm, dm, dm1, dm2;

 12:   PetscInitialize(&argc, &argv, 0, help);
 13:   DMCompositeCreate(PETSC_COMM_WORLD, &dm);
 14:   DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1);
 15:   DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2);
 16:   DMSetUp(dm1);
 17:   DMSetUp(dm2);
 18:   DMCompositeAddDM(dm, dm1);
 19:   DMCompositeAddDM(dm, dm2);
 20:   DMDestroy(&dm1);
 21:   DMDestroy(&dm2);
 22:   DMSetFromOptions(dm);
 23:   DMSetUp(dm);
 24:   DMClone(dm, &newdm);
 25:   DMDestroy(&dm);
 26:   DMDestroy(&newdm);
 27:   PetscFinalize();
 28:   return 0;
 29: }

 31: /*TEST

 33:   test:
 34:     suffix: 0

 36: TEST*/