xref: /petsc/src/dm/impls/plex/tests/ex50.c (revision 1b37a2a7cc4a4fb30c3e967db1c694c0a1013f51)
1 static char help[] = "Test global numbering\n\n";
2 
3 #include <petscdmplex.h>
4 #include <petscsf.h>
5 
6 int main(int argc, char **argv)
7 {
8   DM      dm;
9   IS      point_numbering, point_numbering_parallel;
10   PetscSF point_sf;
11 
12   PetscFunctionBeginUser;
13   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
14   PetscCall(DMCreate(PETSC_COMM_WORLD, &dm));
15   PetscCall(DMSetType(dm, DMPLEX));
16   PetscCall(DMSetFromOptions(dm));
17   PetscCall(DMViewFromOptions(dm, NULL, "-dm_view"));
18 
19   PetscCall(DMPlexCreatePointNumbering(dm, &point_numbering));
20   PetscCall(ISOnComm(point_numbering, PETSC_COMM_WORLD, PETSC_USE_POINTER, &point_numbering_parallel));
21   PetscCall(ISViewFromOptions(point_numbering_parallel, NULL, "-point_numbering_view"));
22   PetscCall(ISDestroy(&point_numbering_parallel));
23   PetscCall(ISDestroy(&point_numbering));
24 
25   PetscCall(DMGetPointSF(dm, &point_sf));
26   PetscCall(PetscSFViewFromOptions(point_sf, NULL, "-point_sf_view"));
27 
28   PetscCall(DMDestroy(&dm));
29   PetscCall(PetscFinalize());
30   return 0;
31 }
32 
33 /*TEST
34 
35   test:
36     nsize: 2
37     args: -dm_plex_simplex 0 -dm_plex_box_faces 2,2 -dm_view -point_numbering_view -petscpartitioner_type simple
38 TEST*/
39