BlackOilBrineModules: use if constexpr

This commit is contained in:
Arne Morten Kvarving 2022-08-09 08:54:18 +02:00
parent 368a2414c3
commit 0a182d51f6

View File

@ -130,7 +130,7 @@ public:
}
}
if (enableSaltPrecipitation) {
if constexpr (enableSaltPrecipitation) {
const TableContainer& permfactTables = tableManager.getPermfactTables();
permfactTable_.resize(numPvtRegions);
for (size_t i = 0; i < permfactTables.size(); ++i) {
@ -156,18 +156,14 @@ public:
*/
static void registerParameters()
{
if (!enableBrine)
// brine have been disabled at compile time
return;
}
static bool primaryVarApplies(unsigned pvIdx)
{
if (!enableBrine)
// brine have been disabled at compile time
return false;
if constexpr (enableBrine)
return pvIdx == saltConcentrationIdx;
else
return false;
}
/*!
@ -177,9 +173,7 @@ public:
static void assignPrimaryVars(PrimaryVariables& priVars,
const FluidState& fluidState)
{
if (!enableBrine)
return;
if constexpr (enableBrine)
priVars[saltConcentrationIdx] = fluidState.saltConcentration();
}
@ -200,10 +194,10 @@ public:
static bool eqApplies(unsigned eqIdx)
{
if (!enableBrine)
return false;
if constexpr (enableBrine)
return eqIdx == contiBrineEqIdx;
else
return false;
}
static std::string eqName([[maybe_unused]] unsigned eqIdx)
@ -226,9 +220,7 @@ public:
static void addStorage(Dune::FieldVector<LhsEval, numEq>& storage,
const IntensiveQuantities& intQuants)
{
if (!enableBrine)
return;
if constexpr (enableBrine) {
const auto& fs = intQuants.fluidState();
LhsEval surfaceVolumeWater =
@ -254,16 +246,15 @@ public:
}
else { storage[contiBrineEqIdx] += massBrine;}
}
}
static void computeFlux(RateVector& flux,
const ElementContext& elemCtx,
unsigned scvfIdx,
unsigned timeIdx)
static void computeFlux([[maybe_unused]] RateVector& flux,
[[maybe_unused]] const ElementContext& elemCtx,
[[maybe_unused]] unsigned scvfIdx,
[[maybe_unused]] unsigned timeIdx)
{
if (!enableBrine)
return;
if constexpr (enableBrine) {
const auto& extQuants = elemCtx.extensiveQuantities(scvfIdx, timeIdx);
const unsigned upIdx = extQuants.upstreamIndex(FluidSystem::waterPhaseIdx);
@ -283,6 +274,7 @@ public:
*decay<Scalar>(up.fluidState().saltConcentration());
}
}
}
/*!
* \brief Return how much a Newton-Raphson update is considered an error
@ -299,20 +291,17 @@ public:
template <class DofEntity>
static void serializeEntity(const Model& model, std::ostream& outstream, const DofEntity& dof)
{
if (!enableBrine)
return;
if constexpr (enableBrine) {
unsigned dofIdx = model.dofMapper().index(dof);
const PrimaryVariables& priVars = model.solution(/*timeIdx=*/0)[dofIdx];
outstream << priVars[saltConcentrationIdx];
}
}
template <class DofEntity>
static void deserializeEntity(Model& model, std::istream& instream, const DofEntity& dof)
{
if (!enableBrine)
return;
if constexpr (enableBrine) {
unsigned dofIdx = model.dofMapper().index(dof);
PrimaryVariables& priVars0 = model.solution(/*timeIdx=*/0)[dofIdx];
PrimaryVariables& priVars1 = model.solution(/*timeIdx=*/1)[dofIdx];
@ -322,6 +311,7 @@ public:
// set the primary variables for the beginning of the current time step.
priVars1[saltConcentrationIdx] = priVars0[saltConcentrationIdx];
}
}
static const Scalar& referencePressure(const ElementContext& elemCtx,
unsigned scvIdx,
@ -440,7 +430,7 @@ public:
auto& fs = asImp_().fluidState_;
if (enableSaltPrecipitation) {
if constexpr (enableSaltPrecipitation) {
const auto& saltsolTable = BrineModule::saltsolTable(elemCtx, dofIdx, timeIdx);
saltSolubility_ = saltsolTable;
@ -460,11 +450,11 @@ public:
}
}
void saltPropertiesUpdate_(const ElementContext& elemCtx,
unsigned dofIdx,
unsigned timeIdx)
void saltPropertiesUpdate_([[maybe_unused]] const ElementContext& elemCtx,
[[maybe_unused]] unsigned dofIdx,
[[maybe_unused]] unsigned timeIdx)
{
if (enableSaltPrecipitation) {
if constexpr (enableSaltPrecipitation) {
const Evaluation porosityFactor = min(1.0 - saltSaturation(), 1.0); //phi/phi_0
const auto& permfactTable = BrineModule::permfactTable(elemCtx, dofIdx, timeIdx);