xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision 9566063d113dddea24716c546802770db7481bc0)
1456774c4SMatthew G. Knepley static char help[] = "Tests DMClone() with DMComposite\n\n";
2456774c4SMatthew G. Knepley 
3456774c4SMatthew G. Knepley #include <petscdmcomposite.h>
4456774c4SMatthew G. Knepley #include <petscdmda.h>
5456774c4SMatthew G. Knepley 
6456774c4SMatthew G. Knepley int main(int argc,char **argv)
7456774c4SMatthew G. Knepley {
8456774c4SMatthew G. Knepley   DM             newdm, dm, dm1,dm2;
9456774c4SMatthew G. Knepley 
10456774c4SMatthew G. Knepley   PetscFunctionBeginUser;
11*9566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, 0, help));
12*9566063dSJacob Faibussowitsch   PetscCall(DMCompositeCreate(PETSC_COMM_WORLD, &dm));
13*9566063dSJacob Faibussowitsch   PetscCall(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1));
14*9566063dSJacob Faibussowitsch   PetscCall(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2));
15*9566063dSJacob Faibussowitsch   PetscCall(DMSetUp(dm1));
16*9566063dSJacob Faibussowitsch   PetscCall(DMSetUp(dm2));
17*9566063dSJacob Faibussowitsch   PetscCall(DMCompositeAddDM(dm, dm1));
18*9566063dSJacob Faibussowitsch   PetscCall(DMCompositeAddDM(dm, dm2));
19*9566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&dm1));
20*9566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&dm2));
21*9566063dSJacob Faibussowitsch   PetscCall(DMSetFromOptions(dm));
22*9566063dSJacob Faibussowitsch   PetscCall(DMSetUp(dm));
23*9566063dSJacob Faibussowitsch   PetscCall(DMClone(dm, &newdm));
24*9566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&dm));
25*9566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&newdm));
26*9566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
27b122ec5aSJacob Faibussowitsch   return 0;
28456774c4SMatthew G. Knepley }
29456774c4SMatthew G. Knepley 
30456774c4SMatthew G. Knepley /*TEST
31456774c4SMatthew G. Knepley 
32456774c4SMatthew G. Knepley   test:
33456774c4SMatthew G. Knepley     suffix: 0
34456774c4SMatthew G. Knepley 
35456774c4SMatthew G. Knepley TEST*/
36