From 7ef854f32fc7955e6b12079354fc1b8989b8ee9c Mon Sep 17 00:00:00 2001 From: Paul Egberts <56635911+plgbrts@users.noreply.github.com> Date: Thu, 5 Nov 2020 17:09:25 +0100 Subject: [PATCH] Two fixes 1) Corrected phaseIsActive with PhaseIdx argument instead of CompIdx argument in "subtraction of dissolved gas from oil phase and vapporized oil from gas phase". 2) Fix for well accumulation calculation in case oil is absent. --- opm/simulators/wells/StandardWell_impl.hpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/opm/simulators/wells/StandardWell_impl.hpp b/opm/simulators/wells/StandardWell_impl.hpp index 924cd63b7..7ffb54ae2 100644 --- a/opm/simulators/wells/StandardWell_impl.hpp +++ b/opm/simulators/wells/StandardWell_impl.hpp @@ -269,12 +269,10 @@ namespace Opm return primary_variables_evaluation_[SFrac]; } } - else if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx) && compIdx == Indices::canonicalToActiveComponentIndex(FluidSystem::waterCompIdx)) { - + else if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx)) { if (FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx) && compIdx == Indices::canonicalToActiveComponentIndex(FluidSystem::gasCompIdx)) { return primary_variables_evaluation_[GFrac]; } - return primary_variables_evaluation_[WFrac]; } // Oil or WATER fraction @@ -2092,7 +2090,7 @@ namespace Opm x = mix; // Subtract dissolved gas from oil phase and vapporized oil from gas phase - if (FluidSystem::phaseIsActive(FluidSystem::gasCompIdx) && FluidSystem::phaseIsActive(FluidSystem::oilCompIdx)) { + if (FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx) && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx)) { const unsigned gaspos = Indices::canonicalToActiveComponentIndex(FluidSystem::gasCompIdx); const unsigned oilpos = Indices::canonicalToActiveComponentIndex(FluidSystem::oilCompIdx); double rs = 0.0;