From 0c6d29a3523ef71853b01aa4b32804e5ba84076f Mon Sep 17 00:00:00 2001 From: Tor Harald Sandve Date: Thu, 24 Nov 2022 08:27:55 +0100 Subject: [PATCH 1/4] adapt to primary variable refactoring --- opm/simulators/flow/BlackoilModelEbos.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/opm/simulators/flow/BlackoilModelEbos.hpp b/opm/simulators/flow/BlackoilModelEbos.hpp index 93faa6e78..8533026eb 100644 --- a/opm/simulators/flow/BlackoilModelEbos.hpp +++ b/opm/simulators/flow/BlackoilModelEbos.hpp @@ -462,14 +462,16 @@ namespace Opm { Scalar saturationsNew[FluidSystem::numPhases] = { 0.0 }; Scalar oilSaturationNew = 1.0; - if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx) && FluidSystem::numActivePhases() > 1) { + if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx) && + FluidSystem::numActivePhases() > 1 && + priVarsNew.primaryVarsMeaningWater() == PrimaryVariables::Sw) { saturationsNew[FluidSystem::waterPhaseIdx] = priVarsNew[Indices::waterSaturationIdx]; oilSaturationNew -= saturationsNew[FluidSystem::waterPhaseIdx]; } if (FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx) && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx) && - priVarsNew.primaryVarsMeaning() == PrimaryVariables::Sw_po_Sg) { + priVarsNew.primaryVarsMeaningGas() == PrimaryVariables::Sg) { assert(Indices::compositionSwitchIdx >= 0 ); saturationsNew[FluidSystem::gasPhaseIdx] = priVarsNew[Indices::compositionSwitchIdx]; oilSaturationNew -= saturationsNew[FluidSystem::gasPhaseIdx]; @@ -493,14 +495,12 @@ namespace Opm { resultDenom += pressureNew*pressureNew; if (FluidSystem::numActivePhases() > 1) { - if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx)) { + if (priVarsOld.primaryVarsMeaningWater() == PrimaryVariables::Sw) { saturationsOld[FluidSystem::waterPhaseIdx] = priVarsOld[Indices::waterSaturationIdx]; oilSaturationOld -= saturationsOld[FluidSystem::waterPhaseIdx]; } - if (FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx) && - FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx) && - priVarsOld.primaryVarsMeaning() == PrimaryVariables::Sw_po_Sg) + if (priVarsOld.primaryVarsMeaningGas() == PrimaryVariables::Sg) { assert(Indices::compositionSwitchIdx >= 0 ); saturationsOld[FluidSystem::gasPhaseIdx] = priVarsOld[Indices::compositionSwitchIdx]; From a190668800adedeb55b3a41c2d1d68816b4a0acd Mon Sep 17 00:00:00 2001 From: Tor Harald Sandve Date: Fri, 25 Nov 2022 09:29:38 +0100 Subject: [PATCH 2/4] adapt to rename of waterSaturationIdx -> waterSwitchIdx --- opm/simulators/flow/BlackoilModelEbos.hpp | 4 ++-- opm/simulators/wells/MultisegmentWellEval.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opm/simulators/flow/BlackoilModelEbos.hpp b/opm/simulators/flow/BlackoilModelEbos.hpp index 8533026eb..bcf164fa9 100644 --- a/opm/simulators/flow/BlackoilModelEbos.hpp +++ b/opm/simulators/flow/BlackoilModelEbos.hpp @@ -465,7 +465,7 @@ namespace Opm { if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx) && FluidSystem::numActivePhases() > 1 && priVarsNew.primaryVarsMeaningWater() == PrimaryVariables::Sw) { - saturationsNew[FluidSystem::waterPhaseIdx] = priVarsNew[Indices::waterSaturationIdx]; + saturationsNew[FluidSystem::waterPhaseIdx] = priVarsNew[Indices::waterSwitchIdx]; oilSaturationNew -= saturationsNew[FluidSystem::waterPhaseIdx]; } @@ -496,7 +496,7 @@ namespace Opm { if (FluidSystem::numActivePhases() > 1) { if (priVarsOld.primaryVarsMeaningWater() == PrimaryVariables::Sw) { - saturationsOld[FluidSystem::waterPhaseIdx] = priVarsOld[Indices::waterSaturationIdx]; + saturationsOld[FluidSystem::waterPhaseIdx] = priVarsOld[Indices::waterSwitchIdx]; oilSaturationOld -= saturationsOld[FluidSystem::waterPhaseIdx]; } diff --git a/opm/simulators/wells/MultisegmentWellEval.hpp b/opm/simulators/wells/MultisegmentWellEval.hpp index cb6006055..ff194749e 100644 --- a/opm/simulators/wells/MultisegmentWellEval.hpp +++ b/opm/simulators/wells/MultisegmentWellEval.hpp @@ -73,7 +73,7 @@ protected: // GFrac 2 1 -1000 -1000 -1000 // Spres 3 2 2 2 1 - static constexpr bool has_water = (Indices::waterSaturationIdx >= 0); + static constexpr bool has_water = (Indices::waterSwitchIdx >= 0); static constexpr bool has_gas = (Indices::compositionSwitchIdx >= 0); static constexpr bool has_oil = (Indices::numPhases - has_gas - has_water) > 0; From 22d27bdf5fcb07ae745fef847afa47a0813f57e0 Mon Sep 17 00:00:00 2001 From: Tor Harald Sandve Date: Fri, 25 Nov 2022 10:16:38 +0100 Subject: [PATCH 3/4] Adapt to change of enum to enum class for primary variable meaning --- opm/simulators/flow/BlackoilModelEbos.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/opm/simulators/flow/BlackoilModelEbos.hpp b/opm/simulators/flow/BlackoilModelEbos.hpp index bcf164fa9..989cf5bcc 100644 --- a/opm/simulators/flow/BlackoilModelEbos.hpp +++ b/opm/simulators/flow/BlackoilModelEbos.hpp @@ -464,14 +464,14 @@ namespace Opm { Scalar oilSaturationNew = 1.0; if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx) && FluidSystem::numActivePhases() > 1 && - priVarsNew.primaryVarsMeaningWater() == PrimaryVariables::Sw) { + priVarsNew.primaryVarsMeaningWater() == PrimaryVariables::PrimaryVarsMeaningWater::Sw) { saturationsNew[FluidSystem::waterPhaseIdx] = priVarsNew[Indices::waterSwitchIdx]; oilSaturationNew -= saturationsNew[FluidSystem::waterPhaseIdx]; } if (FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx) && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx) && - priVarsNew.primaryVarsMeaningGas() == PrimaryVariables::Sg) { + priVarsNew.primaryVarsMeaningGas() == PrimaryVariables::PrimaryVarsMeaningGas::Sg) { assert(Indices::compositionSwitchIdx >= 0 ); saturationsNew[FluidSystem::gasPhaseIdx] = priVarsNew[Indices::compositionSwitchIdx]; oilSaturationNew -= saturationsNew[FluidSystem::gasPhaseIdx]; @@ -495,12 +495,12 @@ namespace Opm { resultDenom += pressureNew*pressureNew; if (FluidSystem::numActivePhases() > 1) { - if (priVarsOld.primaryVarsMeaningWater() == PrimaryVariables::Sw) { + if (priVarsOld.primaryVarsMeaningWater() == PrimaryVariables::PrimaryVarsMeaningWater::Sw) { saturationsOld[FluidSystem::waterPhaseIdx] = priVarsOld[Indices::waterSwitchIdx]; oilSaturationOld -= saturationsOld[FluidSystem::waterPhaseIdx]; } - if (priVarsOld.primaryVarsMeaningGas() == PrimaryVariables::Sg) + if (priVarsOld.primaryVarsMeaningGas() == PrimaryVariables::PrimaryVarsMeaningGas::Sg) { assert(Indices::compositionSwitchIdx >= 0 ); saturationsOld[FluidSystem::gasPhaseIdx] = priVarsOld[Indices::compositionSwitchIdx]; From bdb82c2f3d4f17ab02518a0d1281c60a7017dbb3 Mon Sep 17 00:00:00 2001 From: Tor Harald Sandve Date: Fri, 25 Nov 2022 12:36:40 +0100 Subject: [PATCH 4/4] Rename PrimaryVarsMeaning{Water/Gas/Pressure/Brine} to {Water/Gas/Pressure/Brine}Meaning --- ebos/eclproblem.hh | 2 +- opm/simulators/flow/BlackoilModelEbos.hpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ebos/eclproblem.hh b/ebos/eclproblem.hh index 2707f5806..f6f6f481e 100644 --- a/ebos/eclproblem.hh +++ b/ebos/eclproblem.hh @@ -1738,7 +1738,7 @@ public: values[Indices::polymerMoleWeightIdx]= this->polymerMoleWeight_[globalDofIdx]; if constexpr (enableBrine) { - if (enableSaltPrecipitation && values.primaryVarsMeaningBrine() == PrimaryVariables::Sp) { + if (enableSaltPrecipitation && values.primaryVarsMeaningBrine() == PrimaryVariables::BrineMeaning::Sp) { values[Indices::saltConcentrationIdx] = initialFluidStates_[globalDofIdx].saltSaturation(); } else { diff --git a/opm/simulators/flow/BlackoilModelEbos.hpp b/opm/simulators/flow/BlackoilModelEbos.hpp index 989cf5bcc..db25ac5de 100644 --- a/opm/simulators/flow/BlackoilModelEbos.hpp +++ b/opm/simulators/flow/BlackoilModelEbos.hpp @@ -464,14 +464,14 @@ namespace Opm { Scalar oilSaturationNew = 1.0; if (FluidSystem::phaseIsActive(FluidSystem::waterPhaseIdx) && FluidSystem::numActivePhases() > 1 && - priVarsNew.primaryVarsMeaningWater() == PrimaryVariables::PrimaryVarsMeaningWater::Sw) { + priVarsNew.primaryVarsMeaningWater() == PrimaryVariables::WaterMeaning::Sw) { saturationsNew[FluidSystem::waterPhaseIdx] = priVarsNew[Indices::waterSwitchIdx]; oilSaturationNew -= saturationsNew[FluidSystem::waterPhaseIdx]; } if (FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx) && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx) && - priVarsNew.primaryVarsMeaningGas() == PrimaryVariables::PrimaryVarsMeaningGas::Sg) { + priVarsNew.primaryVarsMeaningGas() == PrimaryVariables::GasMeaning::Sg) { assert(Indices::compositionSwitchIdx >= 0 ); saturationsNew[FluidSystem::gasPhaseIdx] = priVarsNew[Indices::compositionSwitchIdx]; oilSaturationNew -= saturationsNew[FluidSystem::gasPhaseIdx]; @@ -495,12 +495,12 @@ namespace Opm { resultDenom += pressureNew*pressureNew; if (FluidSystem::numActivePhases() > 1) { - if (priVarsOld.primaryVarsMeaningWater() == PrimaryVariables::PrimaryVarsMeaningWater::Sw) { + if (priVarsOld.primaryVarsMeaningWater() == PrimaryVariables::WaterMeaning::Sw) { saturationsOld[FluidSystem::waterPhaseIdx] = priVarsOld[Indices::waterSwitchIdx]; oilSaturationOld -= saturationsOld[FluidSystem::waterPhaseIdx]; } - if (priVarsOld.primaryVarsMeaningGas() == PrimaryVariables::PrimaryVarsMeaningGas::Sg) + if (priVarsOld.primaryVarsMeaningGas() == PrimaryVariables::GasMeaning::Sg) { assert(Indices::compositionSwitchIdx >= 0 ); saturationsOld[FluidSystem::gasPhaseIdx] = priVarsOld[Indices::compositionSwitchIdx];