xref: /petsc/src/dm/impls/plex/tests/ex2.c (revision 609caa7c8c030312b00807b4f015fd827bb80932)
112b8a6daSStefano Zampini static char help[] = "Benchmark DMPlexInterpolate.\n\n";
212b8a6daSStefano Zampini 
312b8a6daSStefano Zampini #include <petscdmplex.h>
412b8a6daSStefano Zampini 
main(int argc,char ** argv)512b8a6daSStefano Zampini int main(int argc, char **argv)
612b8a6daSStefano Zampini {
712b8a6daSStefano Zampini   DM            dm, dm2;
812b8a6daSStefano Zampini   PetscLogStage stage;
912b8a6daSStefano Zampini 
1012b8a6daSStefano Zampini   PetscFunctionBeginUser;
1112b8a6daSStefano Zampini   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
1212b8a6daSStefano Zampini   PetscCall(PetscLogStageRegister("Interpolate", &stage));
1312b8a6daSStefano Zampini 
1412b8a6daSStefano Zampini   PetscCall(DMCreate(PETSC_COMM_WORLD, &dm));
1512b8a6daSStefano Zampini   PetscCall(DMSetType(dm, DMPLEX));
1612b8a6daSStefano Zampini   PetscCall(DMSetFromOptions(dm));
1712b8a6daSStefano Zampini   PetscCall(DMViewFromOptions(dm, NULL, "-init_dm_view"));
1812b8a6daSStefano Zampini 
1912b8a6daSStefano Zampini   PetscCall(DMPlexUninterpolate(dm, &dm2));
2012b8a6daSStefano Zampini   PetscCall(DMDestroy(&dm));
2112b8a6daSStefano Zampini   dm = dm2;
2212b8a6daSStefano Zampini   PetscCall(DMViewFromOptions(dm, NULL, "-unint_dm_view"));
2312b8a6daSStefano Zampini 
2412b8a6daSStefano Zampini   PetscCall(PetscLogStagePush(stage));
2512b8a6daSStefano Zampini   PetscCall(DMPlexInterpolate(dm, &dm2));
2612b8a6daSStefano Zampini   PetscCall(PetscLogStagePop());
2712b8a6daSStefano Zampini 
2812b8a6daSStefano Zampini   PetscCall(DMViewFromOptions(dm2, NULL, "-interp_dm_view"));
2912b8a6daSStefano Zampini 
3012b8a6daSStefano Zampini   PetscCall(DMDestroy(&dm2));
3112b8a6daSStefano Zampini   PetscCall(DMDestroy(&dm));
3212b8a6daSStefano Zampini   PetscCall(PetscFinalize());
3312b8a6daSStefano Zampini   return 0;
3412b8a6daSStefano Zampini }
3512b8a6daSStefano Zampini 
3612b8a6daSStefano Zampini /*TEST
3712b8a6daSStefano Zampini 
3812b8a6daSStefano Zampini   test:
3912b8a6daSStefano Zampini     suffix: 0
4012b8a6daSStefano Zampini     args: -dm_plex_simplex 0
41*3886731fSPierre Jolivet     output_file: output/empty.out
4212b8a6daSStefano Zampini 
4312b8a6daSStefano Zampini TEST*/
44