-
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
Fix flow computation of HVDC connected at only one side #965
Conversation
…ot). Signed-off-by: Anne Tilloy <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
# Conflicts: # src/test/java/com/powsybl/openloadflow/network/HvdcNetworkFactory.java
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
Signed-off-by: VIDAL Didier (Externe) <[email protected]>
c8c3cd2
to
78dcfe7
Compare
src/main/java/com/powsybl/openloadflow/network/impl/AbstractLfBus.java
Outdated
Show resolved
Hide resolved
Signed-off-by: VIDAL Didier (Externe) <[email protected]>
Signed-off-by: VIDAL Didier (Externe) <[email protected]>
src/main/java/com/powsybl/openloadflow/network/impl/AbstractLfBus.java
Outdated
Show resolved
Hide resolved
Signed-off-by: VIDAL Didier (Externe) <[email protected]>
Signed-off-by: VIDAL Didier (Externe) <[email protected]>
06495a8
to
063e0b7
Compare
…erator...) and pinpoint limitation with current implementation Signed-off-by: VIDAL Didier (Externe) <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
src/test/java/com/powsybl/openloadflow/sa/OpenSecurityAnalysisWithActionsTest.java
Outdated
Show resolved
Hide resolved
…ify test to use network monitors Signed-off-by: VIDAL Didier (Externe) <[email protected]>
Signed-off-by: VIDAL Didier (Externe) <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
…pen-loadflow into hvdc-loss-in-N
Signed-off-by: Anne Tilloy <[email protected]>
src/test/java/com/powsybl/openloadflow/ac/AcLoadFlowVscTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/powsybl/openloadflow/ac/AcLoadFlowVscTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/powsybl/openloadflow/ac/AcLoadFlowVscTest.java
Outdated
Show resolved
Hide resolved
assertTrue(pcs2 == 0 || Double.isNaN(pcs2), "HVDC Station should not generate power " + network.getHvdcConverterStation("cs2").getTerminal().getP()); | ||
assertTrue(pcs3 == 0 || Double.isNaN(pcs3), "HVDC Station should not generate power"); |
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.
Note: we get 0MW for VSC and NaN for LCC, we might leave like this for now but add a comment/note here because it is not straightforward / it is inconsistent today in OLF
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.
Agreed, and I am not sure it is the good solution to put NaN.
src/test/java/com/powsybl/openloadflow/sa/OpenSecurityAnalysisWithActionsTest.java
Outdated
Show resolved
Hide resolved
src/test/java/com/powsybl/openloadflow/sa/OpenSecurityAnalysisWithActionsTest.java
Outdated
Show resolved
Hide resolved
public static boolean isIsolatedBusForHvdc(LfBus bus, GraphConnectivity<LfBus, LfBranch> connectivity) { | ||
// used only for hvdc lines. | ||
// this criteria can be improved later depending on use case | ||
return connectivity.getConnectedComponent(bus).size() == 1 && bus.getLoadTargetP() == 0.0 | ||
&& bus.getGenerators().stream().noneMatch(LfGeneratorImpl.class::isInstance); | ||
} |
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.
no SA test covering this
I would rename the PR to something like |
Signed-off-by: Anne Tilloy <[email protected]>
Signed-off-by: Anne Tilloy <[email protected]>
@@ -285,7 +285,11 @@ void addLoad(Load load, LfNetworkParameters parameters) { | |||
} | |||
|
|||
void addLccConverterStation(LccConverterStation lccCs, LfNetworkParameters parameters) { | |||
getOrCreateLfLoad(null, parameters).add(lccCs, parameters); | |||
if (!HvdcConverterStations.isHvdcDanglingInIidm(lccCs, parameters)) { |
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.
Because of that, we end the calculation with NaN as p for the converter station for LCC only. @jeandemanged I don't like it very much...
Signed-off-by: Anne Tilloy <[email protected]>
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
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 very fine enough for now, thanks
Please check if the PR fulfills these requirements
Does this PR already have an issue describing the problem?
Yes : #953
This PR fixes the disconnection in situation N and completes #961
What kind of change does this PR introduce?
When one of the LfBus is missing in the LfNetwork, the HVDC status is determined by the IIDM Network.
If that bus is isolated, the HVDC does not flow any active power.
The determination is made before all LfBus are created for LCC stations - and thus contingencies that disconnect or reconnect an HDVC link with LCC station is still NOT SUPPORTED.
What is the current behavior?
Active power flows through an HVDC even if one of the stations is dandling in situation N.
What is the new behavior (if this is a feature change)?
If one of the stations of an HVDC line is dandling in situation N, no active power flows through it.
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: