update comment

This commit is contained in:
2024-05-04 09:58:05 +02:00
parent ed58e34e7e
commit c0a7b5beff
3 changed files with 80 additions and 22 deletions

View File

@@ -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