diff --git a/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh b/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh index 32af446ad2a96ed62aeadc991d5cd6a2222e5ba8..144e7881fb81cad5e8b12ebd5c2195c0be1c2683 100644 --- a/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh +++ b/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh @@ -91,6 +91,8 @@ public: isOutside(isOut) {} }; + using GlobalLocalFaceDataPair = std::pair<const SubControlVolumeFace*, LocalFaceData>; + //! solves the local equation system for the computation of the transmissibilities template<typename GetTensorFunction> void solveLocalSystem(const GetTensorFunction& getTensor) @@ -104,10 +106,6 @@ public: const PositionVector& volVarsPositions() const { DUNE_THROW(Dune::NotImplemented, "Actual interaction volume implementation does not provide a volVarsPositions() method."); } - //! returns a list of global scvf indices that are connected to this interaction volume - const GlobalIndexSet& globalScvfs() const - { DUNE_THROW(Dune::NotImplemented, "Actual interaction volume implementation does not provide a globalScvfs() method."); } - //! returns the local index of an scvf in the IV and a boolean whether or not it is on the negative side of the local scvf (flux has to be inverted) LocalFaceData getLocalFaceData(const SubControlVolumeFace& scvf) const { DUNE_THROW(Dune::NotImplemented, "Actual interaction volume implementation does not provide a getLocalFaceData() method."); } @@ -128,6 +126,10 @@ public: assert(it != vector.end() && "could not find local index in the vector for the given global index!"); return std::distance(vector.begin(), it); } + + //! returns GlobalLocalFaceDataPair objects for the scvfs involved in this interaction volume + const std::vector<GlobalLocalFaceDataPair>& globalLocalScvfPairedData() const + { DUNE_THROW(Dune::NotImplemented, "Actual interaction volume implementation does not provide a globalLocalScvfPairedData() method."); } }; } // end namespace diff --git a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh index 444fc6a823bf5866652f14127c7957da6f390c29..73991700b7ae86df988dcd21ecf8c5476b41f66f 100644 --- a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh +++ b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh @@ -128,6 +128,7 @@ class CCMpfaOInteractionVolume : public CCMpfaInteractionVolumeBase<TypeTag, Tra using LocalScvfType = typename Traits::LocalScvfType; public: + using typename ParentType::GlobalLocalFaceDataPair; using typename ParentType::LocalIndexType; using typename ParentType::LocalIndexSet; using typename ParentType::LocalFaceData; @@ -135,9 +136,6 @@ public: using typename ParentType::PositionVector; using typename ParentType::Seed; - // structure to store global and local face data - using GlobalLocalFaceDataPair = std::pair<const SubControlVolumeFace*, LocalFaceData>; - CCMpfaOInteractionVolume(const Seed& seed, const Problem& problem, const FVElementGeometry& fvGeometry,