Skip to content

Jd/geometry branch switch base - #198

Merged
AadilLatif merged 4 commits into
mainfrom
jd/geometry-branch-switch-base
Jul 10, 2026
Merged

Jd/geometry branch switch base#198
AadilLatif merged 4 commits into
mainfrom
jd/geometry-branch-switch-base

Conversation

@AadilLatif

@AadilLatif AadilLatif commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Change Summary

This pull request adds support for aggregating groups of 2 parallel single-phase transformers or regulators (open-wye/open-delta configurations) in addition to groups of 3, and documents several improvements to the directed graph processing logic. The most important changes are:

Transformer aggregation enhancements

  • The aggregate_single_phase_transformers(system) function now merges groups of 2 or 3 parallel single-phase transformers/regulators into a multi-phase equivalent, instead of only supporting groups of 3. Groups with fewer than 2 or more than 3 units are skipped. [1] [2]
  • Documentation and comments in the code and docs/new_features.ipynb have been updated to describe the new behavior and supported configurations. [1] [2]

Directed graph improvements (documented)

  • The documentation now describes new features for building a directed DFS tree, improved cycle breaking logic (preferring to remove edges between switch buses), and open switch pruning to ensure correct radial topology in models with normally-open tie switches.

Related issue number

Checklist

  • The pull request title is a good summary of the changes.
  • Tests for the changes exist
  • Tests pass on CI
  • Documentation reflects the changes where applicable
  • My PR is ready to review, please add a comment including "please review" to assign reviewers

- aggregate_components: accept groups of 2 (not just 3) for open-wye/open-delta configs
- distribution_system: refactor cycle-breaking into _break_cycle helper, fix adjacent switch edge removal
- Add reachability check after cycle breaking in get_directed_graph
- Log warning with count and list of isolated node names
…on check

The _break_cycle static method is inlined back into the cycle-breaking
loop. The post-cycle isolation check is removed now that models are
properly converted with open switches.
Documents 2-unit transformer aggregation, DFS tree helper,
cycle breaking improvements, and open switch pruning.
@sonarqubecloud

Copy link
Copy Markdown

@AadilLatif
AadilLatif merged commit 7dac244 into main Jul 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant