Quellcode für stemp.scenarios.heat

"""Module to calculate heatpump efficiency"""


[Doku]def calc_hp_heating_supply_temp(temp, heating_system, **kwargs): """ Generates an hourly supply temperature profile depending on the ambient temperature. For ambient temperatures below t_heat_period the supply temperature increases linearly to t_sup_max with decreasing ambient temperature. Parameters: temp: pandas.Series Timeseries of ambient temperature heating_system: str specifies the heating system (floor heating or radiator) """ # outdoor temp upto which is heated: t_heat_period = kwargs.get("t_heat_period", 20) # design outdoor temp: t_amb_min = kwargs.get("t_amb_min", -14) # minimum and maximum supply temperature of heating system if heating_system == "floor heating": t_sup_max = kwargs.get("t_sup_max", 35) t_sup_min = kwargs.get("t_sup_min", 20) elif heating_system == "radiator": t_sup_max = kwargs.get("t_sup_max", 55) t_sup_min = kwargs.get("t_sup_min", 20) else: t_sup_max = kwargs.get("t_sup_max", 55) t_sup_min = kwargs.get("t_sup_min", 20) # calculate parameters for linear correlation for supply temp and # ambient temp slope = (t_sup_min - t_sup_max) / (t_heat_period - t_amb_min) y_intercept = t_sup_max - slope * t_amb_min # calculate supply temperature t_sup_heating = slope * temp + y_intercept t_sup_heating[t_sup_heating < t_sup_min] = t_sup_min t_sup_heating[t_sup_heating > t_sup_max] = t_sup_max return t_sup_heating
[Doku]def cop_heating_floor(temp, type_hp, **kwargs): """ Returns the COP of a heat pump for heating. Parameters temp -- pandas Series with ambient or brine temperature type_hp -- string specifying the heat pump type (air or brine) """ cop_max = kwargs.get("cop_max", 7) if type_hp == "air": eta_g = kwargs.get("eta_g", 0.3) # COP/COP_max elif type_hp == "brine": eta_g = kwargs.get("eta_g", 0.4) # COP/COP_max else: eta_g = kwargs.get("eta_g", 0.4) # COP/COP_max # get supply temperatures t_sup_fh = calc_hp_heating_supply_temp(temp, "floor heating") # calculate COP for floor heating and radiators cop_hp_heating_fh = eta_g * ((273.15 + t_sup_fh) / (t_sup_fh - temp)) cop_hp_heating_fh[cop_hp_heating_fh > cop_max] = cop_max cop_hp_heating_fh.clip(lower=0.0, inplace=True) return cop_hp_heating_fh