26 double const heat_capacity,
29 double const flow_rate_min,
30 double const power_min)
32 flow_rate = (std::abs(flow_rate) < flow_rate_min) ? 0.0 : flow_rate;
34 if (std::abs(power) < power_min)
36 return {flow_rate, T_out};
42 "BHE power {:0.2f} W with flow rate of 0 m3/s requested, "
43 "calculation not possible!",
46 return {flow_rate, power / flow_rate / heat_capacity / density + T_out};
52 double const time)
const
57 return {(std::abs(flow_rate) <
flow_rate_min) ? 0.0 : flow_rate,
98 double const power_building =
building_power.power_param(time, x)[0];
101 double const power = power_building - power_building / cop;
130 double const power_hot_water =
132 double const cop_hot_water =
135 double const power_cooling =
137 double const cop_cooling =
140 double const power = power_heating - power_heating / cop_heating +
141 power_hot_water - power_hot_water / cop_hot_water +
142 power_cooling - power_cooling / cop_cooling;
174 double const power_hot_water =
176 double const cop_hot_water =
181 double const power = power_heating - power_heating / cop_heating +
182 power_hot_water - power_hot_water / cop_hot_water +
215 double const power_hot_water =
217 double const cop_hot_water =
220 double const power = power_heating - power_heating / cop_heating +
221 power_hot_water - power_hot_water / cop_hot_water;
252 double const power_cooling =
254 double const cop_cooling =
257 double const power = power_heating - power_heating / cop_heating +
258 power_cooling - power_cooling / cop_cooling;
292 power_heating - power_heating / cop_heating + power_cooling;
321 double const power_cooling =
323 double const cop_cooling =
326 double const power = power_cooling - power_cooling / cop_cooling;
FlowAndTemperature check_power_and_flow_rate(double flow_rate, double power, double const heat_capacity, double const density, double const T_out, double const flow_rate_min, double const power_min)
std::variant< InflowTemperature, Power, BuildingPower, BuildingPowerHotWaterActiveCooling, BuildingPowerHotWaterPassiveCooling, BuildingPowerHotWater, BuildingPowerActiveCooling, BuildingPowerPassiveCooling, ActiveCooling > FlowAndTemperatureControl
double const flow_rate_min
double const heat_capacity
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
PowerWithCOP const building_active_cooling
ParameterLib::Parameter< double > const & flow_rate_param
PowerWithCOP const building_active_cooling
double const flow_rate_min
ParameterLib::Parameter< double > const & flow_rate_param
FlowAndTemperature operator()(double const T_out, double const time) const
PowerWithCOP const building_heating
double const heat_capacity
static constexpr bool is_power_bc
static constexpr bool is_power_bc
PowerWithCOP const building_active_cooling
double const flow_rate_min
ParameterLib::Parameter< double > const & flow_rate_param
double const heat_capacity
PowerWithCOP const building_heating
PowerWithCOP const building_hot_water
FlowAndTemperature operator()(double const T_out, double const time) const
PowerWithCOP const building_hot_water
ParameterLib::Parameter< double > const & cooling_power_param
double const flow_rate_min
double const heat_capacity
FlowAndTemperature operator()(double const T_out, double const time) const
static constexpr bool is_power_bc
PowerWithCOP const building_heating
ParameterLib::Parameter< double > const & flow_rate_param
double const flow_rate_min
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
ParameterLib::Parameter< double > const & flow_rate_param
PowerWithCOP const building_heating
PowerWithCOP const building_hot_water
double const heat_capacity
double const heat_capacity
FlowAndTemperature operator()(double const T_out, double const time) const
ParameterLib::Parameter< double > const & cooling_power_param
PowerWithCOP const building_heating
double const flow_rate_min
static constexpr bool is_power_bc
ParameterLib::Parameter< double > const & flow_rate_param
double const heat_capacity
static constexpr bool is_power_bc
FlowAndTemperature operator()(double const T_out, double const time) const
ParameterLib::Parameter< double > const & flow_rate_param
PowerWithCOP const building_power
double const flow_rate_min
FlowAndTemperature operator()(double const, double const time) const
static constexpr bool is_power_bc
ParameterLib::Parameter< double > const & temperature_param
double const flow_rate_min
ParameterLib::Parameter< double > const & flow_rate_param
ParameterLib::Parameter< double > const & flow_rate_param
double const heat_capacity
static constexpr bool is_power_bc
ParameterLib::Parameter< double > const & power_param
FlowAndTemperature operator()(double const T_out, double const time) const
double const flow_rate_min