12#ifndef DUMUX_DISCRETIZATION_FACECENTERED_STAGGERED_ELEMENT_BOUNDARY_TYPES_HH
13#define DUMUX_DISCRETIZATION_FACECENTERED_STAGGERED_ELEMENT_BOUNDARY_TYPES_HH
37 template<
class Problem,
class FVElementGeometry>
39 const typename FVElementGeometry::Element& element,
40 const FVElementGeometry& fvGeometry)
42 if (!fvGeometry.hasBoundaryScvf())
45 bcTypes_.resize(fvGeometry.numScvf());
50 for (
const auto& scvf : scvfs(fvGeometry))
54 bcTypes_[scvf.localIndex()] = problem.boundaryTypes(element, scvf);
This class stores an array of BoundaryTypes objects.
Definition facecentered/staggered/elementboundarytypes.hh:25
bool hasDirichlet_
Definition facecentered/staggered/elementboundarytypes.hh:87
std::vector< BoundaryTypes > bcTypes_
Definition facecentered/staggered/elementboundarytypes.hh:86
BTypes BoundaryTypes
Definition facecentered/staggered/elementboundarytypes.hh:27
bool hasNeumann() const
Returns whether the element potentially features a Neumann boundary segment.
Definition facecentered/staggered/elementboundarytypes.hh:72
bool hasDirichlet() const
Returns whether the element has a vertex which contains a Dirichlet value.
Definition facecentered/staggered/elementboundarytypes.hh:65
const BoundaryTypes & operator[](std::size_t i) const
Definition facecentered/staggered/elementboundarytypes.hh:79
bool hasNeumann_
Definition facecentered/staggered/elementboundarytypes.hh:88
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:38