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*9566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, 0, help)); 12*9566063dSJacob Faibussowitsch PetscCall(DMCompositeCreate(PETSC_COMM_WORLD, &dm)); 13*9566063dSJacob Faibussowitsch PetscCall(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm1)); 14*9566063dSJacob Faibussowitsch PetscCall(DMDACreate1d(PETSC_COMM_WORLD, DM_BOUNDARY_NONE, 100, 1, 1, NULL, &dm2)); 15*9566063dSJacob Faibussowitsch PetscCall(DMSetUp(dm1)); 16*9566063dSJacob Faibussowitsch PetscCall(DMSetUp(dm2)); 17*9566063dSJacob Faibussowitsch PetscCall(DMCompositeAddDM(dm, dm1)); 18*9566063dSJacob Faibussowitsch PetscCall(DMCompositeAddDM(dm, dm2)); 19*9566063dSJacob Faibussowitsch PetscCall(DMDestroy(&dm1)); 20*9566063dSJacob Faibussowitsch PetscCall(DMDestroy(&dm2)); 21*9566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dm)); 22*9566063dSJacob Faibussowitsch PetscCall(DMSetUp(dm)); 23*9566063dSJacob Faibussowitsch PetscCall(DMClone(dm, &newdm)); 24*9566063dSJacob Faibussowitsch PetscCall(DMDestroy(&dm)); 25*9566063dSJacob Faibussowitsch PetscCall(DMDestroy(&newdm)); 26*9566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 27b122ec5aSJacob 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