Example #1
0
 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
Example #2
0
 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)