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