From 26bb0c3d85c7d23255627eb2c4592cae98bce081 Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Fri, 12 Apr 2024 13:11:09 +0200 Subject: [PATCH] WellInterfaceIndices: optionally instantiate for float --- opm/simulators/wells/WellInterfaceIndices.cpp | 70 ++++++++++--------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/opm/simulators/wells/WellInterfaceIndices.cpp b/opm/simulators/wells/WellInterfaceIndices.cpp index ba88f3d12..a07dbdc1a 100644 --- a/opm/simulators/wells/WellInterfaceIndices.cpp +++ b/opm/simulators/wells/WellInterfaceIndices.cpp @@ -110,41 +110,45 @@ scalingFactor(const int phaseIdx) const return 1.0; } -#define INSTANCE( ...) \ -template class WellInterfaceIndices, \ - __VA_ARGS__>; +template +using FS = BlackOilFluidSystem; -// One phase -INSTANCE(BlackOilOnePhaseIndices<0u,0u,0u,0u,false,false,0u,1u,0u>) -INSTANCE(BlackOilOnePhaseIndices<0u,0u,0u,1u,false,false,0u,1u,0u>) -INSTANCE(BlackOilOnePhaseIndices<0u,0u,0u,0u,false,false,0u,1u,5u>) +#define INSTANTIATE(T,...) \ + template class WellInterfaceIndices, __VA_ARGS__>; -// Two phase -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,false,0u,0u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,false,0u,1u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,false,0u,2u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,1u,0u,false,false,0u,2u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,2u,0u,false,false,0u,2u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,true,0u,2u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,1u,0u,false,true,0u,2u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,1u,false,false,0u,1u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,true,0u,0u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,1u,false,false,0u,0u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<0u,0u,0u,1u,false,true,0u,0u,0u>) -INSTANCE(BlackOilTwoPhaseIndices<1u,0u,0u,0u,false,false,0u,0u,0u>) +#define INSTANTIATE_TYPE(T) \ + INSTANTIATE(T,BlackOilOnePhaseIndices<0u,0u,0u,0u,false,false,0u,1u,0u>) \ + INSTANTIATE(T,BlackOilOnePhaseIndices<0u,0u,0u,1u,false,false,0u,1u,0u>) \ + INSTANTIATE(T,BlackOilOnePhaseIndices<0u,0u,0u,0u,false,false,0u,1u,5u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,false,0u,0u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,false,0u,1u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,false,0u,2u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,1u,0u,false,false,0u,2u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,2u,0u,false,false,0u,2u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,true,0u,2u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,1u,0u,false,true,0u,2u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,1u,false,false,0u,1u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,0u,false,true,0u,0u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,1u,false,false,0u,0u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<0u,0u,0u,1u,false,true,0u,0u,0u>) \ + INSTANTIATE(T,BlackOilTwoPhaseIndices<1u,0u,0u,0u,false,false,0u,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,0u,false,false,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,0u,true,false,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,0u,false,true,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,0u,false,true,2u,0u>) \ + INSTANTIATE(T,BlackOilIndices<1u,0u,0u,0u,false,false,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,1u,0u,0u,false,false,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,1u,0u,false,false,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,1u,false,false,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,1u,false,false,1u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,0u,false,false,1u,0u>) \ + INSTANTIATE(T,BlackOilIndices<0u,0u,0u,1u,false,true,0u,0u>) \ + INSTANTIATE(T,BlackOilIndices<1u,0u,0u,0u,true,false,0u,0u>) -// Blackoil -INSTANCE(BlackOilIndices<0u,0u,0u,0u,false,false,0u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,0u,true,false,0u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,0u,false,true,0u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,0u,false,true,2u,0u>) -INSTANCE(BlackOilIndices<1u,0u,0u,0u,false,false,0u,0u>) -INSTANCE(BlackOilIndices<0u,1u,0u,0u,false,false,0u,0u>) -INSTANCE(BlackOilIndices<0u,0u,1u,0u,false,false,0u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,1u,false,false,0u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,1u,false,false,1u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,0u,false,false,1u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,1u,false,true,0u,0u>) -INSTANCE(BlackOilIndices<1u,0u,0u,0u,true,false,0u,0u>) +INSTANTIATE_TYPE(double) + +#if FLOW_INSTANTIATE_FLOAT +INSTANTIATE_TYPE(float) +#endif } // namespace Opm