fixed: enum member in EclMultiplexerApproach clashes with EclTwoPhaseApproach enum
fix by converting both to enum class
This commit is contained in:
@@ -449,8 +449,8 @@ public:
|
||||
|
||||
// change the sat table it points to.
|
||||
switch (mlp.approach()) {
|
||||
case EclStone1Approach: {
|
||||
auto& realParams = mlp.template getRealParams<Opm::EclStone1Approach>();
|
||||
case EclMultiplexerApproach::EclStone1Approach: {
|
||||
auto& realParams = mlp.template getRealParams<EclMultiplexerApproach::EclStone1Approach>();
|
||||
|
||||
realParams.oilWaterParams().drainageParams().setUnscaledPoints(oilWaterUnscaledPointsVector_[satRegionIdx]);
|
||||
realParams.oilWaterParams().drainageParams().setEffectiveLawParams(oilWaterEffectiveParamVector_[satRegionIdx]);
|
||||
@@ -465,8 +465,8 @@ public:
|
||||
}
|
||||
break;
|
||||
|
||||
case EclStone2Approach: {
|
||||
auto& realParams = mlp.template getRealParams<Opm::EclStone2Approach>();
|
||||
case EclMultiplexerApproach::EclStone2Approach: {
|
||||
auto& realParams = mlp.template getRealParams<EclMultiplexerApproach::EclStone2Approach>();
|
||||
realParams.oilWaterParams().drainageParams().setUnscaledPoints(oilWaterUnscaledPointsVector_[satRegionIdx]);
|
||||
realParams.oilWaterParams().drainageParams().setEffectiveLawParams(oilWaterEffectiveParamVector_[satRegionIdx]);
|
||||
realParams.gasOilParams().drainageParams().setUnscaledPoints(gasOilUnscaledPointsVector_[satRegionIdx]);
|
||||
@@ -480,8 +480,8 @@ public:
|
||||
}
|
||||
break;
|
||||
|
||||
case EclDefaultApproach: {
|
||||
auto& realParams = mlp.template getRealParams<Opm::EclDefaultApproach>();
|
||||
case EclMultiplexerApproach::EclDefaultApproach: {
|
||||
auto& realParams = mlp.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>();
|
||||
realParams.oilWaterParams().drainageParams().setUnscaledPoints(oilWaterUnscaledPointsVector_[satRegionIdx]);
|
||||
realParams.oilWaterParams().drainageParams().setEffectiveLawParams(oilWaterEffectiveParamVector_[satRegionIdx]);
|
||||
realParams.gasOilParams().drainageParams().setUnscaledPoints(gasOilUnscaledPointsVector_[satRegionIdx]);
|
||||
@@ -495,8 +495,8 @@ public:
|
||||
}
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach: {
|
||||
auto& realParams = mlp.template getRealParams<Opm::EclTwoPhaseApproach>();
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach: {
|
||||
auto& realParams = mlp.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>();
|
||||
realParams.oilWaterParams().drainageParams().setUnscaledPoints(oilWaterUnscaledPointsVector_[satRegionIdx]);
|
||||
realParams.oilWaterParams().drainageParams().setEffectiveLawParams(oilWaterEffectiveParamVector_[satRegionIdx]);
|
||||
realParams.gasOilParams().drainageParams().setUnscaledPoints(gasOilUnscaledPointsVector_[satRegionIdx]);
|
||||
@@ -587,23 +587,23 @@ public:
|
||||
{
|
||||
auto& materialParams = *materialLawParams_[elemIdx];
|
||||
switch (materialParams.approach()) {
|
||||
case EclStone1Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclStone1Approach>();
|
||||
case EclMultiplexerApproach::EclStone1Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclStone1Approach>();
|
||||
return realParams.oilWaterParams().drainageParams().scaledPoints();
|
||||
}
|
||||
|
||||
case EclStone2Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclStone2Approach>();
|
||||
case EclMultiplexerApproach::EclStone2Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclStone2Approach>();
|
||||
return realParams.oilWaterParams().drainageParams().scaledPoints();
|
||||
}
|
||||
|
||||
case EclDefaultApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclDefaultApproach>();
|
||||
case EclMultiplexerApproach::EclDefaultApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>();
|
||||
return realParams.oilWaterParams().drainageParams().scaledPoints();
|
||||
}
|
||||
|
||||
case EclTwoPhaseApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclTwoPhaseApproach>();
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>();
|
||||
return realParams.oilWaterParams().drainageParams().scaledPoints();
|
||||
}
|
||||
default:
|
||||
@@ -646,24 +646,24 @@ private:
|
||||
if (numEnabled == 0) {
|
||||
throw std::runtime_error("At least one fluid phase must be enabled. (Is: "+std::to_string(numEnabled)+")");
|
||||
} else if (numEnabled == 1) {
|
||||
threePhaseApproach_ = Opm::EclMultiplexerApproach::EclOnePhaseApproach;
|
||||
threePhaseApproach_ = EclMultiplexerApproach::EclOnePhaseApproach;
|
||||
} else if ( numEnabled == 2) {
|
||||
threePhaseApproach_ = Opm::EclTwoPhaseApproach;
|
||||
threePhaseApproach_ = EclMultiplexerApproach::EclTwoPhaseApproach;
|
||||
if (!gasEnabled)
|
||||
twoPhaseApproach_ = Opm::EclTwoPhaseOilWater;
|
||||
twoPhaseApproach_ = EclTwoPhaseApproach::EclTwoPhaseOilWater;
|
||||
else if (!oilEnabled)
|
||||
twoPhaseApproach_ = Opm::EclTwoPhaseGasWater;
|
||||
twoPhaseApproach_ = EclTwoPhaseApproach::EclTwoPhaseGasWater;
|
||||
else if (!waterEnabled)
|
||||
twoPhaseApproach_ = Opm::EclTwoPhaseGasOil;
|
||||
twoPhaseApproach_ = EclTwoPhaseApproach::EclTwoPhaseGasOil;
|
||||
}
|
||||
else {
|
||||
assert(numEnabled == 3);
|
||||
|
||||
threePhaseApproach_ = Opm::EclDefaultApproach;
|
||||
threePhaseApproach_ = EclMultiplexerApproach::EclDefaultApproach;
|
||||
if (deck.hasKeyword("STONE") || deck.hasKeyword("STONE2"))
|
||||
threePhaseApproach_ = Opm::EclStone2Approach;
|
||||
threePhaseApproach_ = EclMultiplexerApproach::EclStone2Approach;
|
||||
else if (deck.hasKeyword("STONE1"))
|
||||
threePhaseApproach_ = Opm::EclStone1Approach;
|
||||
threePhaseApproach_ = EclMultiplexerApproach::EclStone1Approach;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -980,8 +980,8 @@ private:
|
||||
materialParams.setApproach(threePhaseApproach_);
|
||||
|
||||
switch (materialParams.approach()) {
|
||||
case EclStone1Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclStone1Approach>();
|
||||
case EclMultiplexerApproach::EclStone1Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclStone1Approach>();
|
||||
realParams.setGasOilParams(gasOilParams);
|
||||
realParams.setOilWaterParams(oilWaterParams);
|
||||
realParams.setSwl(epsInfo.Swl);
|
||||
@@ -995,8 +995,8 @@ private:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclStone2Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclStone2Approach>();
|
||||
case EclMultiplexerApproach::EclStone2Approach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclStone2Approach>();
|
||||
realParams.setGasOilParams(gasOilParams);
|
||||
realParams.setOilWaterParams(oilWaterParams);
|
||||
realParams.setSwl(epsInfo.Swl);
|
||||
@@ -1004,8 +1004,8 @@ private:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclDefaultApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclDefaultApproach>();
|
||||
case EclMultiplexerApproach::EclDefaultApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>();
|
||||
realParams.setGasOilParams(gasOilParams);
|
||||
realParams.setOilWaterParams(oilWaterParams);
|
||||
realParams.setSwl(epsInfo.Swl);
|
||||
@@ -1013,8 +1013,8 @@ private:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<Opm::EclTwoPhaseApproach>();
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach: {
|
||||
auto& realParams = materialParams.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>();
|
||||
realParams.setGasOilParams(gasOilParams);
|
||||
realParams.setOilWaterParams(oilWaterParams);
|
||||
realParams.setApproach(twoPhaseApproach_);
|
||||
@@ -1022,7 +1022,7 @@ private:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclOnePhaseApproach: {
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach: {
|
||||
// Nothing to do, no parameters.
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -132,31 +132,31 @@ public:
|
||||
const FluidState& fluidState)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::capillaryPressures(values,
|
||||
params.template getRealParams<EclStone1Approach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::capillaryPressures(values,
|
||||
params.template getRealParams<EclStone2Approach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::capillaryPressures(values,
|
||||
params.template getRealParams<EclDefaultApproach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::capillaryPressures(values,
|
||||
params.template getRealParams<EclTwoPhaseApproach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
values[0] = 0.0;
|
||||
break;
|
||||
}
|
||||
@@ -173,27 +173,27 @@ public:
|
||||
const Params& params)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::oilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone1Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>());
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::oilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone2Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>());
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::oilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclDefaultApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>());
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::oilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclTwoPhaseApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>());
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
// Do nothing.
|
||||
break;
|
||||
}
|
||||
@@ -210,27 +210,27 @@ public:
|
||||
Params& params)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::setOilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone1Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>());
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::setOilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone2Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>());
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::setOilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclDefaultApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>());
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::setOilWaterHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclTwoPhaseApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>());
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
// Do nothing.
|
||||
break;
|
||||
}
|
||||
@@ -247,27 +247,27 @@ public:
|
||||
const Params& params)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::gasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone1Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>());
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::gasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone2Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>());
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::gasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclDefaultApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>());
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::gasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclTwoPhaseApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>());
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
// Do nothing.
|
||||
break;
|
||||
}
|
||||
@@ -284,27 +284,27 @@ public:
|
||||
Params& params)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::setGasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone1Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>());
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::setGasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclStone2Approach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>());
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::setGasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclDefaultApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>());
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::setGasOilHysteresisParams(pcSwMdc, krnSwMdc,
|
||||
params.template getRealParams<EclTwoPhaseApproach>());
|
||||
params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>());
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
// Do nothing.
|
||||
break;
|
||||
}
|
||||
@@ -404,37 +404,37 @@ public:
|
||||
const FluidState& fluidState)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::relativePermeabilities(values,
|
||||
params.template getRealParams<EclStone1Approach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::relativePermeabilities(values,
|
||||
params.template getRealParams<EclStone2Approach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::relativePermeabilities(values,
|
||||
params.template getRealParams<EclDefaultApproach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::relativePermeabilities(values,
|
||||
params.template getRealParams<EclTwoPhaseApproach>(),
|
||||
params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
values[0] = 1.0;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw std::logic_error("Not implemented: relativePermeabilities() option for unknown EclMultiplexerApproach (="
|
||||
+ std::to_string(params.approach()) + ")");
|
||||
+ std::to_string(static_cast<int>(params.approach())) + ")");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -480,26 +480,26 @@ public:
|
||||
static void updateHysteresis(Params& params, const FluidState& fluidState)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclStone1Approach:
|
||||
Stone1Material::updateHysteresis(params.template getRealParams<EclStone1Approach>(),
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
Stone1Material::updateHysteresis(params.template getRealParams<EclMultiplexerApproach::EclStone1Approach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
Stone2Material::updateHysteresis(params.template getRealParams<EclStone2Approach>(),
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
Stone2Material::updateHysteresis(params.template getRealParams<EclMultiplexerApproach::EclStone2Approach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
DefaultMaterial::updateHysteresis(params.template getRealParams<EclDefaultApproach>(),
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
DefaultMaterial::updateHysteresis(params.template getRealParams<EclMultiplexerApproach::EclDefaultApproach>(),
|
||||
fluidState);
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::updateHysteresis(params.template getRealParams<EclTwoPhaseApproach>(),
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
TwoPhaseMaterial::updateHysteresis(params.template getRealParams<EclMultiplexerApproach::EclTwoPhaseApproach>(),
|
||||
fluidState);
|
||||
break;
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
namespace Opm {
|
||||
|
||||
enum EclMultiplexerApproach {
|
||||
enum class EclMultiplexerApproach {
|
||||
EclDefaultApproach,
|
||||
EclStone1Approach,
|
||||
EclStone2Approach,
|
||||
@@ -111,23 +111,23 @@ public:
|
||||
approach_ = newApproach;
|
||||
|
||||
switch (approach()) {
|
||||
case EclStone1Approach:
|
||||
case EclMultiplexerApproach::EclStone1Approach:
|
||||
realParams_ = ParamPointerType(new Stone1Params, Deleter< Stone1Params > () );
|
||||
break;
|
||||
|
||||
case EclStone2Approach:
|
||||
case EclMultiplexerApproach::EclStone2Approach:
|
||||
realParams_ = ParamPointerType(new Stone2Params, Deleter< Stone2Params > () );
|
||||
break;
|
||||
|
||||
case EclDefaultApproach:
|
||||
case EclMultiplexerApproach::EclDefaultApproach:
|
||||
realParams_ = ParamPointerType(new DefaultParams, Deleter< DefaultParams > () );
|
||||
break;
|
||||
|
||||
case EclTwoPhaseApproach:
|
||||
case EclMultiplexerApproach::EclTwoPhaseApproach:
|
||||
realParams_ = ParamPointerType(new TwoPhaseParams, Deleter< TwoPhaseParams > () );
|
||||
break;
|
||||
|
||||
case EclOnePhaseApproach:
|
||||
case EclMultiplexerApproach::EclOnePhaseApproach:
|
||||
// Do nothing, no parameters.
|
||||
break;
|
||||
}
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
|
||||
// get the parameter object for the Stone1 case
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclStone1Approach, Stone1Params>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclStone1Approach, Stone1Params>::type&
|
||||
getRealParams()
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
}
|
||||
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclStone1Approach, const Stone1Params>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclStone1Approach, const Stone1Params>::type&
|
||||
getRealParams() const
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -155,7 +155,7 @@ public:
|
||||
|
||||
// get the parameter object for the Stone2 case
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclStone2Approach, Stone2Params>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclStone2Approach, Stone2Params>::type&
|
||||
getRealParams()
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -163,7 +163,7 @@ public:
|
||||
}
|
||||
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclStone2Approach, const Stone2Params>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclStone2Approach, const Stone2Params>::type&
|
||||
getRealParams() const
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -172,7 +172,7 @@ public:
|
||||
|
||||
// get the parameter object for the default case
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclDefaultApproach, DefaultParams>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclDefaultApproach, DefaultParams>::type&
|
||||
getRealParams()
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -180,7 +180,7 @@ public:
|
||||
}
|
||||
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclDefaultApproach, const DefaultParams>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclDefaultApproach, const DefaultParams>::type&
|
||||
getRealParams() const
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -189,7 +189,7 @@ public:
|
||||
|
||||
// get the parameter object for the twophase case
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclTwoPhaseApproach, TwoPhaseParams>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclTwoPhaseApproach, TwoPhaseParams>::type&
|
||||
getRealParams()
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
@@ -197,7 +197,7 @@ public:
|
||||
}
|
||||
|
||||
template <EclMultiplexerApproach approachV>
|
||||
typename std::enable_if<approachV == EclTwoPhaseApproach, const TwoPhaseParams>::type&
|
||||
typename std::enable_if<approachV == EclMultiplexerApproach::EclTwoPhaseApproach, const TwoPhaseParams>::type&
|
||||
getRealParams() const
|
||||
{
|
||||
assert(approach() == approachV);
|
||||
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
typedef typename std::remove_reference<decltype(values[0])>::type Evaluation;
|
||||
|
||||
switch (params.approach()) {
|
||||
case EclTwoPhaseGasOil: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseGasOil: {
|
||||
const Evaluation& So =
|
||||
Opm::decay<Evaluation>(fluidState.saturation(oilPhaseIdx));
|
||||
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseOilWater: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseOilWater: {
|
||||
const Evaluation& Sw =
|
||||
Opm::decay<Evaluation>(fluidState.saturation(waterPhaseIdx));
|
||||
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseGasWater: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseGasWater: {
|
||||
const Evaluation& Sw =
|
||||
Opm::decay<Evaluation>(fluidState.saturation(waterPhaseIdx));
|
||||
|
||||
@@ -319,7 +319,7 @@ public:
|
||||
typedef typename std::remove_reference<decltype(values[0])>::type Evaluation;
|
||||
|
||||
switch (params.approach()) {
|
||||
case EclTwoPhaseGasOil: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseGasOil: {
|
||||
const Evaluation& So =
|
||||
Opm::decay<Evaluation>(fluidState.saturation(oilPhaseIdx));
|
||||
|
||||
@@ -328,7 +328,7 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseOilWater: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseOilWater: {
|
||||
const Evaluation& Sw =
|
||||
Opm::decay<Evaluation>(fluidState.saturation(waterPhaseIdx));
|
||||
|
||||
@@ -337,7 +337,7 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseGasWater: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseGasWater: {
|
||||
const Evaluation& Sw =
|
||||
Opm::decay<Evaluation>(fluidState.saturation(waterPhaseIdx));
|
||||
|
||||
@@ -390,21 +390,21 @@ public:
|
||||
static void updateHysteresis(Params& params, const FluidState& fluidState)
|
||||
{
|
||||
switch (params.approach()) {
|
||||
case EclTwoPhaseGasOil: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseGasOil: {
|
||||
Scalar So = Opm::scalarValue(fluidState.saturation(oilPhaseIdx));
|
||||
|
||||
params.gasOilParams().update(/*pcSw=*/So, /*krwSw=*/So, /*krnSw=*/So);
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseOilWater: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseOilWater: {
|
||||
Scalar Sw = Opm::scalarValue(fluidState.saturation(waterPhaseIdx));
|
||||
|
||||
params.oilWaterParams().update(/*pcSw=*/Sw, /*krwSw=*/Sw, /*krnSw=*/Sw);
|
||||
break;
|
||||
}
|
||||
|
||||
case EclTwoPhaseGasWater: {
|
||||
case EclTwoPhaseApproach::EclTwoPhaseGasWater: {
|
||||
Scalar Sw = Opm::scalarValue(fluidState.saturation(waterPhaseIdx));
|
||||
|
||||
params.oilWaterParams().update(/*pcSw=*/Sw, /*krwSw=*/Sw, /*krnSw=*/0);
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <opm/material/common/EnsureFinalized.hpp>
|
||||
|
||||
namespace Opm {
|
||||
enum EclTwoPhaseApproach {
|
||||
enum class EclTwoPhaseApproach {
|
||||
EclTwoPhaseGasOil,
|
||||
EclTwoPhaseOilWater,
|
||||
EclTwoPhaseGasWater
|
||||
|
||||
Reference in New Issue
Block a user