1*86fe8405SMatthew G. Knepley #if !defined(_PETSCDMPLEXTYPES_H) 2*86fe8405SMatthew G. Knepley #define _PETSCDMPLEXTYPES_H 3*86fe8405SMatthew G. Knepley 4*86fe8405SMatthew G. Knepley /*E 5*86fe8405SMatthew G. Knepley DMPlexCellType - Common mesh celltypes 6*86fe8405SMatthew G. Knepley 7*86fe8405SMatthew G. Knepley Level: beginner 8*86fe8405SMatthew G. Knepley 9*86fe8405SMatthew G. Knepley Plex can handle any cell shape, but sometimes we have to determine things about a mesh that the user 10*86fe8405SMatthew G. Knepley does not specify, and for this we have to make assumptions about the mesh. One very common assumption 11*86fe8405SMatthew G. Knepley is that all cells in the mesh take a certain form. For example, in order to interpolate a mesh (create 12*86fe8405SMatthew G. Knepley edges and faces automatically) we might assume that all cells are simples, or are tensor product cells. 13*86fe8405SMatthew G. Knepley 14*86fe8405SMatthew G. Knepley .seealso: DMDASetBoundaryType(), DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDACreate() 15*86fe8405SMatthew G. Knepley E*/ 16*86fe8405SMatthew G. Knepley typedef enum {DM_PLEX_CELLTYPE_SIMPLEX, DM_PLEX_CELLTYPE_TENSOR, DM_PLEX_CELLTYPE_UNKNOWN} DMPlexCellType; 17*86fe8405SMatthew G. Knepley 18*86fe8405SMatthew G. Knepley #endif 19