-
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
Fast restart for active power target change #1085
Conversation
Signed-off-by: Geoffroy Jamgotchian <geoffroy.jamgotchian@rte-france.com>
@@ -335,6 +335,7 @@ private void applyGeneratorChange(LfNetworkParameters networkParameters) { | |||
double newTargetP = generatorChange.isRelative() ? generator.getTargetP() + generatorChange.activePowerValue() : generatorChange.activePowerValue(); | |||
generator.setTargetP(newTargetP); | |||
generator.setInitialTargetP(newTargetP); | |||
// FIXME should be use generator.reApplyActivePowerControlChecks() instead ? |
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.
@annetill if we do that we break some unit test ?
Do this behaviour on purpose to not being able to get back the generator to active power control after contingency if target is now correct ?
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 is an error of the code on main branch, your proposal is the right one and unit tests have to be fixed.
Signed-off-by: Geoffroy Jamgotchian <geoffroy.jamgotchian@rte-france.com>
Quality Gate failedFailed conditions |
@@ -156,6 +157,16 @@ private CacheUpdateResult onInjectionUpdate(Injection<?> injection, BiFunction<A | |||
return CacheUpdateResult.elementNotFound(); | |||
} | |||
|
|||
private static CacheUpdateResult updateLfGeneratorTargetP(String id, double oldValue, double newValue, AcLoadFlowContext context, LfBus lfBus) { | |||
double valueShift = newValue - oldValue; |
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.
Just a question: why do you need this temporary "valueShift" ?
Please check if the PR fulfills these requirements
Does this PR already have an issue describing the problem?
No
What kind of change does this PR introduce?
Feature
What is the new behavior (if this is a feature change)?
We are able to change target p of generators and batteries with fast restart
Does this PR introduce a breaking change or deprecate an API?
If yes, please check if the following requirements are fulfilled
What changes might users need to make in their application due to this PR? (migration steps)
Other information: