diff --git a/ProcessLib/HeatTransportBHE/BHE/BHECommon.h b/ProcessLib/HeatTransportBHE/BHE/BHECommon.h
index 0c0574cc4885344b2c7017671656c346a9f75ce7..a084529ae249b26b9091e1ce47b1e93d8ee8ba21 100644
--- a/ProcessLib/HeatTransportBHE/BHE/BHECommon.h
+++ b/ProcessLib/HeatTransportBHE/BHE/BHECommon.h
@@ -43,7 +43,7 @@ struct BHECommon
     GroutParameters const grout;
     FlowAndTemperatureControl const flowAndTemperatureControl;
     bool const use_python_bcs;
-    bool isPowerBC() const
+    constexpr bool isPowerBC() const
     {
         return std::visit([](auto const& ftc) { return ftc.is_power_bc; },
                           flowAndTemperatureControl);
diff --git a/ProcessLib/HeatTransportBHE/BHE/CreateFlowAndTemperatureControl.cpp b/ProcessLib/HeatTransportBHE/BHE/CreateFlowAndTemperatureControl.cpp
index 57ca51b21e460ce6498d2d760810b9f3a629d2bf..ced0293262dccd2aefb5932b7856882b76e9ae72 100644
--- a/ProcessLib/HeatTransportBHE/BHE/CreateFlowAndTemperatureControl.cpp
+++ b/ProcessLib/HeatTransportBHE/BHE/CreateFlowAndTemperatureControl.cpp
@@ -42,10 +42,7 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
             config.getConfigParameter<std::string>("temperature_curve"),
             "Required temperature curve not found.");
 
-        auto const is_power_bc = false;
-
-        return TemperatureCurveConstantFlow{flow_rate, temperature_curve,
-                                            is_power_bc};
+        return TemperatureCurveConstantFlow{flow_rate, temperature_curve};
     }
     if (type == "TemperatureCurveFlowCurve")
     {
@@ -61,10 +58,7 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
             config.getConfigParameter<std::string>("temperature_curve"),
             "Required temperature curve not found.");
 
-        auto const is_power_bc = false;
-
-        return TemperatureCurveFlowCurve{flow_rate_curve, temperature_curve,
-                                         is_power_bc};
+        return TemperatureCurveFlowCurve{flow_rate_curve, temperature_curve};
     }
     if (type == "FixedPowerConstantFlow")
     {
@@ -74,11 +68,9 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
         //! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__FixedPowerConstantFlow__flow_rate}
         auto const flow_rate = config.getConfigParameter<double>("flow_rate");
 
-        auto const is_power_bc = true;
-
         return FixedPowerConstantFlow{flow_rate, power,
                                       refrigerant.specific_heat_capacity,
-                                      refrigerant.density, is_power_bc};
+                                      refrigerant.density};
     }
 
     if (type == "FixedPowerFlowCurve")
@@ -92,11 +84,9 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
         //! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__FixedPowerFlowCurve__power}
         auto const power = config.getConfigParameter<double>("power");
 
-        auto const is_power_bc = true;
-
         return FixedPowerFlowCurve{flow_rate_curve, power,
                                    refrigerant.specific_heat_capacity,
-                                   refrigerant.density, is_power_bc};
+                                   refrigerant.density};
     }
 
     if (type == "PowerCurveConstantFlow")
@@ -110,11 +100,9 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
         //! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__PowerCurveConstantFlow__flow_rate}
         auto const flow_rate = config.getConfigParameter<double>("flow_rate");
 
-        auto const is_power_bc = true;
-
         return PowerCurveConstantFlow{power_curve, flow_rate,
                                       refrigerant.specific_heat_capacity,
-                                      refrigerant.density, is_power_bc};
+                                      refrigerant.density};
     }
 
     if (type == "PowerCurveFlowCurve")
@@ -131,11 +119,9 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
             config.getConfigParameter<std::string>("flow_rate_curve"),
             "Required flow rate curve not found.");
 
-        auto const is_power_bc = false;
-
         return PowerCurveFlowCurve{power_curve, flow_rate_curve,
                                    refrigerant.specific_heat_capacity,
-                                   refrigerant.density, is_power_bc};
+                                   refrigerant.density};
     }
 
     if (type == "BuildingPowerCurveConstantFlow")
@@ -158,12 +144,9 @@ FlowAndTemperatureControl createFlowAndTemperatureControl(
         //! \ogs_file_param{prj__processes__process__HEAT_TRANSPORT_BHE__borehole_heat_exchangers__borehole_heat_exchanger__flow_and_temperature_control__BuildingPowerCurveConstantFlow__flow_rate}
         auto const flow_rate = config.getConfigParameter<double>("flow_rate");
 
-        auto const is_power_bc = true;
-
         return BuildingPowerCurveConstantFlow{
             building_power_curves, flow_rate,
-            refrigerant.specific_heat_capacity, refrigerant.density,
-            is_power_bc};
+            refrigerant.specific_heat_capacity, refrigerant.density};
     }
     OGS_FATAL("FlowAndTemperatureControl type '{:s}' is not implemented.",
               type);
diff --git a/ProcessLib/HeatTransportBHE/BHE/FlowAndTemperatureControl.h b/ProcessLib/HeatTransportBHE/BHE/FlowAndTemperatureControl.h
index d0f384a721a436a0731e3f1b8d811476cde2d92c..06f477527120518ceaa84c82c52ea60570cf9483 100644
--- a/ProcessLib/HeatTransportBHE/BHE/FlowAndTemperatureControl.h
+++ b/ProcessLib/HeatTransportBHE/BHE/FlowAndTemperatureControl.h
@@ -35,7 +35,7 @@ struct TemperatureCurveConstantFlow
     }
     double flow_rate;
     MathLib::PiecewiseLinearInterpolation const& temperature_curve;
-    bool const is_power_bc = false;
+    static constexpr bool is_power_bc = false;
 };
 
 struct TemperatureCurveFlowCurve
@@ -48,7 +48,7 @@ struct TemperatureCurveFlowCurve
     }
     MathLib::PiecewiseLinearInterpolation const& flow_rate_curve;
     MathLib::PiecewiseLinearInterpolation const& temperature_curve;
-    bool const is_power_bc = false;
+    static constexpr bool is_power_bc = false;
 };
 
 struct FixedPowerConstantFlow
@@ -62,7 +62,7 @@ struct FixedPowerConstantFlow
     double power;  // Value is expected to be in Watt.
     double heat_capacity;
     double density;
-    bool const is_power_bc = true;
+    static constexpr bool is_power_bc = true;
 };
 
 struct FixedPowerFlowCurve
@@ -77,7 +77,7 @@ struct FixedPowerFlowCurve
     double power;  // Value is expected to be in Watt.
     double heat_capacity;
     double density;
-    bool const is_power_bc = true;
+    static constexpr bool is_power_bc = true;
 };
 
 struct PowerCurveConstantFlow
@@ -96,7 +96,7 @@ struct PowerCurveConstantFlow
     double flow_rate;
     double heat_capacity;
     double density;
-    bool const is_power_bc = true;
+    static constexpr bool is_power_bc = true;
 };
 
 struct PowerCurveFlowCurve
@@ -116,7 +116,7 @@ struct PowerCurveFlowCurve
 
     double heat_capacity;
     double density;
-    bool const is_power_bc = true;
+    static constexpr bool is_power_bc = true;
 };
 
 struct BuildingPowerCurveConstantFlow
@@ -140,7 +140,7 @@ struct BuildingPowerCurveConstantFlow
     double flow_rate;
     double heat_capacity;
     double density;
-    bool const is_power_bc = true;
+    static constexpr bool is_power_bc = true;
 };
 
 using FlowAndTemperatureControl = std::variant<TemperatureCurveConstantFlow,