xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
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*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscInitialize(&argc, &argv, 0, help));
125f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCompositeCreate(PETSC_COMM_WORLD, &dm));
135f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1));
145f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2));
155f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(dm1));
165f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(dm2));
175f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCompositeAddDM(dm, dm1));
185f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCompositeAddDM(dm, dm2));
195f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&dm1));
205f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&dm2));
215f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetFromOptions(dm));
225f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(dm));
235f80ce2aSJacob Faibussowitsch   CHKERRQ(DMClone(dm, &newdm));
245f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&dm));
255f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&newdm));
26*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscFinalize());
27*b122ec5aSJacob 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