def __init__(self, temporary): gasturbine = GasTurbine( temporary) # 为求H_CHP_out_max 和 C_CHP_out_max调整pl = 1 boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) self.E_out_max = gasturbine.nominal self.heat_ele_ratio = 0.94 * gasturbine.effi_th_nom / gasturbine.effi_ele_nom # 0.94: 热电比认为可不变.xlsx 文件里F 列 if gasturbine.get_H_out(Parameters.get_nominal_GasTurbine( temporary)) <= boiler.heat_in_max: boiler_heat_in = gasturbine.get_H_out( Parameters.get_nominal_GasTurbine(temporary)) # 进入余热锅炉的热量,但设计的结果一定是gasturbine.get_H_out(P.nominal_GasTurbine) >= boiler.heat_in_max # else: boiler_heat_in = boiler.heat_in_max self.H_out_max = boiler.get_H_out(boiler_heat_in) * (1 - Parameters.k) if boiler.get_H_out(boiler_heat_in ) * Parameters.k <= absorptionchiller.heat_in_max: absorptionchiller_heat_in = boiler.get_H_out( boiler_heat_in) * Parameters.k # 进入制冷机的热量,但设计的结果一定是 boiler.get_H_out(boiler_heat_in) * P.k >= absorptionchiller.heat_in_max else: absorptionchiller_heat_in = absorptionchiller.heat_in_max self.C_out_max = absorptionchiller.get_C_out(absorptionchiller_heat_in)
def signal_cold(t, temporary, cold_stor, season): # 储电够,储热够,储冷不够 chp = CHP(temporary) gasturbine = GasTurbine(temporary) boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) gasboiler = GasBoiler(temporary) heatpump = HeatPump(temporary) coldstorage = ColdStorage(temporary) demand = DemandData() if season == 0: demand_ele = demand.cold_E elif season == 1: demand_ele = demand.heat_E else: demand_ele = demand.transition_E elestorage_ele_out = demand_ele[t] heatstorage_heat_out = demand.H[t] coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) coldstorage_cold_in = 0 powergrid_ele_out = 0 gasboiler_heat_out = 0 gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) if demand.C[t] <= coldstorage_cold_out + chp.C_out_max: absorptionchiller_cold_out = demand.C[t] - coldstorage_cold_out heatpump_cold_out = 0 else: absorptionchiller_cold_out = chp.C_out_max heatpump_cold_out = demand.C[t] - coldstorage_cold_out - absorptionchiller_cold_out absorptionchiller_heat_in = absorptionchiller.get_H_in(absorptionchiller_cold_out) boiler_heat_out = absorptionchiller_heat_in / Parameters.k boiler_heat_out_users = boiler_heat_out * (1 - Parameters.k) heatstorage_heat_in = boiler_heat_out_users boiler_heat_in = boiler.get_H_in(boiler_heat_out) gasturbine_ele_out = boiler_heat_in / chp.heat_ele_ratio gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) heatpump_ele_in = heatpump.get_E_in(heatpump_cold_out) if heatpump_ele_in <= gasturbine_ele_out: elestorage_ele_in = gasturbine_ele_out - heatpump_ele_in heatpump_powergrid = 0 else: elestorage_ele_in = 0 heatpump_powergrid = heatpump_ele_in - gasturbine_ele_out result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) return result
def signal_ele(t, temporary, ele_stor): chp = CHP(temporary) gasturbine = GasTurbine(temporary) boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) gasboiler = GasBoiler(temporary) elestorage = EleStorage(temporary) demand = DemandData() heatpump_powergrid = 0 heatpump_cold_out = 0 gasboiler_heat_out = 0 gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) coldstorage_cold_out = demand.C[t] heatstorage_heat_out = demand.H[t] elestorage_ele_in = 0 elestorage_ele_out = elestorage.get_E_out_max(ele_stor) if demand.E[t] > (elestorage.get_E_out_max(ele_stor) + chp.E_out_max) * Parameters.delttime: # 储电+ CHP + 电网 powergrid_ele_out = demand.E[t] - elestorage.get_E_out_max( ele_stor) - chp.E_out_max gasturbine_ele_out = chp.E_out_max # kWh else: # 储电+ CHP gasturbine_ele_out = demand.E[t] - elestorage.get_E_out_max(ele_stor) powergrid_ele_out = 0 gasturbine_heat_out = gasturbine.get_H_out(gasturbine_ele_out) gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) if gasturbine_heat_out <= boiler.heat_in_max: # 防止汽轮机输出热量 > 余热锅炉允许进入热量 boiler_heat_in = gasturbine_heat_out else: boiler_heat_in = boiler.heat_in_max boiler_heat_out = boiler.get_H_out(boiler_heat_in) boiler_heat_out_users = boiler_heat_out * (1 - Parameters.k) absorptionchiller_heat_in = boiler_heat_out * Parameters.k absorptionchiller_cold_out = absorptionchiller.get_C_out( absorptionchiller_heat_in) coldstorage_cold_in = absorptionchiller_cold_out heatstorage_heat_in = boiler_heat_out_users result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) # 15项 return result
def mode_base_load(t, temporary, cold_stor, heat_stor, ele_stor, season): chp = CHP(temporary) gasturbine = GasTurbine(temporary) gasboiler = GasBoiler(temporary) heatpump = HeatPump(temporary) elestorage = EleStorage(temporary) heatstorage = HeatStorage(temporary) coldstorage = ColdStorage(temporary) demand = DemandData() if season == 0: demand_ele = demand.cold_E elif season == 1: demand_ele = demand.heat_E else: demand_ele = demand.transition_E remainder = t % 24 if (remainder >= 8) & (remainder <= 19): # 8:00-20:00 gasturbine_ele_out = gasturbine.nominal gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) boiler_heat_out_users = chp.H_out_max boiler_heat_out = boiler_heat_out_users / (1 - Parameters.k) absorptionchiller_cold_out = chp.C_out_max if demand_ele[t] <= gasturbine_ele_out: # 电量先由chp提供,再由储能提供 elestorage_ele_in = gasturbine_ele_out - demand_ele[t] elestorage_ele_out = 0 powergrid_ele_out = 0 elif ((demand_ele[t] > gasturbine_ele_out) & (demand_ele[t] <= gasturbine_ele_out + elestorage.get_E_out_max(ele_stor))): elestorage_ele_in = 0 elestorage_ele_out = gasturbine_ele_out + elestorage.get_E_out_max( ele_stor) - demand_ele[t] powergrid_ele_out = 0 else: elestorage_ele_in = 0 elestorage_ele_out = elestorage.get_E_out_max(ele_stor) powergrid_ele_out = demand_ele[ t] - gasturbine_ele_out - elestorage_ele_out if demand.H[t] <= boiler_heat_out_users: heatstorage_heat_in = boiler_heat_out_users - demand.H[t] heatstorage_heat_out = 0 gasboiler_heat_out = 0 elif ((demand.H[t] > boiler_heat_out_users) & (demand.H[t] <= boiler_heat_out_users + heatstorage.get_H_out_max(heat_stor))): heatstorage_heat_in = 0 heatstorage_heat_out = demand.H[t] - boiler_heat_out_users gasboiler_heat_out = 0 else: heatstorage_heat_in = 0 heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) gasboiler_heat_out = demand.H[ t] - boiler_heat_out_users - heatstorage_heat_out gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) if demand.C[t] <= absorptionchiller_cold_out: coldstorage_cold_in = absorptionchiller_cold_out - demand.C[t] coldstorage_cold_out = 0 heatpump_cold_out = 0 elif ((demand.C[t] > absorptionchiller_cold_out) & (demand.C[t] <= absorptionchiller_cold_out + coldstorage.get_C_out_max(cold_stor))): coldstorage_cold_in = 0 coldstorage_cold_out = demand.C[t] - absorptionchiller_cold_out heatpump_cold_out = 0 else: coldstorage_cold_in = 0 coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) heatpump_cold_out = demand.C[ t] - absorptionchiller_cold_out - coldstorage_cold_out heatpump_powergrid = heatpump.get_E_in(heatpump_cold_out) else: # 20:00-凌晨8:00 gasturbine_ele_out = 0 boiler_heat_out = 0 absorptionchiller_cold_out = 0 gasturbine_fuel = 0 elestorage_ele_in = 0 heatstorage_heat_in = 0 coldstorage_cold_in = 0 if demand_ele[t] <= elestorage.get_E_out_max(ele_stor): elestorage_ele_out = demand_ele[t] powergrid_ele_out = 0 else: elestorage_ele_out = elestorage.get_E_out_max(ele_stor) powergrid_ele_out = demand_ele[t] - elestorage_ele_out if demand.H[t] <= heatstorage.get_H_out_max(heat_stor): heatstorage_heat_out = demand.H[t] gasboiler_heat_out = 0 else: heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) gasboiler_heat_out = demand.H[t] - heatstorage_heat_out gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) if demand.C[t] <= coldstorage.get_C_out_max(cold_stor): coldstorage_cold_out = demand.C[t] heatpump_cold_out = 0 else: coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) heatpump_cold_out = demand.C[t] - coldstorage_cold_out heatpump_powergrid = heatpump.get_E_in(heatpump_cold_out) result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) return result
def signal_heat(t, temporary, cold_stor, heat_stor): # 储电够,储热不够 chp = CHP(temporary) gasturbine = GasTurbine(temporary) boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) gasboiler = GasBoiler(temporary) heatpump = HeatPump(temporary) heatstorage = HeatStorage(temporary) coldstorage = ColdStorage(temporary) demand = DemandData() elestorage_ele_out = demand.E[t] heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) heatstorage_heat_in = 0 powergrid_ele_out = 0 if demand.H[t] <= heatstorage_heat_out + chp.H_out_max: boiler_heat_out_users = demand.H[t] - heatstorage_heat_out gasboiler_heat_out = 0 else: boiler_heat_out_users = chp.H_out_max gasboiler_heat_out = demand.H[ t] - heatstorage_heat_out - boiler_heat_out_users boiler_heat_out = boiler_heat_out_users / (1 - Parameters.k) boiler_heat_in = boiler.get_H_in(boiler_heat_out) gasturbine_ele_out = boiler_heat_in / chp.heat_ele_ratio gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) absorptionchiller_cold_out = absorptionchiller.get_C_out(boiler_heat_out * Parameters.k) gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) if demand.C[t] <= coldstorage.get_C_out_max(cold_stor): coldstorage_cold_out = demand.C[t] coldstorage_cold_in = absorptionchiller_cold_out heatpump_cold_out = 0 elif ( (demand.C[t] > coldstorage.get_C_out_max(cold_stor) & (demand.C[t] <= coldstorage.get_C_out_max(cold_stor) + absorptionchiller_cold_out))): coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) coldstorage_cold_in = coldstorage_cold_out + absorptionchiller_cold_out - demand.C[ t] heatpump_cold_out = 0 else: coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) coldstorage_cold_in = 0 heatpump_cold_out = demand.C[ t] - coldstorage_cold_out - absorptionchiller_cold_out heatpump_ele_in = heatpump.get_E_in(heatpump_cold_out) if heatpump_ele_in <= gasturbine_ele_out: # 热泵的电首先由chp供电 heatpump_powergrid = 0 elestorage_ele_in = gasturbine_ele_out - heatpump_ele_in else: heatpump_powergrid = heatpump_ele_in - gasturbine_ele_out elestorage_ele_in = 0 result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) return result
def signal_ele(t, temporary, cold_stor, heat_stor, ele_stor): # 储电不够 chp = CHP(temporary) gasturbine = GasTurbine(temporary) boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) gasboiler = GasBoiler(temporary) heatpump = HeatPump(temporary) elestorage = EleStorage(temporary) heatstorage = HeatStorage(temporary) coldstorage = ColdStorage(temporary) demand = DemandData() elestorage_ele_out = elestorage.get_E_out_max(ele_stor) elestorage_ele_in = 0 if demand.E[t] > elestorage_ele_out + chp.E_out_max: powergrid_ele_out = demand.E[t] - elestorage_ele_out - chp.E_out_max gasturbine_ele_out = gasturbine.nominal else: # 可由chp系统满足 gasturbine_ele_out = demand.E[t] - elestorage_ele_out powergrid_ele_out = 0 gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) gasturbine_heat_out = gasturbine.get_H_out(gasturbine_ele_out) boiler_heat_out = boiler.get_H_out(gasturbine_heat_out) boiler_heat_out_users = boiler_heat_out * (1 - Parameters.k) absorptionchiller_heat_in = boiler_heat_out * Parameters.k absorptionchiller_cold_out = absorptionchiller.get_C_out( absorptionchiller_heat_in) if demand.H[t] <= heatstorage.get_H_out_max(heat_stor): heatstorage_heat_out = demand.H[t] heatstorage_heat_in = boiler_heat_out_users gasboiler_heat_out = 0 elif ((demand.H[t] > heatstorage.get_H_out_max(heat_stor)) & (demand.H[t] <= heatstorage.get_H_out_max(heat_stor) + boiler_heat_out_users)): heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) heatstorage_heat_in = boiler_heat_out_users + heatstorage_heat_out - demand.H[ t] gasboiler_heat_out = 0 else: # 要用燃气锅炉 heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) heatstorage_heat_in = 0 gasboiler_heat_out = demand.H[ t] - heatstorage_heat_out - boiler_heat_out_users gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) if demand.C[t] <= coldstorage.get_C_out_max(cold_stor): coldstorage_cold_out = demand.C[t] coldstorage_cold_in = absorptionchiller_cold_out heatpump_cold_out = 0 elif ((demand.C[t] > coldstorage.get_C_out_max(cold_stor)) & (demand.C[t] <= coldstorage.get_C_out_max(cold_stor) + absorptionchiller_cold_out)): coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) coldstorage_cold_in = coldstorage_cold_out + absorptionchiller_cold_out - demand.C[ t] / Parameters.delttime heatpump_cold_out = 0 else: coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) coldstorage_cold_in = 0 heatpump_cold_out = (demand.C[t] - coldstorage.get_C_out_max(cold_stor) - absorptionchiller_cold_out) heatpump_powergrid = heatpump.get_E_in(heatpump_cold_out) # 此时热泵耗电全部由电网提供 result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) return result
def signal_heat(t, temporary, heat_stor, ele_stor): # 储冷> 冷需求, 储热 < 热需求 chp = CHP(temporary) gasturbine = GasTurbine(temporary) boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) gasboiler = GasBoiler(temporary) elestorage = EleStorage(temporary) heatstorage = HeatStorage(temporary) demand = DemandData() heatpump_powergrid = 0 heatpump_cold_out = 0 coldstorage_cold_out = demand.C[t] heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) heatstorage_heat_in = 0 if demand.H[t] > heatstorage.get_H_out_max( heat_stor) + chp.H_out_max: # 储热+ CHP + 燃气锅炉 gasboiler_heat_out = demand.H[t] - heatstorage.get_H_out_max( heat_stor) - chp.H_out_max boiler_heat_out_users = chp.H_out_max else: # 储热+ CHP boiler_heat_out_users = demand.H[t] - heatstorage.get_H_out_max( heat_stor) gasboiler_heat_out = 0 gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) boiler_heat_out = boiler_heat_out_users / (1 - Parameters.k) boiler_heat_in = boiler.get_H_in(boiler_heat_out) gasturbine_heat_out = boiler_heat_in gasturbine_ele_out = gasturbine_heat_out / chp.heat_ele_ratio gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) if boiler_heat_out * Parameters.k <= absorptionchiller.heat_in_max: # 防止锅炉产热*P.k 大于制冷机允许进入的热量 absorptionchiller_heat_in = boiler_heat_out * Parameters.k else: absorptionchiller_heat_in = absorptionchiller.heat_in_max absorptionchiller_cold_out = absorptionchiller.get_C_out( absorptionchiller_heat_in) coldstorage_cold_in = absorptionchiller.get_C_out( absorptionchiller_heat_in) if demand.E[t] <= elestorage.get_E_out_max(ele_stor): # 储电 elestorage_ele_out = demand.E[t] elestorage_ele_in = gasturbine_ele_out powergrid_ele_out = 0 elif ((demand.E[t] > elestorage.get_E_out_max(ele_stor)) & (demand.E[t] <= elestorage.get_E_out_max(ele_stor) + gasturbine_ele_out)): # 储电+ CHP elestorage_ele_out = elestorage.get_E_out_max(ele_stor) elestorage_ele_in = gasturbine_ele_out + elestorage.get_E_out_max( ele_stor) - demand.E[t] / Parameters.delttime powergrid_ele_out = 0 else: # 储电+ CHP + 电网 elestorage_ele_out = elestorage.get_E_out_max(ele_stor) elestorage_ele_in = 0 powergrid_ele_out = demand.E[t] - elestorage.get_E_out_max( ele_stor) - gasturbine_ele_out result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) return result
def signal_cold(t, temporary, cold_stor, heat_stor, ele_stor): # 储冷不够 chp = CHP(temporary) gasturbine = GasTurbine(temporary) boiler = Boiler(temporary) absorptionchiller = AbsorptionChiller(temporary) gasboiler = GasBoiler(temporary) heatpump = HeatPump(temporary) elestorage = EleStorage(temporary) heatstorage = HeatStorage(temporary) coldstorage = ColdStorage(temporary) demand = DemandData() coldstorage_cold_out = coldstorage.get_C_out_max(cold_stor) coldstorage_cold_in = 0 if demand.C[t] > (coldstorage.get_C_out_max(cold_stor) + chp.C_out_max): # 储冷 + CHP + 热泵满足 heatpump_cold_out = demand.C[t] - coldstorage.get_C_out_max( cold_stor) - chp.C_out_max # 热泵产冷 absorptionchiller_cold_out = chp.C_out_max else: # 储冷+ CHP 满足 heatpump_cold_out = 0 absorptionchiller_cold_out = demand.C[t] - coldstorage.get_C_out_max( cold_stor) heatpump_ele_in = heatpump.get_E_in(heatpump_cold_out) # 热泵耗电 absorptionchiller_heat_in = absorptionchiller.get_H_in( absorptionchiller_cold_out) boiler_heat_out = absorptionchiller_heat_in / Parameters.k boiler_heat_out_users = boiler_heat_out * (1 - Parameters.k) boiler_heat_in = boiler.get_H_in(boiler_heat_out) gasturbine_heat_out = boiler_heat_in gasturbine_ele_out = gasturbine_heat_out / chp.heat_ele_ratio gasturbine_fuel = gasturbine.get_fuel(gasturbine_ele_out) if gasturbine_ele_out >= heatpump_ele_in: gasturbine_ele_out_users = gasturbine_ele_out - heatpump_ele_in # 别忘了 heatpump_powergrid = 0 else: gasturbine_ele_out_users = 0 heatpump_powergrid = heatpump_ele_in - gasturbine_ele_out if demand.H[t] <= heatstorage.get_H_out_max(heat_stor): # 储热即可满足 heatstorage_heat_in = boiler_heat_out_users heatstorage_heat_out = demand.H[t] gasboiler_heat_out = 0 elif ((demand.H[t] > heatstorage.get_H_out_max(heat_stor)) & (demand.H[t] <= boiler_heat_out_users + heatstorage.get_H_out_max(heat_stor))): # 储热+ CHP 满足,多余存入储热 heatstorage_heat_in = boiler_heat_out_users + heatstorage.get_H_out_max( heat_stor) - demand.H[t] # 储热先供热,CHP产热再存入储热 heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) gasboiler_heat_out = 0 else: # DemandData.H[t] > (boiler_heat_out_users + heatstorage.get_H_out_max(heat_stor)): # 储热+ CHP + 燃气锅炉 满足 gasboiler_heat_out = demand.H[ t] - boiler_heat_out_users - heatstorage.get_H_out_max(heat_stor) heatstorage_heat_in = 0 heatstorage_heat_out = heatstorage.get_H_out_max(heat_stor) gasboiler_fuel = gasboiler.get_Fuel_in(gasboiler_heat_out) if demand.E[t] <= elestorage.get_E_out_max(ele_stor): # 储电满足 elestorage_ele_in = gasturbine_ele_out_users elestorage_ele_out = demand.E[t] powergrid_ele_out = 0 elif ((demand.E[t] > elestorage.get_E_out_max(ele_stor)) & (demand.E[t] <= elestorage.get_E_out_max(ele_stor) + gasturbine_ele_out_users)): # 储电 + CHP 满足,多余存入储电 elestorage_ele_in = elestorage.get_E_out_max( ele_stor) + gasturbine_ele_out_users - demand.E[t] elestorage_ele_out = elestorage.get_E_out_max(ele_stor) powergrid_ele_out = 0 else: # 储电+ CHP + 电网 elestorage_ele_in = 0 elestorage_ele_out = elestorage.get_E_out_max(ele_stor) powergrid_ele_out = (demand.E[t] - elestorage.get_E_out_max(ele_stor) - gasturbine_ele_out_users) result = (coldstorage_cold_in, coldstorage_cold_out, heatstorage_heat_in, heatstorage_heat_out, elestorage_ele_in, elestorage_ele_out, absorptionchiller_cold_out, boiler_heat_out, gasturbine_ele_out, heatpump_cold_out, gasboiler_heat_out, powergrid_ele_out, gasboiler_fuel, gasturbine_fuel, heatpump_powergrid) # 15 项 return result