xref: /petsc/src/dm/impls/composite/tests/ex1.c (revision 456774c43eab0a1b97fc6a73d282c327a0320824)
1*456774c4SMatthew G. Knepley static char help[] = "Tests DMClone() with DMComposite\n\n";
2*456774c4SMatthew G. Knepley 
3*456774c4SMatthew G. Knepley #include <petscdmcomposite.h>
4*456774c4SMatthew G. Knepley #include <petscdmda.h>
5*456774c4SMatthew G. Knepley 
6*456774c4SMatthew G. Knepley int main(int argc,char **argv)
7*456774c4SMatthew G. Knepley {
8*456774c4SMatthew G. Knepley   DM             newdm, dm, dm1,dm2;
9*456774c4SMatthew G. Knepley   PetscErrorCode ierr;
10*456774c4SMatthew G. Knepley 
11*456774c4SMatthew G. Knepley   PetscFunctionBeginUser;
12*456774c4SMatthew G. Knepley   ierr = PetscInitialize(&argc, &argv, 0, help); if (ierr) return ierr;
13*456774c4SMatthew G. Knepley   ierr = DMCompositeCreate(PETSC_COMM_WORLD, &dm);CHKERRQ(ierr);
14*456774c4SMatthew G. Knepley   ierr = DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1);CHKERRQ(ierr);
15*456774c4SMatthew G. Knepley   ierr = DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2);CHKERRQ(ierr);
16*456774c4SMatthew G. Knepley   ierr = DMSetUp(dm1);CHKERRQ(ierr);
17*456774c4SMatthew G. Knepley   ierr = DMSetUp(dm2);CHKERRQ(ierr);
18*456774c4SMatthew G. Knepley   ierr = DMCompositeAddDM(dm, dm1);CHKERRQ(ierr);
19*456774c4SMatthew G. Knepley   ierr = DMCompositeAddDM(dm, dm2);CHKERRQ(ierr);
20*456774c4SMatthew G. Knepley   ierr = DMDestroy(&dm1);CHKERRQ(ierr);
21*456774c4SMatthew G. Knepley   ierr = DMDestroy(&dm2);CHKERRQ(ierr);
22*456774c4SMatthew G. Knepley   ierr = DMSetFromOptions(dm);CHKERRQ(ierr);
23*456774c4SMatthew G. Knepley   ierr = DMSetUp(dm);CHKERRQ(ierr);
24*456774c4SMatthew G. Knepley   ierr = DMClone(dm, &newdm);CHKERRQ(ierr);
25*456774c4SMatthew G. Knepley   ierr = DMDestroy(&dm);CHKERRQ(ierr);
26*456774c4SMatthew G. Knepley   ierr = DMDestroy(&newdm);CHKERRQ(ierr);
27*456774c4SMatthew G. Knepley   ierr = PetscFinalize();
28*456774c4SMatthew G. Knepley   return ierr;
29*456774c4SMatthew G. Knepley }
30*456774c4SMatthew G. Knepley 
31*456774c4SMatthew G. Knepley /*TEST
32*456774c4SMatthew G. Knepley 
33*456774c4SMatthew G. Knepley   test:
34*456774c4SMatthew G. Knepley     suffix: 0
35*456774c4SMatthew G. Knepley 
36*456774c4SMatthew G. Knepley TEST*/
37