From d4e93deb9a5e3189950e17c6332f705d757444a3 Mon Sep 17 00:00:00 2001 From: Franck LECUYER Date: Thu, 16 May 2024 17:52:11 +0200 Subject: [PATCH 1/2] Shunt compensator activation alert threshold Signed-off-by: Franck LECUYER --- .../server/dto/parameters/VoltageInitParametersInfos.java | 2 ++ .../entities/parameters/VoltageInitParametersEntity.java | 5 +++++ .../service/parameters/VoltageInitParametersService.java | 3 +++ .../changelog/changesets/changelog_20240515T144349Z.xml | 8 ++++++++ src/main/resources/db/changelog/db.changelog-master.yaml | 5 ++++- .../voltageinit/server/VoltageInitControllerTest.java | 1 + .../server/service/parameters/ParametersTest.java | 6 +++--- 7 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/db/changelog/changesets/changelog_20240515T144349Z.xml diff --git a/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java b/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java index 3af31c9..864be46 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java +++ b/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java @@ -47,6 +47,8 @@ public class VoltageInitParametersInfos { double reactiveSlacksThreshold; + double shuntCompensatorActivationThreshold; + boolean updateBusVoltage; public VoltageInitParametersEntity toEntity() { diff --git a/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java b/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java index a321d44..323df94 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java +++ b/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java @@ -78,6 +78,9 @@ public class VoltageInitParametersEntity { @Column(name = "reactiveSlacksThreshold") private double reactiveSlacksThreshold; + @Column(name = "shuntCompensatorActivationThreshold") + private double shuntCompensatorActivationThreshold; + @Column(name = "updateBusVoltage") private boolean updateBusVoltage; @@ -111,6 +114,7 @@ public void assignAttributes(@NonNull VoltageInitParametersInfos voltageInitPara variableShuntCompensators = FilterEquipmentsEmbeddable.toEmbeddableFilterEquipments(voltageInitParametersInfos.getVariableShuntCompensators()); name = voltageInitParametersInfos.getName(); reactiveSlacksThreshold = voltageInitParametersInfos.getReactiveSlacksThreshold(); + shuntCompensatorActivationThreshold = voltageInitParametersInfos.getShuntCompensatorActivationThreshold(); updateBusVoltage = voltageInitParametersInfos.isUpdateBusVoltage(); } @@ -142,6 +146,7 @@ public VoltageInitParametersInfos toVoltageInitParametersInfos() { .variableTwoWindingsTransformers(FilterEquipmentsEmbeddable.fromEmbeddableFilterEquipments(this.getVariableTwoWindingsTransformers())) .variableShuntCompensators(FilterEquipmentsEmbeddable.fromEmbeddableFilterEquipments(this.getVariableShuntCompensators())) .reactiveSlacksThreshold(this.getReactiveSlacksThreshold()) + .shuntCompensatorActivationThreshold(this.getShuntCompensatorActivationThreshold()) .updateBusVoltage(this.isUpdateBusVoltage()) .build(); } diff --git a/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java b/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java index 1a939a8..031fcd7 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java +++ b/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java @@ -229,6 +229,9 @@ public OpenReacParameters buildOpenReacParameters(VoltageInitRunContext context, parameters.addConstantQGenerators(toEquipmentIdsList(context.getNetworkUuid(), context.getVariantId(), voltageInitParameters.getConstantQGenerators())) .addVariableTwoWindingsTransformers(toEquipmentIdsList(context.getNetworkUuid(), context.getVariantId(), voltageInitParameters.getVariableTwoWindingsTransformers())) .addVariableShuntCompensators(toEquipmentIdsList(context.getNetworkUuid(), context.getVariantId(), voltageInitParameters.getVariableShuntCompensators())); + + // TODO : uncomment when new openreac release will contain this parameter + //parameters.setShuntCompensatorActivationAlertThreshold(voltageInitParameters.getShuntCompensatorActivationThreshold()); }); logVoltageLimitsModifications(reportNode, network, parameters.getSpecificVoltageLimits()); diff --git a/src/main/resources/db/changelog/changesets/changelog_20240515T144349Z.xml b/src/main/resources/db/changelog/changesets/changelog_20240515T144349Z.xml new file mode 100644 index 0000000..f0ecfe8 --- /dev/null +++ b/src/main/resources/db/changelog/changesets/changelog_20240515T144349Z.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/db/changelog/db.changelog-master.yaml b/src/main/resources/db/changelog/db.changelog-master.yaml index 60f3608..90970ad 100644 --- a/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/src/main/resources/db/changelog/db.changelog-master.yaml @@ -26,4 +26,7 @@ databaseChangeLog: relativeToChangelogFile: true - include: file: changesets/changelog_20240407T230420Z.xml - relativeToChangelogFile: true \ No newline at end of file + relativeToChangelogFile: true + - include: + file: changesets/changelog_20240515T144349Z.xml + relativeToChangelogFile: true diff --git a/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java b/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java index 8783dd4..7336878 100644 --- a/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java +++ b/src/test/java/org/gridsuite/voltageinit/server/VoltageInitControllerTest.java @@ -214,6 +214,7 @@ private VoltageInitParametersEntity buildVoltageInitParametersEntity() { .filterName("vtwFilter2") .build())) .reactiveSlacksThreshold(100.) + .shuntCompensatorActivationThreshold(100.) .build().toEntity(); } diff --git a/src/test/java/org/gridsuite/voltageinit/server/service/parameters/ParametersTest.java b/src/test/java/org/gridsuite/voltageinit/server/service/parameters/ParametersTest.java index 9a4ba3f..3622d83 100644 --- a/src/test/java/org/gridsuite/voltageinit/server/service/parameters/ParametersTest.java +++ b/src/test/java/org/gridsuite/voltageinit/server/service/parameters/ParametersTest.java @@ -146,7 +146,7 @@ private static Consumer assertVoltageLimitOverride(final S private ListAssert testsBuildSpecificVoltageLimitsCommon(List voltageLimits, String reportFilename) throws Exception { final VoltageInitParametersEntity voltageInitParameters = entityManager.persistFlushFind( - new VoltageInitParametersEntity(null, null, "", voltageLimits, null, null, null, 100., false) + new VoltageInitParametersEntity(null, null, "", voltageLimits, null, null, null, 100., 0., false) ); final VoltageInitRunContext context = new VoltageInitRunContext(NETWORK_UUID, VARIANT_ID_1, null, REPORT_UUID, null, "", "", voltageInitParameters.getId()); context.setReportNode(ReportNode.newRootReportNode().withMessageTemplate(COMPUTATION_TYPE, COMPUTATION_TYPE).build()); @@ -187,7 +187,7 @@ void testsBuildSpecificVoltageLimitsWithLimitModifications() throws Exception { .hasSize(8) //There should (not?) be relative overrides since voltage limit modification are applied .anyMatch(VoltageLimitOverride::isRelative) - //VLGEN has both it limits set so it should now be impacted by modifications override + //VLGEN has both it limits set, so it should now be impacted by modifications override .satisfiesOnlyOnce(assertVoltageLimitOverride("VLGEN", VoltageLimitType.LOW_VOLTAGE_LIMIT, -1.)) .satisfiesOnlyOnce(assertVoltageLimitOverride("VLGEN", VoltageLimitType.HIGH_VOLTAGE_LIMIT, -2.)) //Because of the modification setting the voltage limits attributed to VLLOAD should now respectively be 43. and 86. @@ -256,7 +256,7 @@ void testsBuildSpecificVoltageLimitsWithFourSubstationStudy() throws Exception { final VoltageLimitEntity vl3 = new VoltageLimitEntity(null, 70.0, 700.0, 0, VoltageLimitParameterType.DEFAULT, List.of(new FilterEquipmentsEmbeddable(filterUuidS4VL2, filterIdS4VL2))); final VoltageLimitEntity vl4 = new VoltageLimitEntity(null, -20.0, 10.0, 0, VoltageLimitParameterType.MODIFICATION, List.of(new FilterEquipmentsEmbeddable(filterUuidS3VL1, filterIdS3VL1))); final VoltageInitParametersEntity voltageInitParameters = entityManager.persistFlushFind( - new VoltageInitParametersEntity(null, null, "", List.of(vl1, vl2, vl3, vl4), null, null, null, 100., false) + new VoltageInitParametersEntity(null, null, "", List.of(vl1, vl2, vl3, vl4), null, null, null, 100., 0., false) ); final VoltageInitRunContext context = new VoltageInitRunContext(networkUuid, variantId, null, REPORT_UUID, null, "", "", voltageInitParameters.getId()); From 4bc01e449dcd942dc2f827d9c7befbab44c0f174 Mon Sep 17 00:00:00 2001 From: Franck LECUYER Date: Tue, 2 Jul 2024 15:20:51 +0200 Subject: [PATCH 2/2] Shunt compensator activation alert threshold (in progress) Signed-off-by: Franck LECUYER --- pom.xml | 2 +- .../server/service/parameters/VoltageInitParametersService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b1368d3..01a6304 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ 30 - 0.7.0 + 0.8.0-SNAPSHOT 3.11.1 org.gridsuite.voltageinit.server diff --git a/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java b/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java index 031fcd7..5161052 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java +++ b/src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java @@ -231,7 +231,7 @@ public OpenReacParameters buildOpenReacParameters(VoltageInitRunContext context, .addVariableShuntCompensators(toEquipmentIdsList(context.getNetworkUuid(), context.getVariantId(), voltageInitParameters.getVariableShuntCompensators())); // TODO : uncomment when new openreac release will contain this parameter - //parameters.setShuntCompensatorActivationAlertThreshold(voltageInitParameters.getShuntCompensatorActivationThreshold()); + parameters.setShuntCompensatorActivationAlertThreshold(voltageInitParameters.getShuntCompensatorActivationThreshold()); }); logVoltageLimitsModifications(reportNode, network, parameters.getSpecificVoltageLimits());