1 static char help[] = "Benchmark DMPlexInterpolate.\n\n"; 2 3 #include <petscdmplex.h> 4 5 int main(int argc, char **argv) 6 { 7 DM dm, dm2; 8 PetscLogStage stage; 9 10 PetscFunctionBeginUser; 11 PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 12 PetscCall(PetscLogStageRegister("Interpolate", &stage)); 13 14 PetscCall(DMCreate(PETSC_COMM_WORLD, &dm)); 15 PetscCall(DMSetType(dm, DMPLEX)); 16 PetscCall(DMSetFromOptions(dm)); 17 PetscCall(DMViewFromOptions(dm, NULL, "-init_dm_view")); 18 19 PetscCall(DMPlexUninterpolate(dm, &dm2)); 20 PetscCall(DMDestroy(&dm)); 21 dm = dm2; 22 PetscCall(DMViewFromOptions(dm, NULL, "-unint_dm_view")); 23 24 PetscCall(PetscLogStagePush(stage)); 25 PetscCall(DMPlexInterpolate(dm, &dm2)); 26 PetscCall(PetscLogStagePop()); 27 28 PetscCall(DMViewFromOptions(dm2, NULL, "-interp_dm_view")); 29 30 PetscCall(DMDestroy(&dm2)); 31 PetscCall(DMDestroy(&dm)); 32 PetscCall(PetscFinalize()); 33 return 0; 34 } 35 36 /*TEST 37 38 test: 39 suffix: 0 40 args: -dm_plex_simplex 0 41 output_file: output/empty.out 42 43 TEST*/ 44