25#ifndef DUMUX_MULTDOMAIN_FACET_CC_MPFA_O_LOCAL_SUBCONTROLENTITIES_HH
26#define DUMUX_MULTDOMAIN_FACET_CC_MPFA_O_LOCAL_SUBCONTROLENTITIES_HH
30#include <dune/common/fvector.hh>
44template<
class IvIndexSet,
class Scalar,
int dim,
int dimWorld>
70 template<
class MpfaHelper,
class FVElementGeometry,
class SubControlVolume,
class IndexMap>
72 const FVElementGeometry& fvGeometry,
73 const SubControlVolume& scv,
75 const IvIndexSet& indexSet,
76 const IndexMap& scvfGridToLocalIndexMap)
77 :
ParentType(helper, fvGeometry, scv, localIndex, indexSet)
80 const auto& nis = indexSet.nodalIndexSet();
81 for (
unsigned int dir = 0; dir <
myDimension; ++dir)
82 localScvfIndices_[dir] = scvfGridToLocalIndexMap.at(nis.gridScvfIndex(this->localDofIndex(), dir));
89 return localScvfIndices_[coordDir];
93 std::array<LocalIndexType, dim> localScvfIndices_;
103template<
class IvIndexSet >
116 using ParentType::ParentType;
128 template<
class SubControlVolumeFace >
135 , isInteriorBoundary_(true)
136 , coupledFacetLocalDofIndex_(coupledFacetLocalDof)
137 , neighborLocalScvIndices_(localScvIndices)
142 { assert(isInteriorBoundary_);
return coupledFacetLocalDofIndex_; }
152 bool isInteriorBoundary_{
false};
Class for the interaction volume-local sub-control volume used in the mpfa-o scheme.
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:43
typename IvIndexSet::LocalIndexType LocalIndexType
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:48
Class for the interaction volume-local sub-control volume face used in the mpfa-o scheme.
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:138
const ScvfNeighborLocalIndexSet & neighboringLocalScvIndices() const
Returns the local indices of the scvs neighboring this scvf.
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:176
typename IvIndexSet::GridIndexType GridIndexType
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:143
bool isDirichlet() const
states if this is scvf is on a Dirichlet boundary
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:179
typename IvIndexSet::ScvfNeighborLocalIndexSet ScvfNeighborLocalIndexSet
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:139
typename IvIndexSet::LocalIndexType LocalIndexType
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:144
Class for the interaction volume-local sub-control volume used in the mpfa-o scheme in the context of...
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:47
static constexpr int myDimension
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:55
CCMpfaOFacetCouplingInteractionVolumeLocalScv(const MpfaHelper &helper, const FVElementGeometry &fvGeometry, const SubControlVolume &scv, const LocalIndexType localIndex, const IvIndexSet &indexSet, const IndexMap &scvfGridToLocalIndexMap)
The constructor.
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:71
LocalIndexType localScvfIndex(unsigned int coordDir) const
iv-local index of the coordir's scvf in this scv
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:86
CCMpfaOFacetCouplingInteractionVolumeLocalScv()=default
The default constructor.
Class for the interaction volume-local sub-control volume face used in the mpfa-o scheme in the conte...
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:106
bool isOnInteriorBoundary() const
Returns true if this face is on an interior boundary.
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:149
CCMpfaOFacetCouplingInteractionVolumeLocalScvf(const SubControlVolumeFace &scvf, const ScvfNeighborLocalIndexSet &localScvIndices, const LocalIndexType localDofIdx, const bool isDirichlet, const LocalIndexType coupledFacetLocalDof)
The constructor for interior boundary faces.
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:129
LocalIndexType coupledFacetLocalDofIndex() const
Returns the iv-local dof index of the coupled facet element.
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:141
const ScvfNeighborLocalIndexSet & neighboringLocalScvIndices() const
Returns the local indices of the scvs neighboring this scvf.
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:145
typename IvIndexSet::ScvfNeighborLocalIndexSet ScvfNeighborLocalIndexSet
Definition: multidomain/facet/cellcentered/mpfa/localsubcontrolentities.hh:108
typename IvIndexSet::LocalIndexType LocalIndexType
Definition: discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh:144
Classes for sub control entities of the mpfa-o method.