typedef enum {DM_BC_ESSENTIAL = 1, DM_BC_ESSENTIAL_FIELD = 5, DM_BC_NATURAL = 2, DM_BC_NATURAL_FIELD = 6, DM_BC_ESSENTIAL_BD_FIELD = 9, DM_BC_NATURAL_RIEMANN = 10} DMBoundaryConditionType;
DM_BC_ESSENTIAL - A Dirichlet condition using a function of the coordinates
DM_BC_ESSENTIAL_FIELD - A Dirichlet condition using a function of the coordinates and auxiliary field data
DM_BC_ESSENTIAL_BD_FIELD - A Dirichlet condition using a function of the coordinates, facet normal, and auxiliary field data
DM_BC_NATURAL - A Neumann condition using a function of the coordinates
DM_BC_NATURAL_FIELD - A Neumann condition using a function of the coordinates and auxiliary field data
DM_BC_NATURAL_RIEMANN - A flux condition which determines the state in ghost cellsThe user can check whether a boundary condition is essential using (type & DM_BC_ESSENTIAL), and similarly for natural conditions (type & DM_BC_NATURAL)