Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix breaking connectivity elements detection #639

Merged
merged 14 commits into from
Nov 7, 2022

Conversation

annetill
Copy link
Member

@annetill annetill commented Oct 25, 2022

Signed-off-by: Anne Tilloy [email protected]

Please check if the PR fulfills these requirements (please use '[x]' to check the checkboxes, or submit the PR and then click the checkboxes)

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

Does this PR already have an issue describing the problem ? If so, link to this issue using '#XXX' and skip the rest

No.

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Bug fix. In main branch, we have met in a real test case, a non inverted matrix in case of a contingency that breaks connectivity. That contingency contains three elements and one of these three element is "isolated" after contingency. It means that both extremity buses belong to removed buses. I think that we are creating a loop as described in the documentation (https://www.powsybl.org/pages/documentation/simulation/sensitivity/openlf.html).

What is the current behavior? (You can also link to an open issue here)

We now have removed buses from main component. So we have to determine what is the definition of an element breaking connectivity.

What is the new behavior (if this is a feature change)?

What I understand is that a branch breaking connectivity was defined in actual release (which has no bug) by:

connectivity.getComponentNumber(lfBranch.getBus1()) != connectivity.getComponentNumber(lfBranch.getBus2())

I think we cannot have the strict equivalent with removed buses from main component but I think that the definition is that removed buses contains only one side of the branch. If both buses are in removed buses, the element is included.

Does this PR introduce a breaking change or deprecate an API? If yes, check the following:

  • The Breaking Change or Deprecated label has been added
  • The migration guide has been updated in the github wiki (What changes might users need to make in their application due to this PR?)

Other information:

(if any of the questions/checkboxes don't apply, please delete them entirely)

Signed-off-by: Anne Tilloy <[email protected]>
@annetill annetill added the bug Something isn't working label Oct 26, 2022
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 7, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

94.2% 94.2% Coverage
0.0% 0.0% Duplication

@annetill annetill merged commit 621b0d6 into main Nov 7, 2022
@annetill annetill deleted the fix-sensi-dc-breaking-connectivity branch November 7, 2022 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working PR: next-release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants