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

Voltage level topology model conversion #3199

Merged
merged 60 commits into from
Dec 4, 2024
Merged

Conversation

geofjamg
Copy link
Member

@geofjamg geofjamg commented Nov 5, 2024

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?

Feature

What is the new behavior (if this is a feature change)?
We are able to change the topology kind of voltage level. For now we are only capable to convert a node/breaker voltage level topology to a bus/breaker one.

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

  • Yes
  • No

If yes, please check if the following requirements are fulfilled

  • The Breaking Change or Deprecated label has been added
  • The migration steps are described in the following section

What changes might users need to make in their application due to this PR? (migration steps)

Other information:

Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Base automatically changed from topology_model to main November 7, 2024 09:17
# Conflicts:
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/BusBreakerTopologyModel.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/NodeBreakerTopologyModel.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/VoltageLevelImpl.java
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
# Conflicts:
#	iidm/iidm-api/src/main/java/com/powsybl/iidm/network/NetworkEventRecorder.java
#	iidm/iidm-api/src/main/java/com/powsybl/iidm/network/events/ExtensionUpdateNetworkEvent.java
#	iidm/iidm-api/src/main/java/com/powsybl/iidm/network/events/NetworkEvent.java
#	math/src/main/java/com/powsybl/math/graph/UndirectedGraph.java
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
@geofjamg geofjamg changed the base branch from main to network_events November 12, 2024 10:22
Base automatically changed from network_events to main November 12, 2024 10:37
@geofjamg geofjamg requested a review from flo-dup November 12, 2024 12:20
@geofjamg geofjamg changed the title [WIP] Voltage level topology model conversion Voltage level topology model conversion Nov 12, 2024
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
…onversion

# Conflicts:
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/AbstractTerminal.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/TerminalExt.java
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
@geofjamg geofjamg changed the base branch from main to fix_dangling_terminal_references November 27, 2024 11:29
Base automatically changed from fix_dangling_terminal_references to main November 28, 2024 09:44
# Conflicts:
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/AbstractIidmExtension.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/AbstractTerminal.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/AreaImpl.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/DanglingLineBoundaryImplExt.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/DanglingLineImpl.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/PhaseTapChangerImpl.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/RatioTapChangerImpl.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/Referrer.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/RegulatingPoint.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/extensions/ReferenceTerminalsImpl.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/extensions/RemoteReactivePowerControlImpl.java
#	iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/extensions/SlackTerminalImpl.java
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>

// if there is no way to find a connectable bus, remove the connectable
// an alternative would be to connect them all to a new trash configured bus
if (connectableBus != null) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't there's always a non-null connectableBus? A connectable is tied to a node, and a CalculatedBus is always created for a non-empty set of nodes:

private static final class CalculatedBusBreakerChecker implements BusChecker {
@Override
public boolean isValid(UndirectedGraph<? extends TerminalExt, SwitchImpl> graph, TIntArrayList nodes, List<NodeTerminal> terminals) {
return !nodes.isEmpty();
}
}

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm almost sure I already seen null connectable bus ID in the bus/breaker view of a node/breaker topology when all switches are open.

Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
@geofjamg geofjamg requested a review from flo-dup December 4, 2024 08:45
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
Signed-off-by: Geoffroy Jamgotchian <[email protected]>
@geofjamg geofjamg requested a review from flo-dup December 4, 2024 12:30
@flo-dup flo-dup merged commit d66b8cc into main Dec 4, 2024
8 checks passed
@flo-dup flo-dup deleted the topology_model_conversion branch December 4, 2024 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants