37            const auto& gridGeometry = problem.gridGeometry();
 
   38            scvBoundaryTypes.resize(gridGeometry.vertexMapper().size());
 
   40            for (std::size_t vIdx = 0; vIdx < scvBoundaryTypes.size(); vIdx++)
 
   41                scvBoundaryTypes[vIdx].setAllNeumann();
 
   43            auto fvGeometry = 
localView(gridGeometry);
 
   44            for (
const auto& element : elements(gridGeometry.gridView()))
 
   47                fvGeometry.bindElement(element);
 
   49                for (
const auto& scvf : scvfs(fvGeometry))
 
   54                    const auto bcTypes = problem.boundaryTypes(element, scvf);
 
   55                    if (!bcTypes.hasDirichlet())
 
   59                    const auto& scv = fvGeometry.scv(scvf.insideScvIdx());
 
   60                    for (
int pvIdx = 0; pvIdx < bcTypes.size(); ++pvIdx)
 
   61                        if (bcTypes.isDirichlet(pvIdx))
 
   62                            scvBoundaryTypes[scv.dofIndex()].setDirichlet(pvIdx);