xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision 5f80ce2ab25dff0f4601e710601cbbcecf323266)
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   PetscErrorCode ierr;
10456774c4SMatthew G. Knepley 
11456774c4SMatthew G. Knepley   PetscFunctionBeginUser;
12456774c4SMatthew G. Knepley   ierr = PetscInitialize(&argc, &argv, 0, help); if (ierr) return ierr;
13*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCompositeCreate(PETSC_COMM_WORLD, &dm));
14*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1));
15*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2));
16*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(dm1));
17*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(dm2));
18*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCompositeAddDM(dm, dm1));
19*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMCompositeAddDM(dm, dm2));
20*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&dm1));
21*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&dm2));
22*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetFromOptions(dm));
23*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMSetUp(dm));
24*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMClone(dm, &newdm));
25*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&dm));
26*5f80ce2aSJacob Faibussowitsch   CHKERRQ(DMDestroy(&newdm));
27456774c4SMatthew G. Knepley   ierr = PetscFinalize();
28456774c4SMatthew G. Knepley   return ierr;
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