21namespace HeatTransportBHE
39 flow_rate = (std::abs(flow_rate) < flow_rate_min) ? 0.0 : flow_rate;
41 if (std::abs(power) < power_min)
43 return {flow_rate, T_out};
49 "BHE power {:0.2f} W with flow rate of 0 m3/s requested, "
50 "calculation not possible!",
53 return {flow_rate, power / flow_rate / heat_capacity / density + T_out};
59 double const time)
const
73 double const time)
const
76 flow_rate = (std::abs(flow_rate) <
flow_rate_min) ? 0.0 : flow_rate;
184 double const power_building =
188 double const power = power_building - power_building / cop;
212 double const power_heating =
214 double const cop_heating =
217 double const power_hot_water =
219 double const cop_hot_water =
222 double const power_cooling =
224 double const cop_cooling =
229 double const power = power_heating - power_heating / cop_heating +
230 power_hot_water - power_hot_water / cop_hot_water +
231 power_cooling - power_cooling / cop_cooling;
257 double const power_heating =
259 double const cop_heating =
262 double const power_hot_water =
264 double const cop_hot_water =
271 double const power = power_heating - power_heating / cop_heating +
272 power_hot_water - power_hot_water / cop_hot_water +
299 double const power_heating =
301 double const cop_heating =
304 double const power_hot_water =
306 double const cop_hot_water =
311 double const power = power_heating - power_heating / cop_heating +
312 power_hot_water - power_hot_water / cop_hot_water;
337 double const power_heating =
339 double const cop_heating =
342 double const power_cooling =
344 double const cop_cooling =
349 double const power = power_heating - power_heating / cop_heating +
350 power_cooling - power_cooling / cop_cooling;
375 double const power_heating =
377 double const cop_heating =
385 power_heating - power_heating / cop_heating + power_cooling;
410 double const power_heating =
412 double const cop_heating =
417 double const power = power_heating - power_heating / cop_heating;
441 double const power_cooling =
443 double const cop_cooling =
448 double const power = power_cooling - power_cooling / cop_cooling;
Definition of the PiecewiseLinearInterpolation class.
double getValue(double pnt_to_interpolate) const
Calculates the interpolation value.
std::variant< TemperatureCurveConstantFlow, TemperatureCurveFlowCurve, FixedPowerConstantFlow, FixedPowerFlowCurve, PowerCurveConstantFlow, PowerCurveFlowCurve, BuildingPowerCurveConstantFlow, BuildingPowerCurveHotWaterCurveActiveCoolingCurveFlowCurve, BuildingPowerCurveHotWaterCurvePassiveCoolingCurveFlowCurve, BuildingPowerCurveHotWaterCurveFlowCurve, BuildingPowerCurveActiveCoolingCurveFlowCurve, BuildingPowerCurvePassiveCoolingCurveFlowCurve, BuildingPowerCurveFlowCurve, ActiveCoolingCurveFlowCurve > FlowAndTemperatureControl
FlowAndTemperature check_power_and_flow_rate(double flow_rate, double power, double heat_capacity, double density, double T_out, double flow_rate_min, double power_min)
BuildingPowerCurves const building_active_cooling_curves
FlowAndTemperature operator()(double const T_out, double const time) const
MathLib::PiecewiseLinearInterpolation const & flow_curve
static constexpr bool is_power_bc
BuildingPowerCurves const building_heating_curves
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
BuildingPowerCurves const building_active_cooling_curves
MathLib::PiecewiseLinearInterpolation const & flow_curve
BuildingPowerCurves const building_power_curves
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
BuildingPowerCurves const building_heating_curves
static constexpr bool is_power_bc
MathLib::PiecewiseLinearInterpolation const & flow_curve
FlowAndTemperature operator()(double const T_out, double const time) const
FlowAndTemperature operator()(double const T_out, double const time) const
BuildingPowerCurves const building_heating_curves
static constexpr bool is_power_bc
BuildingPowerCurves const building_active_cooling_curves
BuildingPowerCurves const building_hot_water_curves
MathLib::PiecewiseLinearInterpolation const & flow_curve
BuildingPowerCurves const building_hot_water_curves
FlowAndTemperature operator()(double const T_out, double const time) const
MathLib::PiecewiseLinearInterpolation const & flow_curve
static constexpr bool is_power_bc
BuildingPowerCurves const building_heating_curves
FlowAndTemperature operator()(double const T_out, double const time) const
static constexpr bool is_power_bc
MathLib::PiecewiseLinearInterpolation const & cooling_power
BuildingPowerCurves const building_heating_curves
BuildingPowerCurves const building_hot_water_curves
MathLib::PiecewiseLinearInterpolation const & flow_curve
BuildingPowerCurves const building_heating_curves
MathLib::PiecewiseLinearInterpolation const & cooling_power
MathLib::PiecewiseLinearInterpolation const & flow_curve
FlowAndTemperature operator()(double const T_out, double const time) const
static constexpr bool is_power_bc
MathLib::PiecewiseLinearInterpolation const & cop_curve
MathLib::PiecewiseLinearInterpolation const & power_curve
FlowAndTemperature operator()(double const T_out, double const) const
static constexpr bool is_power_bc
MathLib::PiecewiseLinearInterpolation const & flow_curve
FlowAndTemperature operator()(double const T_out, double const time) const
static constexpr bool is_power_bc
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
MathLib::PiecewiseLinearInterpolation const & power_curve
MathLib::PiecewiseLinearInterpolation const & power_curve
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
MathLib::PiecewiseLinearInterpolation const & flow_curve
FlowAndTemperature operator()(double const, double const time) const
MathLib::PiecewiseLinearInterpolation const & temperature_curve
static constexpr bool is_power_bc
MathLib::PiecewiseLinearInterpolation const & flow_rate_curve
static constexpr bool is_power_bc
MathLib::PiecewiseLinearInterpolation const & temperature_curve
FlowAndTemperature operator()(double const, double const time) const