xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision 327415f76d85372a4417cf1aaa14db707d4d6c04)
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*327415f7SBarry Smith   PetscFunctionBeginUser;
129566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, 0, help));
139566063dSJacob Faibussowitsch   PetscCall(DMCompositeCreate(PETSC_COMM_WORLD, &dm));
149566063dSJacob Faibussowitsch   PetscCall(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1));
159566063dSJacob Faibussowitsch   PetscCall(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2));
169566063dSJacob Faibussowitsch   PetscCall(DMSetUp(dm1));
179566063dSJacob Faibussowitsch   PetscCall(DMSetUp(dm2));
189566063dSJacob Faibussowitsch   PetscCall(DMCompositeAddDM(dm, dm1));
199566063dSJacob Faibussowitsch   PetscCall(DMCompositeAddDM(dm, dm2));
209566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&dm1));
219566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&dm2));
229566063dSJacob Faibussowitsch   PetscCall(DMSetFromOptions(dm));
239566063dSJacob Faibussowitsch   PetscCall(DMSetUp(dm));
249566063dSJacob Faibussowitsch   PetscCall(DMClone(dm, &newdm));
259566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&dm));
269566063dSJacob Faibussowitsch   PetscCall(DMDestroy(&newdm));
279566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
28b122ec5aSJacob Faibussowitsch   return 0;
29456774c4SMatthew G. Knepley }
30456774c4SMatthew G. Knepley 
31456774c4SMatthew G. Knepley /*TEST
32456774c4SMatthew G. Knepley 
33456774c4SMatthew G. Knepley   test:
34456774c4SMatthew G. Knepley     suffix: 0
35456774c4SMatthew G. Knepley 
36456774c4SMatthew G. Knepley TEST*/
37