Source code for relsad.reliability.indices.ev

from relsad.network.systems import PowerNetwork


[docs]def EV_Index(network: PowerNetwork): """ Returns the current EV Index, which is the current power demand from all the EV parks in the system. Parameters ---------- network : PowerNetwork A PowerNetwork element Returns ---------- ev_index : float Index reflecting the current power demand from all the EV parks in the system """ ev_index = sum(ev_park.get_ev_index() for ev_park in network.ev_parks) return ev_index
[docs]def EV_Interruption(network: PowerNetwork): """ Returns the current EV Interruption. Reflects the average number of interruptions per EV car for grid support Parameters ---------- network : PowerNetwork A PowerNetwork element Returns ---------- ev_interruption : float The average number of interruptions per EV car for grid support """ interruptions_x_num_cars = sum( ev_park.acc_exp_interruptions * ev_park.num_cars for ev_park in network.ev_parks ) total_num_cars = sum(ev_park.num_cars for ev_park in network.ev_parks) if total_num_cars == 0: ev_interruption = 0 else: ev_interruption = interruptions_x_num_cars / total_num_cars return ev_interruption
[docs]def EV_Duration(network: PowerNetwork): """ Returns the current EV Duration. Reflects the average duration of an EV car interruption for grid support Parameters ---------- network : PowerNetwork A PowerNetwork element Returns ---------- ev_duration : float The average duration of an EV car interruption for grid support """ sum_interruption_duration = sum( ev_park.acc_interruption_duration.get_hours() for ev_park in network.ev_parks ) sum_interruptions = sum( ev_park.acc_num_interruptions for ev_park in network.ev_parks ) if sum_interruptions == 0: ev_duration = 0 else: ev_duration = sum_interruption_duration / sum_interruptions return ev_duration