Skip to content

Conversation

@SylvestreSakti
Copy link
Member

Please check if the PR fulfills these requirements

  • 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?

No

What kind of change does this PR introduce?

When using multi-slack, the returned slack buses result returned the same mismatch for all the slackbuses which is. This approach can be wrong because the mismatches may not be exactly the same between slack buses depending on the solver criterias.
Moreover, this led to hide a wrong slack distribution use case (fixed in #1160) where the global mismatch was almost zero but unequally distributed between slack buses (because of the presence of a load in the first slack and wrong equation definition in this case).

This PR proposes to display the real mismatch in each slack bus independently.

What is the current behavior?
Currently, the component result has a SlackBusResult list containing the same mismatch for each slack bus which equals to : SlackBusMismatch/nbSlack.

What is the new behavior (if this is a feature change)?
In the new behavior, each SlackBusResult has a mismatch corresponding to SlackBus.getMismatchP().
NB : This introduces a functional change which is the handling of SlackbusFailureBehaviour.FAIL which leads to have the initial mismatch as the displayed mismatch in each bus since no distribution has been done.

A cleaner way to do such a change would be to introduce the breaking change of having SlackBusResult list instead of a SlackBusActivePowerMismatch in the LoadFlowResult interface in order to display only data that is contained in the LoadFlow result (instead of computing each MismatchP in the final network to retreive the correct mismatches) but such a major refactoring is not done in this PR. This can be discussed.

Does this PR introduce a breaking change or deprecate an API?

  • Yes
  • No

Signed-off-by: PRABAKARAN Sylvestre <sylvestre.prabakaran@rte-france.com>
@geofjamg
Copy link
Member

A cleaner way to do such a change would be to introduce the breaking change of having SlackBusResult list instead of a SlackBusActivePowerMismatch in the LoadFlowResult interface in order to display only data that is contained in the LoadFlow result (instead of computing each MismatchP in the final network to retreive the correct mismatches) but such a major refactoring is not done in this PR. This can be discussed.

Yes, it would worse an API evolution to get real mismatches for each of the slacks

Signed-off-by: PRABAKARAN Sylvestre <sylvestre.prabakaran@rte-france.com>
Signed-off-by: PRABAKARAN Sylvestre <sylvestre.prabakaran@rte-france.com>
Signed-off-by: PRABAKARAN Sylvestre <sylvestre.prabakaran@rte-france.com>
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