powsybl-open-loadflow
powsybl-open-loadflow copied to clipboard
DC security analysis: support operator strategies
- Do you want to request a feature or report a bug?
A feature.
- What is the current behavior?
We can only run a DC security analysis with contingencies but without any operator strategy.
-
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
-
What is the expected behavior?
I think that the easiest way to handle this issue is to start by supporting LineConnectionAction
. We can use the Metrix 6 buses case as unit test.
- First, we run a classical DC security analysis with contingencies using the sensitivity analysis API.
- After the run, for each contingency we have to check for each operator strategy if the condition is fulfilled. For that, we have to fix/improve the state monitor in order to involve all the branches necessary to check the conditions. Note that is can be done through the violations of the post-contingency state.
- If the condition is fulfilled, we have to apply the action:
- In case of a line deconnection, you have to get the initial network, apply the contingency and apply the action as we do for AC implementation. It will update the system equation. Then run a DC loadflow and get the new violations.
- In case of a line connection, first we have to insure that the line is inside the initial network (maybe the complex part, I could help on that) but disabled. Then you apply the contingency and the action as described before. Then run a DC loadflow and get the new violations.
-
What is the motivation / use case for changing the behavior?
-
Please tell us about your environment:
- PowSyBl Version: ...
- OS Version: ...
-
Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)
(if a question doesn't apply, you can delete it)
@jlbouchot After some discussion with @annetill It seems one of the step for this implementation is to move AcSecurityAnalysis.runActionSimulation into AbstractSecurityAnalysis to be usable from DcSecurityAnalysis. We should probably also create a DcLoadFlowContext and factorize what is in common with AcLoadFlowContext.
I close the issue because after #927, AC and DC security analysis codes are shared. We just have to continue the work of implementing remaining remedial actions.