From c8a5bd1cc85bf69bb8f939d2456b9f8cc46485aa Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Tue, 24 Jun 2025 13:45:57 +0200 Subject: [PATCH] BlackOilEnergyIntensiveQuantities: properly implement partial specialization for disabling in energy-less runs --- .../BlackOilEnergyIntensiveQuantitiesGlobalIndex.hpp | 11 +++++++---- .../BlackOilIntensiveQuantitiesGlobalIndex.hpp | 4 ++-- opm/models/blackoil/blackoilenergymodules.hh | 7 +++++-- opm/models/blackoil/blackoilintensivequantities.hh | 4 ++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/flowexperimental/BlackOilEnergyIntensiveQuantitiesGlobalIndex.hpp b/flowexperimental/BlackOilEnergyIntensiveQuantitiesGlobalIndex.hpp index d6da559778..94f9b5aa31 100644 --- a/flowexperimental/BlackOilEnergyIntensiveQuantitiesGlobalIndex.hpp +++ b/flowexperimental/BlackOilEnergyIntensiveQuantitiesGlobalIndex.hpp @@ -32,16 +32,19 @@ namespace Opm { +template +class BlackOilEnergyIntensiveQuantitiesGlobalIndex; + /*! * \ingroup BlackOil * \brief Contains the high level supplements required to extend the black oil * model by energy using global indices. */ -template ()> -class BlackOilEnergyIntensiveQuantitiesGlobalIndex - : public BlackOilEnergyIntensiveQuantities +template +class BlackOilEnergyIntensiveQuantitiesGlobalIndex + : public BlackOilEnergyIntensiveQuantities { - using Parent = BlackOilEnergyIntensiveQuantities; + using Parent = BlackOilEnergyIntensiveQuantities; using FluidSystem = GetPropType; using Problem = GetPropType; using PrimaryVariables = GetPropType; diff --git a/flowexperimental/BlackOilIntensiveQuantitiesGlobalIndex.hpp b/flowexperimental/BlackOilIntensiveQuantitiesGlobalIndex.hpp index c611789ea5..2529209785 100644 --- a/flowexperimental/BlackOilIntensiveQuantitiesGlobalIndex.hpp +++ b/flowexperimental/BlackOilIntensiveQuantitiesGlobalIndex.hpp @@ -78,7 +78,7 @@ class BlackOilIntensiveQuantitiesGlobalIndex , public BlackOilPolymerIntensiveQuantities()> , public BlackOilFoamIntensiveQuantities()> , public BlackOilBrineIntensiveQuantities()> - , public BlackOilEnergyIntensiveQuantitiesGlobalIndex + , public BlackOilEnergyIntensiveQuantitiesGlobalIndex()> , public BlackOilMICPIntensiveQuantities , public BlackOilConvectiveMixingIntensiveQuantities { @@ -529,7 +529,7 @@ private: friend BlackOilSolventIntensiveQuantities; friend BlackOilExtboIntensiveQuantities; friend BlackOilPolymerIntensiveQuantities; - friend BlackOilEnergyIntensiveQuantitiesGlobalIndex; + friend BlackOilEnergyIntensiveQuantitiesGlobalIndex; friend BlackOilFoamIntensiveQuantities; friend BlackOilBrineIntensiveQuantities; friend BlackOilMICPIntensiveQuantities; diff --git a/opm/models/blackoil/blackoilenergymodules.hh b/opm/models/blackoil/blackoilenergymodules.hh index c4a00ae03a..64deb1567c 100644 --- a/opm/models/blackoil/blackoilenergymodules.hh +++ b/opm/models/blackoil/blackoilenergymodules.hh @@ -328,6 +328,9 @@ public: } }; +template +class BlackOilEnergyIntensiveQuantities; + /*! * \ingroup BlackOil * \class Opm::BlackOilEnergyIntensiveQuantities @@ -335,8 +338,8 @@ public: * \brief Provides the volumetric quantities required for the equations needed by the * energys extension of the black-oil model. */ -template ()> -class BlackOilEnergyIntensiveQuantities +template +class BlackOilEnergyIntensiveQuantities { using Implementation = GetPropType; diff --git a/opm/models/blackoil/blackoilintensivequantities.hh b/opm/models/blackoil/blackoilintensivequantities.hh index 986d760b94..87f747e4af 100644 --- a/opm/models/blackoil/blackoilintensivequantities.hh +++ b/opm/models/blackoil/blackoilintensivequantities.hh @@ -79,7 +79,7 @@ class BlackOilIntensiveQuantities , public BlackOilPolymerIntensiveQuantities()> , public BlackOilFoamIntensiveQuantities()> , public BlackOilBrineIntensiveQuantities()> - , public BlackOilEnergyIntensiveQuantities + , public BlackOilEnergyIntensiveQuantities()> , public BlackOilMICPIntensiveQuantities , public BlackOilConvectiveMixingIntensiveQuantities { @@ -758,7 +758,7 @@ private: friend BlackOilSolventIntensiveQuantities; friend BlackOilExtboIntensiveQuantities; friend BlackOilPolymerIntensiveQuantities; - friend BlackOilEnergyIntensiveQuantities; + friend BlackOilEnergyIntensiveQuantities; friend BlackOilFoamIntensiveQuantities; friend BlackOilBrineIntensiveQuantities; friend BlackOilMICPIntensiveQuantities;