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,