diff --git a/opm/simulators/wells/MultisegmentWellSegments.cpp b/opm/simulators/wells/MultisegmentWellSegments.cpp index c38de130f..5f1ba95fa 100644 --- a/opm/simulators/wells/MultisegmentWellSegments.cpp +++ b/opm/simulators/wells/MultisegmentWellSegments.cpp @@ -987,39 +987,43 @@ mixtureDensityWithExponents(const AutoICD& aicd, const int seg) const return mixDens; } -#define INSTANCE(...) \ -template class MultisegmentWellSegments,__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 MultisegmentWellSegments,__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,0u,0u,false,true,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,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,0u,0u,false,true,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,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,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,0u,false,false,1u,0u>) -INSTANCE(BlackOilIndices<0u,0u,0u,1u,false,true,0u,0u>) +INSTANTIATE_TYPE(double) -INSTANCE(BlackOilIndices<1u,0u,0u,0u,true,false,0u,0u>) +#if FLOW_INSTANTIATE_FLOAT +INSTANTIATE_TYPE(float) +#endif } // namespace Opm