add chargepower and discharge power
This commit is contained in:
		
							
								
								
									
										29
									
								
								config.py
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								config.py
									
									
									
									
									
								
							| @@ -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  # 默认电价,以防万一没有匹配的时间段 | ||||
|      | ||||
|  | ||||
|  | ||||
|      | ||||
|   | ||||
		Reference in New Issue
	
	Block a user