fixed: use if constexpr to avoid compiler warning

while we are never actually here without an index,
compiler cannot know since the enum is a runtime argument
This commit is contained in:
Arne Morten Kvarving
2025-02-03 14:03:09 +01:00
parent cd5a036663
commit 1671d060c8

View File

@@ -190,7 +190,10 @@ public:
Evaluation Sw = 0.0;
if constexpr (waterEnabled) {
if (priVars.primaryVarsMeaningWater() == PrimaryVariables::WaterMeaning::Sw) {
Sw = priVars.makeEvaluation(Indices::waterSwitchIdx, timeIdx);
assert(Indices::waterSwitchIdx >= 0);
if constexpr (Indices::waterSwitchIdx >= 0) {
Sw = priVars.makeEvaluation(Indices::waterSwitchIdx, timeIdx);
}
} else if(priVars.primaryVarsMeaningWater() == PrimaryVariables::WaterMeaning::Rsw ||
priVars.primaryVarsMeaningWater() == PrimaryVariables::WaterMeaning::Disabled) {
// water is enabled but is not a primary variable i.e. one component/phase case
@@ -201,7 +204,10 @@ public:
Evaluation Sg = 0.0;
if constexpr (gasEnabled) {
if (priVars.primaryVarsMeaningGas() == PrimaryVariables::GasMeaning::Sg) {
Sg = priVars.makeEvaluation(Indices::compositionSwitchIdx, timeIdx);
assert(Indices::compositionSwitchIdx >= 0);
if constexpr (compositionSwitchEnabled) {
Sg = priVars.makeEvaluation(Indices::compositionSwitchIdx, timeIdx);
}
} else if (priVars.primaryVarsMeaningGas() == PrimaryVariables::GasMeaning::Rv) {
Sg = 1.0 - Sw;
} else if (priVars.primaryVarsMeaningGas() == PrimaryVariables::GasMeaning::Disabled) {