49 const auto& gridGeometry = problem.gridGeometry();
50 scvBoundaryTypes.resize(gridGeometry.vertexMapper().size());
52 for (std::size_t vIdx = 0; vIdx < scvBoundaryTypes.size(); vIdx++)
53 scvBoundaryTypes[vIdx].setAllNeumann();
55 for (
const auto& element : elements(gridGeometry.gridView()))
58 auto fvGeometry =
localView(gridGeometry);
59 fvGeometry.bindElement(element);
61 for (
const auto& scvf : scvfs(fvGeometry))
66 const auto bcTypes = problem.boundaryTypes(element, scvf);
67 if (!bcTypes.hasDirichlet())
71 const auto& scv = fvGeometry.scv(scvf.insideScvIdx());
72 for (
int pvIdx = 0; pvIdx < bcTypes.size(); ++pvIdx)
73 if (bcTypes.isDirichlet(pvIdx))
74 scvBoundaryTypes[scv.dofIndex()].setDirichlet(pvIdx);