Support gas dissolution in water (Rsw)

- adapt to interface change in waterPvt()
- add gas + water + disgasw simulator

Note
- MSW is not supported
- EQUIL initialization is not supported
This commit is contained in:
Tor Harald Sandve
2022-11-24 14:32:41 +01:00
parent 3134bdedf9
commit 5854b8a7a1
26 changed files with 602 additions and 67 deletions

View File

@@ -62,6 +62,8 @@ public:
enum { enableEnergy = getPropValue<TypeTag, Properties::EnableEnergy>() };
enum { enableBrine = getPropValue<TypeTag, Properties::EnableBrine>() };
enum { enableEvaporation = getPropValue<TypeTag, Properties::EnableEvaporation>() };
enum { has_disgas_in_water = getPropValue<TypeTag, Properties::EnableDisgasInWater>() };
enum { enableSaltPrecipitation = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() };
static constexpr int numEq = BlackoilIndices::numEq;
@@ -77,6 +79,7 @@ public:
enableEvaporation,
enableBrine,
enableSaltPrecipitation,
has_disgas_in_water,
BlackoilIndices::numPhases>;
// Constructor

View File

@@ -79,7 +79,8 @@ protected:
int phaseIdx_() const
{
if (co2store_())
// If OIL is used to model brine the aquifer should do the same
if (co2store_() && FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx))
return FluidSystem::oilPhaseIdx;
return FluidSystem::waterPhaseIdx;