Skip to content

[FEATURE] Improve default voltage-issue and LV grid separation reinforcement measures #641

Description

@joda9

Motivation / Problem

The existing (default) grid reinforcement measures for voltage issues and for highly
overloaded LV grids have a few shortcomings:

  1. 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.
  2. 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.
  3. 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

  • Undersized LV cables are upgraded before falling back to the 2/3 feeder split
  • use_standard_line_type option works for LV grid separation
  • New MV/LV transformers carry a valid type_info and are costed correctly
  • Tests cover the new behaviour (the existing test_reinforce_lines_voltage_issues is extended)
  • whatsnew entry added

Implemented by

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions