def __init__(self, temporary, number): cold_stor = 0 ele_stor = 0 chp = CHPInternalCombustionEngine(temporary, number) heat_pump = HeatPump(temporary) absorption_chiller = DoubleEffectAbsorptionChiller(temporary) coldstorage = ColdStorage(temporary) elestorage = EleStorage(temporary) ice = InternalCombustionEngine(number, temporary) demand = DemandData() time = demand.E_sheetnrows - 1 ele_bought = [] fuel = [] ele_ice = [] cold_absorption_chiller = [] for t in range(0, time, Parameters.delttime): if demand.C[t] > coldstorage.get_C_out_max( cold_stor) + chp.cold_out_max + heat_pump.nominal: self.judge = 0 break else: self.judge = 1 cold_drive = ColdDrive(t, temporary, number, cold_stor) if cold_drive.cold == 0: ele_drive = EleDrive(t, temporary, number, ele_stor) ele_stor = ele_drive.ele_stor self.ele = ele_drive.ele pl = self.ele / ice.nominal exhaust_gas = ice.get_exhaust_gas_pl(pl) jacket_water = ice.get_jacket_water_pl(pl) self.cold = absorption_chiller.get_cold_out( exhaust_gas, jacket_water) cold_stor = coldstorage.get_S(cold_stor, self.cold, cold_drive.coldstorage_out) ele_bought.append(ele_drive.ele_bought) fuel.append(ice.get_fuel(ele_drive.ele / ice.nominal)) else: self.cold = cold_drive.cold cold_stor = cold_drive.cold_stor self.ele = ice.get_ele_out_through_cold(cold_drive.cold) ele_follow = EleFollow(t, temporary, ele_stor, self.ele) ele_stor = ele_follow.ele_stor ele_bought.append( heat_pump.get_E_in(cold_drive.heat_pump_out) + ele_follow.ele_bought) fuel.append(ice.get_fuel(self.ele / ice.nominal)) ele_ice.append(self.ele) cold_absorption_chiller.append(self.cold) if cold_stor > coldstorage.nominal: cold_stor = coldstorage.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 = 0 self.emission_calculate_absorption_chiller = sum( cold_absorption_chiller) self.emission_calculate_grid = self.ele_bought
def __init__(self, temporary, number): chp = CHPInternalCombustionEngine(temporary, number) heat_pump = HeatPump(temporary) elestorage = EleStorage(temporary) coldstorage = ColdStorage(temporary) absorption_chiller = DoubleEffectAbsorptionChiller(temporary) ice = InternalCombustionEngine(number, temporary) demand = DemandData() time = demand.E_sheetnrows - 1 cold_stor = 0 ele_stor = 0 self.fuel = [] self.ele_bought = [] self.ele_ice = [] self.cold_absorption_chiller = [] self.cold_heat_pump = [] self.cold_waste = [] self.ele_waste = [] for t in range(0, time, Parameters.delttime): judge_ele = min(demand.cold_E[t] - elestorage.get_E_out_max(ele_stor), ice.nominal) judge_cold = chp.get_cold_through_ele(judge_ele) if demand.C[t] > coldstorage.get_C_out_max(cold_stor) + judge_cold + heat_pump.nominal: self.judge = 0 break else: self.judge = 1 ele_drive = EleDrive(t, temporary, number, ele_stor, 0) if ele_drive.ele == 0: cold_drive = ColdDrive(t, temporary, number, cold_stor) cold_stor = cold_drive.cold_stor cold = cold_drive.cold cold_heat_pump = 0 ele = ice.get_ele_out_through_cold(cold) pl = ele / ice.nominal ele_stor = elestorage.get_S(ele_stor, ele, ele_drive.elestorage_out) self.fuel.append(ice.get_fuel(pl)) self.ele_bought.append(heat_pump.get_E_in(cold_drive.heat_pump_out)) else: ele = ele_drive.ele pl = ele / ice.nominal exhaust_gas = ice.get_exhaust_gas_pl(pl) jacket_water = ice.get_jacket_water_pl(pl) cold = absorption_chiller.get_cold_out(exhaust_gas, jacket_water) cold_follow = ColdFollow(t, temporary, cold_stor, cold) cold_stor = cold_follow.cold_stor cold_heat_pump = cold_follow.heat_pump_out ele_stor = elestorage.get_S(ele_stor, 0, ele_drive.elestorage_out) self.fuel.append(ice.get_fuel(pl)) self.ele_bought.append(ele_drive.ele_bought + heat_pump.get_E_in(cold_follow.heat_pump_out)) self.ele_ice.append(ele) self.cold_absorption_chiller.append(cold) self.cold_heat_pump.append(cold_heat_pump) if cold_stor > coldstorage.nominal: self.cold_waste.append(cold_stor - coldstorage.nominal) cold_stor = coldstorage.nominal else: self.cold_waste.append(0) if ele_stor > elestorage.nominal: self.ele_waste.append(ele_stor - elestorage.nominal) ele_stor = elestorage.nominal else: self.ele_waste.append(0)