-
Notifications
You must be signed in to change notification settings - Fork 8
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
Wrong function reference for BranchFlowPerPSTAngle factor #324
Conversation
Signed-off-by: Anne Tilloy <anne.tilloy@rte-france.com>
Signed-off-by: Anne Tilloy <anne.tilloy@rte-france.com>
if (contingencyElement.getElement().getId().equals(factor.getVariableId())) { | ||
// the equipment responsible for the variable is indeed in contingency, the sensitivity value equals to zero. | ||
// No assumption about the reference flow on the monitored branch. | ||
sensiValue = 0d; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you have multiple contingency elements and the factor variable is the first element, then you will set the sensi value to 0 in the first iteration, and then add contingencyElement.getAlphaForSensitivityValue() * contingencySensitivity for the second contingency element.
So the sensitivity value will not be 0 at the end of the for loop which is an issue.
You could solve this by setting a boolean to true in the for loop if contingencyElement.getElement().getId().equals(factor.getVariableId())) is ever true for one of the contingency elements. Then after the for loop you check if that boolean is true and set sensiValue to 0 if it is the case.
(this would also allow you to put the second if right after the first if for better readability)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might also be worth it to compute the flows once per contingencyElements set and functionBranch (since it does not depend on the factor variable (pst)), but the gain is probably quite small.
Signed-off-by: Anne Tilloy <anne.tilloy@rte-france.com>
Kudos, SonarCloud Quality Gate passed! |
Signed-off-by: Anne Tilloy anne.tilloy@rte-france.com
Please check if the PR fulfills these requirements (please use
'[x]'
to check the checkboxes, or submit the PR and then click the checkboxes)Does this PR already have an issue describing the problem ? If so, link to this issue using
'#XXX'
and skip the restNo, it explains the issue. We want to calculate the sensitivity of a PST angle to a monitored branch. The flow on this monitored branch is right in pre-contingency state. We simulate a contingency of this same PST: the flux on the monitored branch on post-contingency state falls to zero.
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change or deprecate an API? If yes, check the following:
Other information:
(if any of the questions/checkboxes don't apply, please delete them entirely)