Skip to content

Commit e073ef8

Browse files
geofjamgGodelaine
authored andcommitted
Adapt to new sensi API
1 parent f380057 commit e073ef8

8 files changed

Lines changed: 66 additions & 65 deletions

File tree

ra-optimisation/rao-api/src/test/resources/RaoParametersSet_v2.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"sensitivity-provider" : "OpenSensitivityAnalysis",
6666
"sensitivity-failure-overcost" : 10000.0,
6767
"sensitivity-parameters" : {
68-
"version" : "1.1",
68+
"version" : "1.2",
6969
"load-flow-parameters" : {
7070
"version" : "1.10",
7171
"voltageInitMode" : "UNIFORM_VALUES",
@@ -88,7 +88,8 @@
8888
"flow-flow-sensitivity-value-threshold" : 0.0,
8989
"voltage-voltage-sensitivity-value-threshold" : 0.0,
9090
"flow-voltage-sensitivity-value-threshold" : 0.0,
91-
"angle-flow-sensitivity-value-threshold" : 0.0
91+
"angle-flow-sensitivity-value-threshold" : 0.0,
92+
"operator-strategies-calculation-mode" : "NONE"
9293
}
9394
},
9495
"multi-threading" : {

ra-optimisation/rao-api/src/test/resources/RaoParameters_config_withExtensions.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"sensitivity-provider" : "SENSI_PROVIDER",
6666
"sensitivity-failure-overcost" : 2.0,
6767
"sensitivity-parameters" : {
68-
"version" : "1.1",
68+
"version" : "1.2",
6969
"load-flow-parameters" : {
7070
"version" : "1.10",
7171
"voltageInitMode" : "UNIFORM_VALUES",
@@ -173,6 +173,7 @@
173173
"voltage-voltage-sensitivity-value-threshold" : 0.0,
174174
"flow-voltage-sensitivity-value-threshold" : 0.0,
175175
"angle-flow-sensitivity-value-threshold" : 0.0,
176+
"operator-strategies-calculation-mode" : "NONE",
176177
"extensions" : {
177178
"open-sensitivity-parameters" : {
178179
"debugDir" : null,

ra-optimisation/rao-api/src/test/resources/RaoParameters_config_withOLFParams.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"sensitivity-provider" : "OpenLoadFlow",
5151
"sensitivity-failure-overcost" : 2.0,
5252
"sensitivity-parameters" : {
53-
"version" : "1.1",
53+
"version" : "1.2",
5454
"load-flow-parameters" : {
5555
"version" : "1.10",
5656
"voltageInitMode" : "DC_VALUES",
@@ -158,6 +158,7 @@
158158
"voltage-voltage-sensitivity-value-threshold" : 0.0,
159159
"flow-voltage-sensitivity-value-threshold" : 0.0,
160160
"angle-flow-sensitivity-value-threshold" : 0.0,
161+
"operator-strategies-calculation-mode" : "NONE",
161162
"extensions" : {
162163
"open-sensitivity-parameters" : {
163164
"debugDir" : null,

ra-optimisation/rao-api/src/test/resources/RaoParameters_config_withPartialExtensions.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"sensitivity-provider" : "SENSI_PROVIDER",
5858
"sensitivity-failure-overcost" : 2.0,
5959
"sensitivity-parameters" : {
60-
"version" : "1.1",
60+
"version" : "1.2",
6161
"load-flow-parameters" : {
6262
"version" : "1.10",
6363
"voltageInitMode" : "UNIFORM_VALUES",
@@ -165,6 +165,7 @@
165165
"voltage-voltage-sensitivity-value-threshold" : 0.0,
166166
"flow-voltage-sensitivity-value-threshold" : 0.0,
167167
"angle-flow-sensitivity-value-threshold" : 0.0,
168+
"operator-strategies-calculation-mode" : "NONE",
168169
"extensions" : {
169170
"open-sensitivity-parameters" : {
170171
"debugDir" : null,

sensitivity-analysis/src/main/java/com/powsybl/openrao/sensitivityanalysis/SystematicSensitivityAdapter.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@
1515
import com.powsybl.openrao.data.crac.api.Instant;
1616
import com.powsybl.openrao.data.crac.api.State;
1717
import com.powsybl.openrao.data.crac.api.cnec.Cnec;
18-
import com.powsybl.sensitivity.SensitivityAnalysis;
19-
import com.powsybl.sensitivity.SensitivityAnalysisParameters;
20-
import com.powsybl.sensitivity.SensitivityAnalysisResult;
21-
import com.powsybl.sensitivity.SensitivityFactor;
18+
import com.powsybl.sensitivity.*;
2219

2320
import java.util.Collections;
2421
import java.util.List;
@@ -139,7 +136,9 @@ static SystematicSensitivityResult runSensitivity(Network network,
139136
TECHNICAL_LOGS.error(String.format("Systematic sensitivity analysis failed for state %s : %s", state.getId(), e.getMessage()));
140137
SensitivityAnalysisResult failedResult = new SensitivityAnalysisResult(
141138
cnecSensitivityProvider.getContingencyFactors(network, contingencyList),
142-
List.of(new SensitivityAnalysisResult.SensitivityContingencyStatus(optContingency.get().getId(), SensitivityAnalysisResult.Status.FAILURE)),
139+
List.of(new SensitivityAnalysisResult.SensitivityStateStatus(SensitivityState.postContingency(optContingency.get().getId()), SensitivityAnalysisResult.Status.FAILURE)),
140+
contingencyList.stream().map(Contingency::getId).toList(),
141+
List.of(),
143142
List.of()
144143
);
145144
result.completeData(failedResult, state.getInstant().getOrder());

sensitivity-analysis/src/main/java/com/powsybl/openrao/sensitivityanalysis/SystematicSensitivityResult.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public SystematicSensitivityResult completeData(SensitivityAnalysisResult result
108108
results.getFactors(),
109109
SensitivityAnalysisResult.Status.SUCCESS
110110
));
111-
for (SensitivityAnalysisResult.SensitivityContingencyStatus contingencyStatus : results.getContingencyStatuses()) {
111+
for (SensitivityAnalysisResult.SensitivityStateStatus contingencyStatus : results.getStateStatuses()) {
112112
if (contingencyStatus.getStatus() == SensitivityAnalysisResult.Status.FAILURE) {
113113
anyContingencyFailure = true;
114114
}
@@ -118,10 +118,10 @@ public SystematicSensitivityResult completeData(SensitivityAnalysisResult result
118118
if (contingencyStateResult.status.equals(SensitivityComputationStatus.SUCCESS)) {
119119
this.status = SensitivityComputationStatus.SUCCESS;
120120
}
121-
results.getValues(contingencyStatus.getContingencyId()).forEach(sensitivityValue ->
121+
results.getValues(contingencyStatus.getState()).forEach(sensitivityValue ->
122122
fillIndividualValue(sensitivityValue, contingencyStateResult, results.getFactors(), contingencyStatus.getStatus())
123123
);
124-
postContingencyResults.get(instantOrder).put(contingencyStatus.getContingencyId(), contingencyStateResult);
124+
postContingencyResults.get(instantOrder).put(contingencyStatus.getState().contingencyId(), contingencyStateResult);
125125
}
126126
if (!results.getPreContingencyValues().isEmpty()) {
127127
nStateResult.status = this.status;

0 commit comments

Comments
 (0)