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