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