diff --git a/opm/models/blackoil/blackoilintensivequantities.hh b/opm/models/blackoil/blackoilintensivequantities.hh index 27c452011..8c8135b9a 100644 --- a/opm/models/blackoil/blackoilintensivequantities.hh +++ b/opm/models/blackoil/blackoilintensivequantities.hh @@ -109,10 +109,20 @@ class BlackOilIntensiveQuantities using Toolbox = MathToolbox; using DimMatrix = Dune::FieldMatrix; using FluxIntensiveQuantities = typename FluxModule::FluxIntensiveQuantities; - using FluidState = BlackOilFluidState; using DiffusionIntensiveQuantities = BlackOilDiffusionIntensiveQuantities; public: + using FluidState = BlackOilFluidState; + using Problem = GetPropType; + BlackOilIntensiveQuantities() { if (compositionSwitchEnabled) { @@ -527,6 +537,12 @@ public: const Evaluation& porosity() const { return porosity_; } + /*! + * The pressure-dependent transmissibility multiplier due to rock compressibility. + */ + const Evaluation& rockCompTransMultiplier() const + { return rockCompTransMultiplier_; } + /*! * \brief Returns the index of the PVT region used to calculate the thermodynamic * quantities. @@ -578,6 +594,7 @@ private: FluidState fluidState_; Scalar referencePorosity_; Evaluation porosity_; + Evaluation rockCompTransMultiplier_; Evaluation mobility_[numPhases]; }; diff --git a/opm/models/blackoil/blackoilintensivequantitiessimple.hh b/opm/models/blackoil/blackoilintensivequantitiessimple.hh index 08eafb9f6..8f2975400 100644 --- a/opm/models/blackoil/blackoilintensivequantitiessimple.hh +++ b/opm/models/blackoil/blackoilintensivequantitiessimple.hh @@ -77,8 +77,7 @@ class BlackOilIntensiveQuantitiesSimple using Indices = GetPropType; using GridView = GetPropType; using FluxModule = GetPropType; - using Problem = GetPropType; - + enum { numEq = getPropValue() }; enum { enableSolvent = getPropValue() }; enum { enableExtbo = getPropValue() }; @@ -102,7 +101,6 @@ class BlackOilIntensiveQuantitiesSimple enum { dimWorld = GridView::dimensionworld }; enum { compositionSwitchIdx = Indices::compositionSwitchIdx }; - static const bool compositionSwitchEnabled = Indices::compositionSwitchIdx >= 0; static const bool waterEnabled = Indices::waterEnabled; static const bool gasEnabled = Indices::gasEnabled; @@ -115,7 +113,17 @@ class BlackOilIntensiveQuantitiesSimple using DiffusionIntensiveQuantities = BlackOilDiffusionIntensiveQuantities; public: - using FluidState = BlackOilFluidState; + using FluidState = BlackOilFluidState; + using Problem = GetPropType; + BlackOilIntensiveQuantitiesSimple() { if (compositionSwitchEnabled) { @@ -148,13 +156,13 @@ public: }else{ RsMax = 0.0; } - Scalar SoMax_org = problem.maxOilSaturation(globalSpaceIdx); + Scalar SoMax_org = problem.maxOilSaturation(globalSpaceIdx); //Scalar refPorosity = problem.porosity(elemCtx, dofIdx, timeIdx); Scalar refPorosity = problem.porosity(globalSpaceIdx, timeIdx); // Scalar rockCompressibility = problem.rockCompressibility(elemCtx, dofIdx, timeIdx); // Scalar rockRefPressure = problem.rockReferencePressure(elemCtx, dofIdx, timeIdx); - Scalar rockCompressibility = problem.rockCompressibility(globalSpaceIdx, timeIdx); - Scalar rockRefPressure = problem.rockReferencePressure(globalSpaceIdx, timeIdx); + Scalar rockCompressibility = problem.rockCompressibility(globalSpaceIdx); + Scalar rockRefPressure = problem.rockReferencePressure(globalSpaceIdx); //Scalar rockCompressibility = 0.0;//problem.rockCompressibility(elemCtx, dofIdx, timeIdx); //Scalar rockRefPressure = 0.0;//problem.rockReferencePressure(elemCtx, dofIdx, timeIdx); update_simple(//dofIdx, @@ -522,8 +530,12 @@ public: const Evaluation& porosity() const { return porosity_; } + /*! + * The pressure-dependent transmissibility multiplier due to rock compressibility. + */ const Evaluation& rockCompTransMultiplier() const - { return rockCompTransMultiplier_;} + { return rockCompTransMultiplier_; } + /*! * \brief Returns the index of the PVT region used to calculate the thermodynamic * quantities.