From 160f20975b04f2a57f56b006ffaf18fd20d293b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A5rd=20Skaflestad?= Date: Tue, 2 Feb 2021 23:03:40 +0100 Subject: [PATCH] Support Block-Level Two-Phase Subsystem Kro Summary Output This commit adds support for calculating and reporting block-level values of the relative permeability of oil in the two-phase oil/gas and oil/water subsystems of a three-phase simulation run. These are activated through summary keywords BKROG and BKROW, respectively. --- ebos/ecloutputblackoilmodule.hh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ebos/ecloutputblackoilmodule.hh b/ebos/ecloutputblackoilmodule.hh index 2480d2184..73d7c3dc8 100644 --- a/ebos/ecloutputblackoilmodule.hh +++ b/ebos/ecloutputblackoilmodule.hh @@ -809,6 +809,16 @@ public: val.second = Opm::getValue(intQuants.relativePermeability(gasPhaseIdx)); else if (key.first == "BOKR" || key.first == "BKRO") val.second = Opm::getValue(intQuants.relativePermeability(oilPhaseIdx)); + else if (key.first == "BKROG") { + const auto& materialParams = problem.materialLawParams(elemCtx, dofIdx, /* timeIdx = */ 0); + const auto krog = MaterialLaw::template relpermOilInOilGasSystem(materialParams, fs); + val.second = Opm::getValue(krog); + } + else if (key.first == "BKROW") { + const auto& materialParams = problem.materialLawParams(elemCtx, dofIdx, /* timeIdx = */ 0); + const auto krow = MaterialLaw::template relpermOilInOilWaterSystem(materialParams, fs); + val.second = Opm::getValue(krow); + } else if (key.first == "BWPC") val.second = Opm::getValue(fs.pressure(oilPhaseIdx)) - Opm::getValue(fs.pressure(waterPhaseIdx)); else if (key.first == "BGPC")