From 0fad30d7cbfe34461a8a0443fc28489052746801 Mon Sep 17 00:00:00 2001 From: Tor Harald Sandve Date: Tue, 29 Aug 2023 12:39:46 +0200 Subject: [PATCH] Fix three phase check in waghystr model. Also check for oil phase --- .../EclHysteresisTwoPhaseLawParams.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/opm/material/fluidmatrixinteractions/EclHysteresisTwoPhaseLawParams.hpp b/opm/material/fluidmatrixinteractions/EclHysteresisTwoPhaseLawParams.hpp index a35c54f82..e84b54e47 100644 --- a/opm/material/fluidmatrixinteractions/EclHysteresisTwoPhaseLawParams.hpp +++ b/opm/material/fluidmatrixinteractions/EclHysteresisTwoPhaseLawParams.hpp @@ -558,7 +558,9 @@ public: if (swatImbStartNxt_ < 0.0) { // Initial check ... swatImbStartNxt_ = std::max(Swco_, Swco_ + krnSw - krwSw); - if (swatImbStartNxt_ > Swco_ + tolWAG_) { + // check if we are in threephase state sw > swco + tolWag and so > tolWag + // (sw = swco + krnSw - krwSw and so = krwSw for oil/gas params) + if ( (swatImbStartNxt_ > Swco_ + tolWAG_) && krwSw > tolWAG_) { swatImbStart_ = swatImbStartNxt_; krnSwWAG_ = krnSw; krnSwDrainStartNxt_ = krnSwWAG_;