xref: /petsc/include/petscdmplextypes.h (revision 6a98f8dc3f2c9149905a87dc2e9d0fedaf64e09a)
1 #if !defined(PETSCDMPLEXTYPES_H)
2 #define PETSCDMPLEXTYPES_H
3 
4 /*S
5   DMPlexCellRefiner - Object encapsulating the refinement strategy for a DMPlex
6 
7   Level: developer
8 
9 .seealso:  DMPlexCellRefinerCreate(), DMType
10 S*/
11 typedef struct _p_DMPlexCellRefiner *DMPlexCellRefiner;
12 
13 
14 /*E
15   DMPlexCellRefinerType - This describes the strategy used to refine cells.
16 
17   Level: beginner
18 
19   The strategy gives a prescription for refining each cell type. Existing strategies include
20 $ DM_REFINER_REGULAR - Divide cells into smaller cells of the same type
21 $ DM_REFINER_TO_BOX - Divide all cells into box cells
22 $ DM_REFINER_TO_SIMPLEX - Divide all cells into simplices
23 
24 .seealso: DMPlexGetCellRefiner(), DMPlexSetCellRefiner(), DMRefine(), DMPolytopeType
25 E*/
26 typedef enum {DM_REFINER_REGULAR, DM_REFINER_TO_BOX, DM_REFINER_TO_SIMPLEX} DMPlexCellRefinerType;
27 PETSC_EXTERN const char * const DMPlexCellRefinerTypes[];
28 
29 #endif
30