xref: /petsc/src/dm/impls/plex/tests/ex40.c (revision 30602db00db74b7e41a0c75e517aefe6711423f0)
1412e9a14SMatthew G. Knepley static const char help[] = "Tests for regular refinement";
2412e9a14SMatthew G. Knepley 
3412e9a14SMatthew G. Knepley #include <petscdmplex.h>
4412e9a14SMatthew G. Knepley #include <petscsf.h>
5412e9a14SMatthew G. Knepley 
6412e9a14SMatthew G. Knepley #include <petsc/private/dmpleximpl.h>
7412e9a14SMatthew G. Knepley 
8*30602db0SMatthew G. Knepley static PetscErrorCode CreateMesh(MPI_Comm comm, DM *dm)
9412e9a14SMatthew G. Knepley {
10412e9a14SMatthew G. Knepley   PetscErrorCode ierr;
11412e9a14SMatthew G. Knepley 
12412e9a14SMatthew G. Knepley   PetscFunctionBegin;
13*30602db0SMatthew G. Knepley   ierr = DMCreate(comm, dm);CHKERRQ(ierr);
14*30602db0SMatthew G. Knepley   ierr = DMSetType(*dm, DMPLEX);CHKERRQ(ierr);
15412e9a14SMatthew G. Knepley   ierr = DMSetFromOptions(*dm);CHKERRQ(ierr);
16412e9a14SMatthew G. Knepley   ierr = DMViewFromOptions(*dm, NULL, "-dm_view");CHKERRQ(ierr);
17412e9a14SMatthew G. Knepley   PetscFunctionReturn(0);
18412e9a14SMatthew G. Knepley }
19412e9a14SMatthew G. Knepley 
20412e9a14SMatthew G. Knepley int main(int argc, char **argv)
21412e9a14SMatthew G. Knepley {
22412e9a14SMatthew G. Knepley   DM             dm;
23412e9a14SMatthew G. Knepley   PetscErrorCode ierr;
24412e9a14SMatthew G. Knepley 
25412e9a14SMatthew G. Knepley   ierr = PetscInitialize(&argc, &argv, NULL, help); if (ierr) return ierr;
26*30602db0SMatthew G. Knepley   ierr = CreateMesh(PETSC_COMM_WORLD, &dm);CHKERRQ(ierr);
27412e9a14SMatthew G. Knepley   ierr = DMDestroy(&dm);CHKERRQ(ierr);
28412e9a14SMatthew G. Knepley   ierr = PetscFinalize();
29412e9a14SMatthew G. Knepley   return ierr;
30412e9a14SMatthew G. Knepley }
31412e9a14SMatthew G. Knepley 
32412e9a14SMatthew G. Knepley /*TEST
33412e9a14SMatthew G. Knepley   test:
34412e9a14SMatthew G. Knepley     suffix: ref_tri
35*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell triangle -dm_refine 2 -dm_plex_check_all
36412e9a14SMatthew G. Knepley 
37412e9a14SMatthew G. Knepley   test:
38412e9a14SMatthew G. Knepley     suffix: box_tri
3954fcfd0cSMatthew G. Knepley     requires: triangle
40412e9a14SMatthew G. Knepley     nsize: {{1 3 5}}
41*30602db0SMatthew G. Knepley     args: -dm_distribute -dm_plex_box_faces 3,3 -dm_refine 2 -dm_plex_check_all
42412e9a14SMatthew G. Knepley 
43412e9a14SMatthew G. Knepley   test:
44412e9a14SMatthew G. Knepley     suffix: ref_quad
45*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell quadrilateral -dm_refine 2 -dm_plex_check_all
46412e9a14SMatthew G. Knepley 
47412e9a14SMatthew G. Knepley   test:
48412e9a14SMatthew G. Knepley     suffix: box_quad
49412e9a14SMatthew G. Knepley     nsize: {{1 3 5}}
50*30602db0SMatthew G. Knepley     args: -dm_distribute -dm_plex_box_faces 3,3 -dm_plex_simplex 0 -dm_refine 2 -dm_plex_check_all
51412e9a14SMatthew G. Knepley 
52412e9a14SMatthew G. Knepley   test:
53412e9a14SMatthew G. Knepley     suffix: ref_tet
54*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell tetrahedron -dm_refine 2 -dm_plex_check_all
55412e9a14SMatthew G. Knepley 
56412e9a14SMatthew G. Knepley   test:
57412e9a14SMatthew G. Knepley     suffix: box_tet
5854fcfd0cSMatthew G. Knepley     requires: ctetgen
59412e9a14SMatthew G. Knepley     nsize: {{1 3 5}}
60*30602db0SMatthew G. Knepley     args: -dm_distribute -dm_plex_dim 3 -dm_plex_box_faces 3,3,3 -dm_refine 2 -dm_plex_check_all
61412e9a14SMatthew G. Knepley 
62412e9a14SMatthew G. Knepley   test:
63412e9a14SMatthew G. Knepley     suffix: ref_hex
64*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell hexahedron -dm_refine 2 -dm_plex_check_all
65412e9a14SMatthew G. Knepley 
66412e9a14SMatthew G. Knepley   test:
67412e9a14SMatthew G. Knepley     suffix: box_hex
68412e9a14SMatthew G. Knepley     nsize: {{1 3 5}}
69*30602db0SMatthew G. Knepley     args: -dm_distribute -dm_plex_dim 3 -dm_plex_box_faces 3,3,3 -dm_plex_simplex 0 -dm_refine 2 -dm_plex_check_all
70412e9a14SMatthew G. Knepley 
71412e9a14SMatthew G. Knepley   test:
72412e9a14SMatthew G. Knepley     suffix: ref_trip
73*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell triangular_prism -dm_refine 2 -dm_plex_check_all
74412e9a14SMatthew G. Knepley 
75412e9a14SMatthew G. Knepley   test:
76412e9a14SMatthew G. Knepley     suffix: ref_tquad
77*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell tensor_quad -dm_refine 2 -dm_plex_check_all
78412e9a14SMatthew G. Knepley 
79412e9a14SMatthew G. Knepley   test:
80412e9a14SMatthew G. Knepley     suffix: ref_ttrip
81*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell tensor_triangular_prism -dm_refine 2 -dm_plex_check_all
82412e9a14SMatthew G. Knepley 
83412e9a14SMatthew G. Knepley   test:
84412e9a14SMatthew G. Knepley     suffix: ref_tquadp
85*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell tensor_quadrilateral_prism -dm_refine 2 -dm_plex_check_all
86412e9a14SMatthew G. Knepley 
87412e9a14SMatthew G. Knepley   test:
8896ca5757SLisandro Dalcin     suffix: ref_tri_tobox
89*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell triangle -dm_plex_cell_refiner tobox -dm_coord_space 0 -dm_refine 2 -dm_plex_check_all
90412e9a14SMatthew G. Knepley 
91412e9a14SMatthew G. Knepley   test:
9296ca5757SLisandro Dalcin     suffix: box_tri_tobox
9354fcfd0cSMatthew G. Knepley     requires: triangle
94412e9a14SMatthew G. Knepley     nsize: {{1 3 5}}
95*30602db0SMatthew G. Knepley     args: -dm_distribute -dm_plex_box_faces 3,3 -dm_plex_cell_refiner tobox -dm_coord_space 0 -dm_refine 2 -dm_plex_check_all
96412e9a14SMatthew G. Knepley 
97412e9a14SMatthew G. Knepley   test:
9896ca5757SLisandro Dalcin     suffix: ref_tet_tobox
99*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell tetrahedron -dm_plex_cell_refiner tobox -dm_coord_space 0 -dm_refine 2 -dm_plex_check_all
100412e9a14SMatthew G. Knepley 
101412e9a14SMatthew G. Knepley   test:
10296ca5757SLisandro Dalcin     suffix: box_tet_tobox
10354fcfd0cSMatthew G. Knepley     requires: ctetgen
104412e9a14SMatthew G. Knepley     nsize: {{1 3 5}}
105*30602db0SMatthew G. Knepley     args: -dm_distribute -dm_plex_dim 3 -dm_plex_box_faces 3,3,3 -dm_plex_cell_refiner tobox -dm_coord_space 0 -dm_refine 2 -dm_plex_check_all
106412e9a14SMatthew G. Knepley 
107412e9a14SMatthew G. Knepley   test:
10896ca5757SLisandro Dalcin     suffix: ref_trip_tobox
109*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell triangular_prism -dm_plex_cell_refiner tobox -dm_coord_space 0 -dm_refine 2 -dm_plex_check_all
110412e9a14SMatthew G. Knepley 
111412e9a14SMatthew G. Knepley   test:
11296ca5757SLisandro Dalcin     suffix: ref_ttrip_tobox
113*30602db0SMatthew G. Knepley     args: -dm_plex_reference_cell_domain -dm_plex_cell tensor_triangular_prism -dm_plex_cell_refiner tobox -dm_coord_space 0 -dm_refine 2 -dm_plex_check_all
114412e9a14SMatthew G. Knepley 
115412e9a14SMatthew G. Knepley TEST*/
116