improve the API of the low-level blackoil PVT classes

- they are not concerned with fugacity anymore:
  - as a consequence, they are now more self contained:
    - they do not need to know the molar mass of each component anymore
    - they do not need to call methods of the other PVT classes
      anymore (that was only needed to be able to calculate the
      fugacity coefficients consistently.)
    - quite a few methods could be removed
- also, some methods where renamed for consistency.
This commit is contained in:
Andreas Lauser
2016-01-04 15:31:21 +01:00
parent 1a8d9a30c4
commit f1548f5c72
12 changed files with 338 additions and 873 deletions

View File

@@ -147,15 +147,9 @@ void ensurePvtApi(const OilPvt& oilPvt, const GasPvt& gasPvt, const WaterPvt& wa
tmp = waterPvt.density(/*regionIdx=*/0,
temperature,
pressure);
tmp = waterPvt.fugacityCoefficientOil(/*regionIdx=*/0,
temperature,
pressure);
tmp = waterPvt.fugacityCoefficientGas(/*regionIdx=*/0,
temperature,
pressure);
tmp = waterPvt.fugacityCoefficientWater(/*regionIdx=*/0,
temperature,
pressure);
tmp = waterPvt.formationVolumeFactor(/*regionIdx=*/0,
temperature,
pressure);
/////
// oil PVT API
@@ -181,21 +175,12 @@ void ensurePvtApi(const OilPvt& oilPvt, const GasPvt& gasPvt, const WaterPvt& wa
tmp = oilPvt.saturatedFormationVolumeFactor(/*regionIdx=*/0,
temperature,
pressure);
tmp = oilPvt.saturatedGasMassFraction(/*regionIdx=*/0,
temperature,
pressure);
tmp = oilPvt.saturatedGasMoleFraction(/*regionIdx=*/0,
temperature,
pressure);
tmp = oilPvt.fugacityCoefficientOil(/*regionIdx=*/0,
temperature,
pressure);
tmp = oilPvt.fugacityCoefficientGas(/*regionIdx=*/0,
temperature,
pressure);
tmp = oilPvt.fugacityCoefficientWater(/*regionIdx=*/0,
temperature,
pressure);
tmp = oilPvt.saturationPressure(/*regionIdx=*/0,
temperature,
Rs);
tmp = oilPvt.saturatedGasDissolutionFactor(/*regionIdx=*/0,
temperature,
pressure);
/////
// gas PVT API
@@ -208,6 +193,10 @@ void ensurePvtApi(const OilPvt& oilPvt, const GasPvt& gasPvt, const WaterPvt& wa
temperature,
pressure,
Rv);
tmp = gasPvt.formationVolumeFactor(/*regionIdx=*/0,
temperature,
pressure,
Rv);
tmp = gasPvt.saturatedViscosity(/*regionIdx=*/0,
temperature,
pressure);
@@ -217,26 +206,12 @@ void ensurePvtApi(const OilPvt& oilPvt, const GasPvt& gasPvt, const WaterPvt& wa
tmp = gasPvt.saturatedFormationVolumeFactor(/*regionIdx=*/0,
temperature,
pressure);
tmp = gasPvt.formationVolumeFactor(/*regionIdx=*/0,
temperature,
pressure,
Rv);
tmp = gasPvt.saturatedOilMassFraction(/*regionIdx=*/0,
temperature,
pressure);
tmp = gasPvt.saturatedOilMoleFraction(/*regionIdx=*/0,
temperature,
pressure);
tmp = gasPvt.fugacityCoefficientOil(/*regionIdx=*/0,
temperature,
pressure);
tmp = gasPvt.fugacityCoefficientGas(/*regionIdx=*/0,
temperature,
pressure);
tmp = gasPvt.fugacityCoefficientWater(/*regionIdx=*/0,
temperature,
pressure);
tmp = gasPvt.saturationPressure(/*regionIdx=*/0,
temperature,
Rv);
tmp = gasPvt.saturatedOilVaporizationFactor(/*regionIdx=*/0,
temperature,
pressure);
}
}
@@ -319,8 +294,8 @@ int main()
oilPvt.initFromDeck(deck, eclState);
waterPvt.initFromDeck(deck, eclState);
gasPvt.initEnd(&oilPvt);
oilPvt.initEnd(&gasPvt);
gasPvt.initEnd();
oilPvt.initEnd();
waterPvt.initEnd();
struct Foo;

View File

@@ -122,9 +122,6 @@ void ensureBlackoilApi()
dummy = FluidSystem::waterFormationVolumeFactor(temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::gasDissolutionFactor(temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::oilVaporizationFactor(temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::fugCoefficientInWater(FluidSystem::gasCompIdx, temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::fugCoefficientInGas(FluidSystem::gasCompIdx, temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::fugCoefficientInOil(FluidSystem::gasCompIdx, temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::oilSaturationPressure(temperature, Rs, /*regionIdx=*/0);
dummy = FluidSystem::saturatedOilGasMassFraction(temperature, pressure, /*regionIdx=*/0);
dummy = FluidSystem::saturatedOilGasMoleFraction(temperature, pressure, /*regionIdx=*/0);