Thibault Bridel-Bertomeu <[email protected]> writes: > Sorry I wasn't clear I think. > I was thinking that for finite volume codes, you have two options: either > you use ghost cells that you fill up with the appropriate primitive state > for the boundary condition, or you directly enforce the boundary condition > at the face. > In the PetscFV examples, the DM_BC_NATURAL_RIEMANN type of boundary > condition with ghost cells is always used, but what about _not_ generating > the ghost cells and using a DM_BC_ESSENTIAL to enforce the boundary > condition directly at the face (or at the quadrature points on the face if > you will) ?
Essential boundary conditions change the function space in which you seek a solution. There is no dof at the face in an FV method, so how would you propose modifying the function space. Also, FV methods with higher than first order require a reconstruction (generally nonlinear) using neighbor cells to create a richer (usually piecewise linear) representation inside cells.
