Illuminator Controller Models
- class illuminator.models.Controllers.controller_T1.controller_T1_v3.Controller_T1(**kwargs)
Controller for managing power flows between renewable generation, load, and battery storage.
This controller determines how power should be distributed between renewable sources (wind, solar), load demands, and battery storage. It implements basic control logic for battery charging and discharging based on state of charge limits and power constraints.
- Parameters:
soc_min (float) – Minimum state of charge of the battery before discharging stops (%)
soc_max (float) – Maximum state of charge of the battery before charging stops (%)
max_p (float) – Maximum power to/from the battery (kW)
battery_active (bool) – Flag to enable/disable battery operation
- Inputs:
wind_gen (float) – Wind power generation (kW)
pv_gen (float) – Solar power generation (kW)
load_dem (float) – Electrical load demand (kW)
soc (float) – State of charge of the battery (%)
- Outputs:
flow2b (float) – Power flow to/from battery (kW, positive for charging, negative for discharging)
res_load (float) – Residual load after renewable generation (kW)
dump (float) – Excess power that cannot be stored or used (kW)
- States:
None
- control(wind_gen, pv_gen, load_dem, soc=None)
Controls power flows based on generation, demand and storage states.
- Parameters:
wind_gen (float) – Wind power generation [kW]
pv_gen (float) – Solar power generation [kW]
load_dem (float) – Load demand [kW]
soc (float) – Battery state of charge [%]
- Returns:
Dictionary containing: - flow2b (float): Power flow to/from battery [kW] - res_load (float): Residual load [kW] - dump (float): Excess power [kW]
- Return type:
dict
- inputs: Dict = {'load_dem': 0, 'pv_gen': 0, 'soc': 0, 'wind_gen': 0}
- outputs: Dict = {'dump': 0, 'flow2b': 0, 'res_load': 0}
- parameters: Dict = {'battery_active': True, 'max_p': 100, 'soc_max': 100, 'soc_min': 0}
- states: Dict = {}
- step(time: int, inputs: dict = None, max_advance: int = 900) None
Advances the simulation one time step.
- Parameters:
time (int) – Current simulation time
inputs (dict) – Dictionary containing input values:
wind_gen (-) – Wind power generation [kW]
pv_gen (-) – Solar power generation [kW]
load_dem (-) – Load demand [kW]
soc (-) – Battery state of charge [%]
max_advance (int, optional) – Maximum time to advance in seconds. Defaults to 900.
- Returns:
Next simulation time step
- Return type:
int
- time = None
- time_step_size: int = 1
- class illuminator.models.Controllers.controller_T3Congestion.controller_T3Congestion_v3.ControllerT3Congestion(**kwargs)
Controller for managing power flows between renewable generation, load, battery storage, and electrified assets.
This controller determines power distribution between renewable sources (wind, solar), load demands, battery storage, and electrified assets like EVs and heat pumps. It implements control logic for battery charging/discharging and load shifting to manage grid congestion.
- Parameters:
soc_min (float) – Minimum state of charge of the battery before discharging stops (%)
soc_max (float) – Maximum state of charge of the battery before charging stops (%)
max_p (float) – Maximum power to/from the battery (kW)
gridconnect_ctrl (float) – Grid connection capacity limit (kW)
battery_active (bool) – Flag to enable/disable battery operation
elec_assets (bool) – Flag to enable/disable electrified assets
load_shift_active (bool) – Flag to enable/disable load shifting during congestion warnings
- Inputs:
wind_gen (float) – Wind power generation (kW)
pv_gen (float) – Solar power generation (kW)
load_dem (float) – Base electrical load demand (kW)
soc (float) – State of charge of the battery (%)
load_EV (float) – Electric vehicle load demand (kW)
load_HP (float) – Heat pump load demand (kW)
flag_warning (int) – Warning flag for grid congestion
- Outputs:
flow2b (float) – Power flow to/from battery (kW, positive for charging, negative for discharging)
res_load (float) – Residual load after renewable generation (kW)
dump (float) – Excess power that cannot be stored or used (kW)
- States:
limit_grid_connect (float) – Grid connection limit for congestion management (kW)
- control(wind_gen, pv_gen, load_dem, soc=None, load_EV=None, load_HP=None, flag_warning=None)
Controls power flows based on generation, demand and storage states.
- Parameters:
wind_gen (float) – Wind power generation [kW]
pv_gen (float) – Solar power generation [kW]
load_dem (float) – Load demand [kW]
soc (float) – Battery state of charge [%]
load_EV (float, optional) – Electric vehicle load demand [kW]
load_HP (float, optional) – Heat pump load demand [kW]
flag_warning (int, optional) – Warning flag for grid congestion
- Returns:
Dictionary containing: - flow2b (float): Power flow to/from battery [kW] - res_load (float): Residual load [kW] - dump (float): Excess power [kW]
- Return type:
dict
- inputs: Dict = {'flag_warning': None, 'load_EV': 0, 'load_HP': 0, 'load_dem': 0, 'pv_gen': 0, 'soc': 0, 'wind_gen': 0}
- outputs: Dict = {'dump': 0, 'flow2b': 0, 'res_load': 0}
- parameters: Dict = {'battery_active': True, 'elec_assets': True, 'gridconnect_ctrl': 15, 'load_shift_active': True, 'max_p': 100, 'soc_max': 100, 'soc_min': 0}
- states: Dict = {'limit_grid_connect': None}
- step(time: int, inputs: dict = None, max_advance: int = 900) None
Advances the simulation one time step.
- Parameters:
time (int) – Current simulation time
inputs (dict) – Dictionary containing input values:
wind_gen (-) – Wind power generation [kW]
pv_gen (-) – Solar power generation [kW]
load_dem (-) – Load demand [kW]
soc (-) – Battery state of charge [%]
load_EV (-) – Electric vehicle load demand [kW]
load_HP (-) – Heat pump load demand [kW]
flag_warning (-) – Warning flag for grid congestion
max_advance (int, optional) – Maximum time to advance in seconds. Defaults to 900.
- Returns:
Next simulation time step
- Return type:
int
- time = None
- time_step_size: int = 1