Skip to content

feat: add BC condition mode and slack allocation#506

Merged
siarhei2000582 merged 12 commits into
mainfrom
feature/spps-slack-allocation
May 28, 2026
Merged

feat: add BC condition mode and slack allocation#506
siarhei2000582 merged 12 commits into
mainfrom
feature/spps-slack-allocation

Conversation

@siarhei2000582
Copy link
Copy Markdown
Collaborator

SpPS condition mode (BC / CON)
SpPS condition rows now have a condition_mode field. The default CON behaviour is unchanged — conditions are checked against post-contingency results. The new BC mode checks a condition against the base-case results (before the contingency is applied), which is useful for protection schemes that should react to pre-existing overloads or voltage violations.

To support this, the engine now receives a full copy of the base-case network instead of just a voltage series, making all base-case result tables available for condition evaluation.

Slack re-allocation inside the SpPS loop
assign_slack_per_island is now called after every batch of SpPS actions (e.g. switch openings) before the subsequent power flow. This ensures that any new electrical islands created mid-loop always have a valid slack bus, preventing solver failures in cascading protection scenarios.

Simplified slack allocation
assign_slack_per_island no longer requires callers to pass a pre-built network graph or element lists. It now derives the post-outage topology directly from the network, removing boilerplate from every call site.

@siarhei2000582 siarhei2000582 marked this pull request as ready for review May 27, 2026 09:23
@siarhei2000582 siarhei2000582 requested a review from LeonHilf May 27, 2026 09:36
Copy link
Copy Markdown
Collaborator

@LeonHilf LeonHilf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall. If possible, I would change the basecase_net to a basecase loadflowresult

Copy link
Copy Markdown
Collaborator

@LeonHilf LeonHilf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@sonarqube-mccs
Copy link
Copy Markdown

@siarhei2000582 siarhei2000582 merged commit 8f47d79 into main May 28, 2026
16 checks passed
@siarhei2000582 siarhei2000582 deleted the feature/spps-slack-allocation branch May 28, 2026 09:11
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.

3 participants