-- fixes for twophase relperm

This commit is contained in:
hnil
2023-06-28 13:09:04 +02:00
parent fdfbecc742
commit 3e7f74d384
2 changed files with 23 additions and 1 deletions

View File

@@ -125,6 +125,21 @@ public:
* \param params Parameters
* \param state The fluid state
*/
template <class ContainerT, class FluidState>
static Scalar relpermOilInOilGasSystem(const Params& params,
const FluidState& fluidState){
throw std::logic_error {
"relpermOilInOilGasSystem() is specific to three phases"
};
}
template <class ContainerT, class FluidState>
static Scalar relpermOilInOilWaterSystem(const Params& params,
const FluidState& fluidState){
throw std::logic_error {
"relpermOilInOilWaterSystem() is specific to three phases"
};
}
template <class ContainerT, class FluidState>
static void capillaryPressures(ContainerT& values,
const Params& params,
@@ -225,6 +240,13 @@ public:
params.gasOilParams().update(pcSwMdc, krwSw, krnSwMdc);
}
static Scalar trappedGasSaturation(const Params& params){
if(params.approach() == EclTwoPhaseApproach::GasOil)
return params.gasOilParams().SnTrapped();
if(params.approach() == EclTwoPhaseApproach::GasWater)
return params.gasWaterParams().SnTrapped();
return 0.0; // oil-water case
}
/*!
* \brief Capillary pressure between the gas and the non-wetting
* liquid (i.e., oil) phase.

View File

@@ -134,7 +134,7 @@ public:
serializer(*oilWaterParams_);
serializer(*gasWaterParams_);
}
void setSwl(Scalar val){}
private:
EclTwoPhaseApproach approach_;