24#ifndef DUMUX_DISCRETIZATION_FACECENTERED_STAGGERED_ELEMENT_BOUNDARY_TYPES_HH
25#define DUMUX_DISCRETIZATION_FACECENTERED_STAGGERED_ELEMENT_BOUNDARY_TYPES_HH
49 template<
class Problem,
class FVElementGeometry>
51 const typename FVElementGeometry::Element& element,
52 const FVElementGeometry& fvGeometry)
54 if (!fvGeometry.hasBoundaryScvf())
57 bcTypes_.resize(fvGeometry.numScvf());
62 for (
const auto& scvf : scvfs(fvGeometry))
66 bcTypes_[scvf.localIndex()] = problem.boundaryTypes(element, scvf);
This class stores an array of BoundaryTypes objects.
Definition: facecentered/staggered/elementboundarytypes.hh:37
bool hasDirichlet_
Definition: facecentered/staggered/elementboundarytypes.hh:99
std::vector< BoundaryTypes > bcTypes_
Definition: facecentered/staggered/elementboundarytypes.hh:98
BTypes BoundaryTypes
Definition: facecentered/staggered/elementboundarytypes.hh:39
bool hasNeumann() const
Returns whether the element potentially features a Neumann boundary segment.
Definition: facecentered/staggered/elementboundarytypes.hh:84
bool hasDirichlet() const
Returns whether the element has a vertex which contains a Dirichlet value.
Definition: facecentered/staggered/elementboundarytypes.hh:77
const BoundaryTypes & operator[](std::size_t i) const
Definition: facecentered/staggered/elementboundarytypes.hh:91
bool hasNeumann_
Definition: facecentered/staggered/elementboundarytypes.hh:100
void update(const Problem &problem, const typename FVElementGeometry::Element &element, const FVElementGeometry &fvGeometry)
Update the boundary types for all vertices of an element.
Definition: facecentered/staggered/elementboundarytypes.hh:50