powsybl / powsybl-open-rao

A toolbox based on powsybl framework dedicated to power systems coordinated capacity calculation and security analysis projects
Mozilla Public License 2.0
17 stars 6 forks source link

Run angle monitoring with automatically generated proportional GLSK #998

Closed pet-mit closed 6 months ago

pet-mit commented 6 months ago

Please check if the PR fulfills these requirements

Does this PR already have an issue describing the problem?

Partly fixes https://github.com/powsybl/powsybl-open-rao/issues/954

What kind of change does this PR introduce?

Feature

What is the current behavior?

Angle monitoring can only e run using a CIM GLSK document

What is the new behavior (if this is a feature change)? A new API allows running the angle monitoring using only a list of countries. The algorithm will then automatically generate proportional scalable and exclude the generators that should be excluded (because stopped by other RA).
Example:

new AngleMonitoring(crac, network, raoResult, Set.of(Country.BE, Country.NL)).runAndUpdateRaoResult("OpenLoadFlow", loadFlowParameters, 2)

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

What changes might users need to make in their application due to this PR? (migration steps) Users using CimGlskDocument have to move the timestamp argument from the "run" method to the constructor

Before:

new AngleMonitoring(crac, network, raoResult, cimGlskDocument).runAndUpdateRaoResult("OpenLoadFlow", loadFlowParameters, 2, glskOffsetDateTime);

After:

new AngleMonitoring(crac, network, raoResult, cimGlskDocument, glskOffsetDateTime).runAndUpdateRaoResult("OpenLoadFlow", loadFlowParameters, 2);