25#ifndef DUMUX_FACET_COUPLING_BOX_ELEMENT_BOUNDARY_TYPES_HH
26#define DUMUX_FACET_COUPLING_BOX_ELEMENT_BOUNDARY_TYPES_HH
57 template<
class Problem,
class Element,
class FVElementGeometry>
59 const Element &element,
60 const FVElementGeometry &fvGeometry)
62 using GridGeometry =
typename FVElementGeometry::GridGeometry;
63 using GridView =
typename GridGeometry::GridView;
65 this->
vertexBCTypes_.resize( element.subEntities(GridView::dimension) );
71 for (
const auto& scv : scvs(fvGeometry))
73 int scvIdxLocal = scv.localDofIndex();
77 auto updateElemBCInfo = [&] (
const BTypes& bcTypes)
85 if (fvGeometry.gridGeometry().dofOnInteriorBoundary(scv.dofIndex()))
92 else if (fvGeometry.gridGeometry().dofOnBoundary(scv.dofIndex()))
94 this->
vertexBCTypes_[scvIdxLocal] = problem.boundaryTypes(element, scv);
This class stores an array of BoundaryTypes objects.
Definition: discretization/box/elementboundarytypes.hh:38
std::vector< BoundaryTypes > vertexBCTypes_
Definition: discretization/box/elementboundarytypes.hh:112
bool hasDirichlet_
Definition: discretization/box/elementboundarytypes.hh:113
bool hasNeumann_
Definition: discretization/box/elementboundarytypes.hh:114
bool hasOutflow_
Definition: discretization/box/elementboundarytypes.hh:115
This class stores an array of BoundaryTypes objects on an element for the box scheme with coupling oc...
Definition: multidomain/facet/box/elementboundarytypes.hh:43
void update(const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry)
Update the boundary types for all vertices of an element.
Definition: multidomain/facet/box/elementboundarytypes.hh:58
Boundary types gathered on an element.