12#ifndef DUMUX_DISCRETIZATION_PQ1_LAGRANGE_DOF_HELPER_HH
13#define DUMUX_DISCRETIZATION_PQ1_LAGRANGE_DOF_HELPER_HH
15#include <dune/common/rangeutilities.hh>
16#include <dune/geometry/type.hh>
17#include <dune/geometry/referenceelements.hh>
30template<
class Gr
idView>
33 using Scalar =
typename GridView::ctype;
37 static constexpr auto dim = GridView::dimension;
42 return Dune::referenceElement<Scalar, dim>(type).size(iIdx, 1, dim);
48 return Dune::referenceElement<Scalar, dim>(type).subEntity(iIdx, 1, localDofIdx, dim);
55 template<
class ElemDisc,
class BoundaryFace>
58 return Dune::transformedRangeView(
61 auto localDofIdx = localDofIndexIntersection(elemDisc.element().type(), boundaryFace.intersectionIndex(), i);
62 return CVFE::LocalDof(
63 static_cast<LocalIndexType>(localDofIdx),
64 static_cast<GridIndexType>(Dumux::Experimental::FEDofHelper<GridView>::dofIndex(
65 elemDisc.gridGeometry().dofMapper(),
67 elemDisc.feLocalCoefficients().localKey(localDofIdx))),
68 static_cast<GridIndexType>(elemDisc.elementIndex())
Default Dof helper for finite-element discretizations providing dof-related utility functions....
Definition fedofhelper.hh:34
Helper class providing degree of freedom information for the PQ1 Lagrange basis. The pq1 basis uses v...
Definition pq1/dofhelper.hh:32
static auto localDofIndexIntersection(Dune::GeometryType type, unsigned int iIdx, unsigned int localDofIdx)
Local dof index of the localDofIdx-th dof on intersection with index iIdx.
Definition pq1/dofhelper.hh:46
static auto localDofsOnBoundaryFace(const ElemDisc &elemDisc, const BoundaryFace &boundaryFace)
Iterator range over all local dofs on a given boundary face. Overrides the less efficient default imp...
Definition pq1/dofhelper.hh:56
static auto numLocalDofsIntersection(Dune::GeometryType type, unsigned int iIdx)
Number of local dofs related to an intersection with index iIdx (vertex dofs only).
Definition pq1/dofhelper.hh:40
Default Dof helper for finite-element discretizations providing dof-related utility functions....
Class representing dofs on elements for control-volume finite element schemes.
typename GridView::IndexSet::IndexType GridIndex
Definition indextraits.hh:27
unsigned int LocalIndex
Definition indextraits.hh:28