update comment
This commit is contained in:
@@ -15,11 +15,12 @@ class EnergySystem:
|
||||
time = row['time']
|
||||
sunlight_intensity = row['sunlight']
|
||||
factory_demand = row['demand']
|
||||
electricity_price = self.grid.get_price_for_time(time)
|
||||
# electricity_price = self.grid.get_price_for_time(time)
|
||||
electricity_price = row['price']
|
||||
|
||||
generated_pv_power = self.pv.capacity * sunlight_intensity # 生成的功率,单位 kW
|
||||
generated_pv_energy = generated_pv_power * time_interval * self.pv.loss # 生成的能量,单位 kWh
|
||||
|
||||
# pv生成的能量如果比工厂的需求要大
|
||||
if generated_pv_energy >= factory_demand * time_interval:
|
||||
# 剩余的能量(kwh) = pv生成的能量 - 工厂需求的功率 * 时间间隔
|
||||
surplus_energy = generated_pv_energy - factory_demand * time_interval
|
||||
@@ -34,21 +35,28 @@ class EnergySystem:
|
||||
total_benefit += sell_income
|
||||
# 节省的能量 = 工厂需求的能量 * 时间段
|
||||
total_energy = factory_demand * time_interval
|
||||
# pv比工厂的需求小
|
||||
else:
|
||||
# 从ess中需要的电量 = 工厂需要的电量 - pv中的电量
|
||||
needed_from_ess = factory_demand * time_interval - generated_pv_energy
|
||||
# 如果ess中村的电量比需要的多
|
||||
if self.ess.storage >= needed_from_ess:
|
||||
# 取出电量
|
||||
discharging_power = min(self.ess.discharge_power * time_interval, needed_from_ess)
|
||||
self.ess.storage -= discharging_power
|
||||
# 生下来的能量 = pv的能量 + 放出来的能量
|
||||
total_energy = generated_pv_energy + discharging_power
|
||||
else:
|
||||
total_energy = generated_pv_energy + self.ess.storage
|
||||
self.ess.storage = 0
|
||||
needed_from_grid = factory_demand * time_interval - total_energy
|
||||
net_grid = min(self.grid.capacity * time_interval, needed_from_grid) * (1 - self.grid.loss)
|
||||
total_energy += net_grid
|
||||
print(total_energy)
|
||||
unmet_demand = max(0, factory_demand * time_interval - total_energy)
|
||||
benefit = (total_energy - unmet_demand) * electricity_price
|
||||
net_grid = min(self.grid.capacity * time_interval, needed_from_grid) * self.grid.loss
|
||||
# total_energy += net_grid
|
||||
# print(total_energy)
|
||||
# 工厂需求量-总能量
|
||||
# unmet_demand = max(0, factory_demand * time_interval - total_energy)
|
||||
# benefit = (total_energy - unmet_demand) * electricity_price
|
||||
benefit = (total_energy) * electricity_price
|
||||
total_benefit += benefit
|
||||
|
||||
return total_benefit
|
||||
Reference in New Issue
Block a user