eelib.core.devices.bss.bss_model
eElib battery storage system (BSS) model. The battery and inverter are both modeled together. Among other things , dynamic efficiency is taken into account.
Module Contents
Classes
An electrical BSS model can be instantiated with default values or with a map of |
- class BSS(eid: str, soc_init: float = 0.5, e_bss_rated: float = 10000, p_rated_discharge_max: float = -8000, p_rated_charge_max: float = 8000, discharge_efficiency_init: float = 0.95, charge_efficiency_init: float = 0.95, status_curve: bool = False, loss_rate: float = 0.02, soc_min: float = 0.1, soc_max: float = 1.0, status_aging: bool = False, soh_init: float = 1.0, soh_cycles_max: float = 0.8, bss_cycles_max: float = 5000, bss_cycles_init: float = 0, step_size: int = 60 * 15, ac2bss_efficiency: list | None = None, bat2ac_efficiency: list | None = None, bss_threshold: float = 0.0125)
An electrical BSS model can be instantiated with default values or with a map of initial values. An energy management model can be used to determine
p_setvalues.- _VALID_PARAMETERS
- eid
- e_bss_rated = '10000'
- p_rated_discharge_max = '-8000'
- p_rated_charge_max = '8000'
- discharge_efficiency_init = '0.95'
- charge_efficiency_init = '0.95'
- status_curve = 'False'
- loss_rate = '0.02'
- soc_init = '0.5'
- soc_min = '0.1'
- soc_max = '1.0'
- status_aging = 'False'
- soh_init = '1.0'
- soh_cycles_max = '0.8'
- bss_cycles_max = '5000'
- bss_cycles_init = '0'
- step_size = '900'
- p_max = '8000'
- p_min = '-8000'
- bss_cycles = 'None'
- p = '0'
- bat2ac_efficiency = 'None'
- ac2bss_efficiency = 'None'
- bss_threshold = '0.0125'
- soc = '0.5'
- e_bss_usable = '10000'
- e_bat
- e_cycle = '20000'
- soh = '1.0'
- p_set
- charge_efficiency = '0.95'
- discharge_efficiency = '0.95'
- charge_efficiency_max = '0.95'
- discharge_efficiency_max = '0.95'
- timestep = '0'
- self_discharge_step = '6.944444444444445e-06'
- classmethod get_valid_parameters() dict
Returns dictionary containing valid parameter types and values.
- Returns:
valid parameters for this model
- Return type:
dict
- _set_power_within_limit()
Sets the active power limit of the battery based on its rated charge and discharge capacities and the current active power setpoint.
- _calc_charging_efficiency()
Sets dynamic (dis)charging efficiency levels (“charge_efficiency” / “discharge_efficiency”).
- _calc_power_limits()
Sets (dis)charging power limits.
- step(timestep: int)
Performs simulation step of eELib battery model. Calculates all of the Dynamic Properties based on the Input Properties.
- Parameters:
timestep (int) – Current simulation time
- _calculate_aging_status()
Calculates the state of health (soh) and then checks if the soh limit has been reached.
soh = soh_init - #cycles * aging_of_one_cycleaging_of_one_cycle = (soh_init - soh_end) / #max_cycles- Raises:
ValueError – When minimum soh has been reached for the battery
- _calc_discharge_efficiency()
Calculation of dynamic discharging efficiency (
bat2ac_efficiency).
- _calc_charge_efficiency()
Calculation of dynamic charging efficiency (
ac2bss_efficiency).