add chargepower and discharge power

This commit is contained in:
mhrooz 2024-05-03 13:44:12 +02:00
parent 1902d53a92
commit ca10254c52
2 changed files with 26 additions and 3 deletions

View File

@ -1,13 +1,36 @@
import pandas as pd
class pv_config:
def __init__(self, capacity, cost_per_kW, pv_lifetime):
def __init__(self, capacity, cost_per_kW, pv_lifetime, pv_loss):
self.capacity = capacity
self.cost_per_kW = cost_per_kW
self.pv_lifetime = pv_lifetime
self.pv_loss = pv_loss
class ess_config:
def __init__(self, capacity, cost_per_kW, pv_lifetime):
def __init__(self, capacity, cost_per_kW, ess_lifetime, ess_loss, charge_power, discharge_power):
self.capacity = capacity
self.cost_per_kW = cost_per_kW
self.pv_lifetime = pv_lifetime
self.ess_lifetime = ess_lifetime
self.ess_loss = ess_loss
self.ess_storage = 0
self.charge_power = charge_power
self.discharge_power = discharge_power
class grid_config:
def __init__(self, price_schedule, grid_loss):
self.price_schedule = price_schedule
def get_price_for_time(self, time):
hour, minute = map(int, time.split(':'))
total_minutes = hour * 60 + minute
for _, row in self.price_schedule.iterrows():
start_hour, start_minute = map(int, row['time_start'].split(':'))
end_hour, end_minute = map(int, row['time_end'].split(':'))
start_total_minutes = start_hour * 60 + start_minute
end_total_minutes = end_hour * 60 + end_minute
if start_total_minutes <= total_minutes < end_total_minutes:
return row['price']
return 0.1 # 默认电价,以防万一没有匹配的时间段

View File