From 1342b47f63182c93ce8ac24821c59b37e8ec4659 Mon Sep 17 00:00:00 2001 From: Joakim Hove Date: Thu, 28 Oct 2021 11:15:57 +0200 Subject: [PATCH] Calculate GLIR from liquid rates and fraction Gas / Liquid --- src/opm/output/eclipse/Summary.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/opm/output/eclipse/Summary.cpp b/src/opm/output/eclipse/Summary.cpp index 41686bdd9..178d98ee1 100644 --- a/src/opm/output/eclipse/Summary.cpp +++ b/src/opm/output/eclipse/Summary.cpp @@ -635,12 +635,18 @@ inline quantity glir( const fn_args& args ) { } const auto thisAlqType = alq_type(sched_state, production.vfp_table_number); - if (thisAlqType != Opm::VFPProdTable::ALQ_TYPE::ALQ_GRAT) { - continue; + if (thisAlqType == Opm::VFPProdTable::ALQ_TYPE::ALQ_GRAT) { + const double eff_fac = efac(args.eff_factors, well->name()); + alq_rate += eff_fac * xwPos->second.rates.get(rt::alq, production.alq_value); } - const double eff_fac = efac(args.eff_factors, well->name()); - alq_rate += eff_fac * xwPos->second.rates.get(rt::alq, production.alq_value); + if (thisAlqType == Opm::VFPProdTable::ALQ_TYPE::ALQ_IGLR) { + const double eff_fac = efac(args.eff_factors, well->name()); + auto glr = production.alq_value; + auto wpr = xwPos->second.rates.get(rt::wat); + auto opr = xwPos->second.rates.get(rt::oil); + alq_rate += eff_fac * glr * (wpr + opr); + } } return { alq_rate, measure::gas_surface_rate };