diff --git a/test/multidomain/poromechanics/el1p/problem_poroelastic.hh b/test/multidomain/poromechanics/el1p/problem_poroelastic.hh index 1a3859fc11d322801ac019904ea6327cdb7acb80..2194719b9ede5ef33b9b0a7cd57ecd884b3bf3b3 100644 --- a/test/multidomain/poromechanics/el1p/problem_poroelastic.hh +++ b/test/multidomain/poromechanics/el1p/problem_poroelastic.hh @@ -138,11 +138,9 @@ public: Scalar effectiveFluidDensity(const Element& element, const SubControlVolume& scv) const { - // get context from coupling manager - // here, we know that the flow problem uses cell-centered finite volumes, - // thus, we simply take the volume variables of the element and return the density - const auto& context = couplingManager().poroMechanicsCouplingContext(); - return (*context.pmFlowElemVolVars)[scv.elementIndex()].density(); + // get porous medium flow volume variables from coupling manager + const auto pmFlowVolVars = couplingManager().getPMFlowVolVars(element); + return pmFlowVolVars.density(); } /*! @@ -154,12 +152,9 @@ public: const ElementVolumeVariables& elemVolVars, const FluxVarsCache& fluxVarsCache) const { - // get context from coupling manager - // here, we know that the flow problem uses cell-centered finite volumes, - // thus, we simply take the volume variables of the element and return the pressure - const auto& context = couplingManager().poroMechanicsCouplingContext(); - const auto eIdx = this->fvGridGeometry().elementMapper().index(element); - return (*context.pmFlowElemVolVars)[eIdx].pressure(); + // get porous medium flow volume variables from coupling manager + const auto pmFlowVolVars = couplingManager().getPMFlowVolVars(element); + return pmFlowVolVars.pressure(); } /*! diff --git a/test/multidomain/poromechanics/el2p/problem_poroelastic.hh b/test/multidomain/poromechanics/el2p/problem_poroelastic.hh index d4027b1500bf4b470bd98545dabc88527cc8715d..4034d3ea08b3a80cb050b4005996ee30a653f0fd 100644 --- a/test/multidomain/poromechanics/el2p/problem_poroelastic.hh +++ b/test/multidomain/poromechanics/el2p/problem_poroelastic.hh @@ -139,16 +139,13 @@ public: */ Scalar effectiveFluidDensity(const Element& element, const SubControlVolume& scv) const { - // get context from coupling manager - const auto& context = couplingManager().poroMechanicsCouplingContext(); - - // here, we know that the flow problem uses cell-centered finite volumes, thus, - // we simply take the volume variables of the scv (i.e. element) to obtain fluid properties - const auto& facetVolVars = (*context.pmFlowElemVolVars)[scv.elementIndex()]; - Scalar wPhaseDensity = facetVolVars.density(FluidSystem::phase0Idx); - Scalar nPhaseDensity = facetVolVars.density(FluidSystem::phase1Idx); - Scalar Sw = facetVolVars.saturation(FluidSystem::phase0Idx); - Scalar Sn = facetVolVars.saturation(FluidSystem::phase1Idx); + // get porous medium flow volume variables from coupling manager + const auto pmFlowVolVars = couplingManager().getPMFlowVolVars(element); + + Scalar wPhaseDensity = pmFlowVolVars.density(FluidSystem::phase0Idx); + Scalar nPhaseDensity = pmFlowVolVars.density(FluidSystem::phase1Idx); + Scalar Sw = pmFlowVolVars.saturation(FluidSystem::phase0Idx); + Scalar Sn = pmFlowVolVars.saturation(FluidSystem::phase1Idx); return (wPhaseDensity * Sw + nPhaseDensity * Sn); } @@ -161,17 +158,13 @@ public: const ElementVolumeVariables& elemVolVars, const FluxVarsCache& fluxVarsCache) const { - // get context from coupling manager - const auto& context = couplingManager().poroMechanicsCouplingContext(); - - // here, we know that the flow problem uses cell-centered finite volumes, thus, - // we simply take the volume variables of the element to obtain fluid properties - const auto eIdx = this->fvGridGeometry().elementMapper().index(element); - const auto& facetVolVars = (*context.pmFlowElemVolVars)[eIdx]; - Scalar pw = facetVolVars.pressure(FluidSystem::phase0Idx); - Scalar pn = facetVolVars.pressure(FluidSystem::phase1Idx); - Scalar Sw = facetVolVars.saturation(FluidSystem::phase0Idx); - Scalar Sn = facetVolVars.saturation(FluidSystem::phase1Idx); + // get porous medium flow volume variables from coupling manager + const auto pmFlowVolVars = couplingManager().getPMFlowVolVars(element); + + Scalar pw = pmFlowVolVars.pressure(FluidSystem::phase0Idx); + Scalar pn = pmFlowVolVars.pressure(FluidSystem::phase1Idx); + Scalar Sw = pmFlowVolVars.saturation(FluidSystem::phase0Idx); + Scalar Sn = pmFlowVolVars.saturation(FluidSystem::phase1Idx); return (pw * Sw + pn * Sn); }