コード例 #1
0
ファイル: ICE_mode_ele_first.py プロジェクト: MahangHZ/model
 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
コード例 #2
0
 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