Skip to content

Commit 4f0b60b

Browse files
committed
implement 40 percent rule for heat_pumps bigger 11kW
1 parent ab19951 commit 4f0b60b

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

edisgo/io/powermodels_io.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,7 +1653,7 @@ def _build_gen_hp_14a_support(psa_net, pm, edisgo_obj, s_base, flexible_hps, cur
16531653
p_min_14a = curtailment_14a.get("min_power_mw", curtailment_14a.get("max_power_mw", 0.0042)) # MW
16541654
max_hours_per_day = curtailment_14a.get("max_hours_per_day", hours_limit_14a) # hours per day
16551655
specific_components = curtailment_14a.get("components", []) # empty list = all eligible HPs
1656-
1656+
16571657
# Filter heat pumps if specific components are defined
16581658
if len(specific_components) > 0:
16591659
hps_14a = np.intersect1d(flexible_hps, specific_components)
@@ -1710,6 +1710,13 @@ def _build_gen_hp_14a_support(psa_net, pm, edisgo_obj, s_base, flexible_hps, cur
17101710

17111711
# Nominal power of HP
17121712
p_nominal = hp_p_nom[hp_name] # MW
1713+
1714+
if p_nominal > 0.011:
1715+
breakpoint()
1716+
p_min_14a = p_nominal * 0.40
1717+
else:
1718+
p_min_14a = 0.0042
1719+
17131720

17141721
# Maximum support = difference between nominal and §14a limit
17151722
# ============================================================
@@ -1720,7 +1727,7 @@ def _build_gen_hp_14a_support(psa_net, pm, edisgo_obj, s_base, flexible_hps, cur
17201727
# - §14a minimum: 4.2 kW
17211728
# - Maximum curtailment: 10 - 4.2 = 5.8 kW
17221729
# - Virtual generator: 0 to 5.8 kW (reduces net load from 10 → 4.2 kW)
1723-
#
1730+
# - for HP's bigger than 11 kW the load can be reduced up to 40 % of the nominal capacity
17241731
# Julia constraint enforces: net_load = original_load - virtual_gen >= 4.2 kW
17251732
# Guaranteed > 0 because hps_eligible filtered out HPs with p_nominal <= p_min_14a
17261733
p_max_support = p_nominal - p_min_14a

0 commit comments

Comments
 (0)