powsybl / powsybl-core

A framework to build power system oriented software
https://www.powsybl.org
Mozilla Public License 2.0
124 stars 40 forks source link

Add checks on Network Modifications #3127

Closed rolnico closed 2 weeks ago

rolnico commented 1 month ago

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 current behavior? In order to see if a network modification can be applied to a network, you have to apply it and see if an exception is thrown. In order to know if it had an impact on the network, you have to manually compare the values.

What is the new behavior (if this is a feature change)? The new method hasImpactOnNetwork(network) provides for each Network Modification an enum telling if the network modification can be applied to the network and, if so, if it will have an impact on the network.

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:

annetill commented 3 weeks ago

Some explantations or changes required. But as a general comment, including @pet-mit in the conversation, we have to clearly define what "has impact on network" means. For me it could be:

  • IIDM network before applying action is identical as IIDM network after. It is what you have implemented most of the time.
  • Or, in a load flow perspective, applying the action will not change anything in the result. What is the need in powsybl-open-rao ?

Some explantations or changes required. But as a general comment, including @pet-mit in the conversation, we have to clearly define what "has impact on network" means. For me it could be:

  • IIDM network before applying action is identical as IIDM network after. It is what you have implemented most of the time.
  • Or, in a load flow perspective, applying the action will not change anything in the result. What is the need in powsybl-open-rao ?

Update after a talk with @pet-mit: the scope of this PR is "IIDM network before applying action is identical as IIDM network after". Another value of the enum could be imagined later if needed for LF calculations.

sonarcloud[bot] commented 2 weeks ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
96.1% Coverage on New Code
0.9% Duplication on New Code

See analysis details on SonarCloud