Motivation / Problem
The existing (default) grid reinforcement measures for voltage issues and for highly
overloaded LV grids have a few shortcomings:
- Voltage issues in LV feeders are always solved by splitting the feeder at 2/3 of its
length, even when the actual cause is one or more undersized cables in the feeder.
Exchanging the undersized cable for a standard cable would be the cheaper / more realistic
measure in those cases.
- LV grid separation always connects the split point to the (new) station with the standard
line type, even if the original line was larger. This can under-dimension the connecting
line.
- New MV/LV transformers created during LV grid separation get
type_info = None, which
breaks the transformer cost calculation downstream.
This is related to the broader effort in #377 (add/improve grid reinforcement methods) and to
the voltage-band discussion in #350, but concerns the existing default measures rather than
the alternative method framework.
Proposed solution
- In
reinforce_lines_voltage_issues (edisgo/flex_opt/reinforce_measures.py):
- Use
grid.assign_grid_feeder() / the grid_feeder column to group critical buses per feeder.
- For LV feeders, first exchange undersized cables (
NAYY 4x1x120/95/50/35, excluding
house-connection end cables) by the standard cable, adding parallel cables when the standard
cable would reduce s_nom. Only if no cable was exchanged, fall back to the 2/3 split.
- Extract the 2/3-split logic into a reusable function
split_feeder_at_given_length(..., disconnect_length=2/3).
- Add a helper
get_standard_line() to deduplicate the standard-line config lookup.
separate_lv_grid / run_separate_lv_grids / enhanced_reinforce_grid: add a
use_standard_line_type parameter (when False, keep the original line type and number of
parallel lines for the connecting line).
- Fix the new transformer's
type_info to the standard transformer name (cost-calculation fix).
Affected files
edisgo/flex_opt/reinforce_measures.py
edisgo/flex_opt/reinforce_grid.py
edisgo/network/topology.py
Acceptance criteria
Implemented by
Related
Motivation / Problem
The existing (default) grid reinforcement measures for voltage issues and for highly
overloaded LV grids have a few shortcomings:
length, even when the actual cause is one or more undersized cables in the feeder.
Exchanging the undersized cable for a standard cable would be the cheaper / more realistic
measure in those cases.
line type, even if the original line was larger. This can under-dimension the connecting
line.
type_info = None, whichbreaks the transformer cost calculation downstream.
This is related to the broader effort in #377 (add/improve grid reinforcement methods) and to
the voltage-band discussion in #350, but concerns the existing default measures rather than
the alternative method framework.
Proposed solution
reinforce_lines_voltage_issues(edisgo/flex_opt/reinforce_measures.py):grid.assign_grid_feeder()/ thegrid_feedercolumn to group critical buses per feeder.NAYY 4x1x120/95/50/35, excludinghouse-connection end cables) by the standard cable, adding parallel cables when the standard
cable would reduce
s_nom. Only if no cable was exchanged, fall back to the 2/3 split.split_feeder_at_given_length(..., disconnect_length=2/3).get_standard_line()to deduplicate the standard-line config lookup.separate_lv_grid/run_separate_lv_grids/enhanced_reinforce_grid: add ause_standard_line_typeparameter (whenFalse, keep the original line type and number ofparallel lines for the connecting line).
type_infoto the standard transformer name (cost-calculation fix).Affected files
edisgo/flex_opt/reinforce_measures.pyedisgo/flex_opt/reinforce_grid.pyedisgo/network/topology.pyAcceptance criteria
use_standard_line_typeoption works for LV grid separationtype_infoand are costed correctlytest_reinforce_lines_voltage_issuesis extended)Implemented by
Related