xref: /petsc/src/dm/impls/plex/tests/ex65.c (revision b75c6efc21bfcba5897c8ca359bc3d0e82c122c1)
1 static const char help[] = "Tests for mesh transformation using only options";
2 
3 #include <petscdmplex.h>
4 
5 static PetscErrorCode CreateMesh(MPI_Comm comm, DM *dm)
6 {
7   PetscFunctionBegin;
8   PetscCall(DMCreate(comm, dm));
9   PetscCall(DMSetType(*dm, DMPLEX));
10   PetscCall(DMSetFromOptions(*dm));
11 
12   PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "phase_1_"));
13   PetscCall(DMSetFromOptions(*dm));
14   PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL));
15 
16   PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view"));
17   PetscFunctionReturn(PETSC_SUCCESS);
18 }
19 
20 int main(int argc, char **argv)
21 {
22   DM dm;
23 
24   PetscFunctionBeginUser;
25   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
26   PetscCall(CreateMesh(PETSC_COMM_WORLD, &dm));
27   PetscCall(DMDestroy(&dm));
28   PetscCall(PetscFinalize());
29   return 0;
30 }
31 
32 /*TEST
33 
34   # This verifies the correctness of an extruded coordinate space
35   test:
36     suffix: ext_coord_space
37     args: -dm_plex_dim 1 -dm_plex_box_faces 1 -phase_1_dm_extrude 1 -phase_1_dm_plex_transform_extrude_use_tensor 0 -cdm_dm_petscds_view
38 
39 TEST*/
40