xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision 609caa7c8c030312b00807b4f015fd827bb80932)
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 
main(int argc,char ** argv)6d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv)
7d71ae5a4SJacob Faibussowitsch {
8456774c4SMatthew G. Knepley   DM newdm, dm, dm1, dm2;
9456774c4SMatthew G. Knepley 
10456774c4SMatthew G. Knepley   PetscFunctionBeginUser;
11327415f7SBarry 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
35*3886731fSPierre Jolivet     output_file: output/empty.out
36456774c4SMatthew G. Knepley 
37456774c4SMatthew G. Knepley TEST*/
38