def __init__(self, temporary, number): chp = CHPInternalCombustionEngine(temporary, number) ice = InternalCombustionEngine(number, temporary) absorption_chiller = DoubleEffectAbsorptionChiller(temporary) gas_boiler = GasBoiler(temporary) elestorage = EleStorage(temporary) heatstorage = HeatStorage(temporary) demand = DemandData() time = demand.E_sheetnrows - 1 heat_stor = 0 ele_stor = 0 fuel = [] ele_bought = [] ele_ice = [] heat_gas_boiler = [] heat_absorption_chiller = [] for t in range(0, time, Parameters.delttime): ele = min(demand.E[t] - elestorage.get_E_out_max(ele_stor), ice.nominal) judge_heat = chp.get_heat_through_ele(ele) if demand.H[t] > heatstorage.get_H_out_max(heat_stor) + judge_heat + gas_boiler.nominal: self.judge = 0 break else: self.judge = 1 ele_drive = EleDrive(t, temporary, number, ele_stor) if ele_drive.ele == 0: heat_drive = HeatDriveChiller(t, temporary, number, heat_stor) self.heat = heat_drive.heat self.heat_gas_boiler = heat_drive.gas_boiler_out self.ele = ice.get_ele_out_through_heat_mode(self.heat) pl = self.ele / ice.nominal self.heat_absorption_chiller = ice.get_exhaust_gas_pl(pl) * absorption_chiller.COP_heat heat_stor = heat_drive.heat_stor ele_stor = elestorage.get_S(ele_stor, self.ele, ele_drive.elestorage_out) fuel.append(ice.get_fuel(pl) + gas_boiler.get_Fuel_in(heat_drive.gas_boiler_out)) ele_bought.append(0) else: self.ele = ele_drive.ele pl = self.ele / ice.nominal self.heat_absorption_chiller = ice.get_exhaust_gas_pl(pl) * absorption_chiller.COP_heat self.heat = self.heat_absorption_chiller + ice.get_jacket_water_pl(pl) heat_follow = HeatFollow(t, temporary, heat_stor, self.heat) heat_stor = heat_follow.heat_stor self.heat_gas_boiler = heat_follow.gas_boiler_out self.fuel = ice.get_fuel(pl) + gas_boiler.get_Fuel_in(heat_follow.gas_boiler_out) fuel.append(ice.get_fuel(pl) + gas_boiler.get_Fuel_in(heat_follow.gas_boiler_out)) ele_bought.append(ele_drive.ele_bought) ele_ice.append(self.ele) heat_gas_boiler.append(self.heat_gas_boiler) heat_absorption_chiller.append(self.heat_absorption_chiller) if heat_stor > heatstorage.nominal: heat_stor = heatstorage.nominal if ele_stor > elestorage.nominal: ele_stor = elestorage.nominal self.fuel = sum(fuel) self.ele_bought = sum(ele_bought) self.emission_calculate_ice = sum(ele_ice) self.emission_calculate_boiler = sum(heat_gas_boiler) self.emission_calculate_absorption_chiller = sum(self.heat_absorption_chiller) self.emission_calculate_grid = self.ele_bought
def __init__(self, temporary, number): heat_stor = 0 ele_stor = 0 chp = CHPInternalCombustionEngine(temporary, number) ice = InternalCombustionEngine(number, temporary) absorption_chiller = DoubleEffectAbsorptionChiller(temporary) heatstorage = HeatStorage(temporary) elestorage = EleStorage(temporary) gas_boiler = GasBoiler(temporary) demand = DemandData() time = demand.E_sheetnrows - 1 self.fuel = [] self.ele_bought = [] self.ele_ice = [] self.heat = [] self.heat_absorption_chiller = [] self.heat_gas_boiler = [] self.heat_waste = [] self.ele_waste = [] for t in range(0, time, Parameters.delttime): if demand.H[t] > heatstorage.get_H_out_max( heat_stor) + chp.heat_space_water_max + gas_boiler.nominal: self.judge = 0 break else: self.judge = 1 heat_drive = HeatDriveChiller(t, temporary, number, heat_stor) if heat_drive.heat == 0: ele_drive = EleDrive(t, temporary, number, ele_stor, 1) ele_stor = ele_drive.ele_stor ele = ele_drive.ele pl = ele / ice.nominal heat_absorption_chiller = ice.get_exhaust_gas_pl( pl) * absorption_chiller.COP_heat heat = heat_absorption_chiller + ice.get_jacket_water_pl( pl) heat_stor = heatstorage.get_S(heat_stor, heat, heat_drive.heatstorage_out) self.ele_bought.append(ele_drive.ele_bought) self.fuel.append(ice.get_fuel(ele / ice.nominal)) heat_gas_boiler = 0 else: heat = heat_drive.heat heat_gas_boiler = heat_drive.gas_boiler_out heat_stor = heat_drive.heat_stor ele = ice.get_ele_out_through_heat_mode(heat_drive.heat) pl = ele / ice.nominal heat_absorption_chiller = heat - ice.get_jacket_water_pl( pl) ele_follow = EleFollow(t, temporary, ele_stor, ele, 1) ele_stor = ele_follow.ele_stor self.ele_bought.append(ele_follow.ele_bought) self.fuel.append( ice.get_fuel(ele / ice.nominal) + gas_boiler.get_Fuel_in(heat_gas_boiler)) self.ele_ice.append(ele) self.heat.append(heat) self.heat_gas_boiler.append(heat_gas_boiler) self.heat_absorption_chiller.append(heat_absorption_chiller) if heat_stor > heatstorage.nominal: self.heat_waste.append(heat_stor - heatstorage.nominal) heat_stor = heatstorage.nominal else: self.heat_waste.append(0) if ele_stor > elestorage.nominal: self.ele_waste.append(ele_stor - elestorage.nominal) ele_stor = elestorage.nominal else: ele_stor = elestorage.nominal