21namespace HeatTransportBHE
28 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
34 if (type ==
"TemperatureCurveConstantFlow")
43 "Required temperature curve not found.");
47 if (type ==
"TemperatureCurveFlowCurve")
53 "Required flow curve not found.");
59 "Required temperature curve not found.");
63 if (type ==
"FixedPowerConstantFlow")
76 if (type ==
"FixedPowerFlowCurve")
82 "Required flow rate curve not found.");
92 if (type ==
"PowerCurveConstantFlow")
98 "Required power curve not found.");
108 if (type ==
"PowerCurveFlowCurve")
114 "Required power curve not found.");
120 "Required flow rate curve not found.");
127 if (type ==
"BuildingPowerCurveConstantFlow")
133 "Required power curve not found.");
139 "Required power curve not found.");
148 building_power_curves, flow_rate,
151 OGS_FATAL(
"FlowAndTemperatureControl type '{:s}' is not implemented.",
Definition of the PiecewiseLinearInterpolation class.
T getConfigParameter(std::string const ¶m) const
OGS_NO_DANGLING Map::mapped_type & getOrError(Map &map, Key const &key, std::string const &error_message)
std::variant< TemperatureCurveConstantFlow, TemperatureCurveFlowCurve, FixedPowerConstantFlow, FixedPowerFlowCurve, PowerCurveConstantFlow, PowerCurveFlowCurve, BuildingPowerCurveConstantFlow > FlowAndTemperatureControl
FlowAndTemperatureControl createFlowAndTemperatureControl(BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, RefrigerantProperties const &refrigerant)
double const specific_heat_capacity