xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
1 static char help[] = "Tests DMClone() with DMComposite\n\n";
2 
3 #include <petscdmcomposite.h>
4 #include <petscdmda.h>
5 
6 int main(int argc,char **argv)
7 {
8   DM             newdm, dm, dm1,dm2;
9 
10   PetscFunctionBeginUser;
11   CHKERRQ(PetscInitialize(&argc, &argv, 0, help));
12   CHKERRQ(DMCompositeCreate(PETSC_COMM_WORLD, &dm));
13   CHKERRQ(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1));
14   CHKERRQ(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2));
15   CHKERRQ(DMSetUp(dm1));
16   CHKERRQ(DMSetUp(dm2));
17   CHKERRQ(DMCompositeAddDM(dm, dm1));
18   CHKERRQ(DMCompositeAddDM(dm, dm2));
19   CHKERRQ(DMDestroy(&dm1));
20   CHKERRQ(DMDestroy(&dm2));
21   CHKERRQ(DMSetFromOptions(dm));
22   CHKERRQ(DMSetUp(dm));
23   CHKERRQ(DMClone(dm, &newdm));
24   CHKERRQ(DMDestroy(&dm));
25   CHKERRQ(DMDestroy(&newdm));
26   CHKERRQ(PetscFinalize());
27   return 0;
28 }
29 
30 /*TEST
31 
32   test:
33     suffix: 0
34 
35 TEST*/
36