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