@@ -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