diff --git a/pom.xml b/pom.xml index 8cda13a..f4769cf 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ 31 - 0.7.0 + 0.8.0 3.11.1 org.gridsuite.voltageinit.server 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 0e3e5f8..f84827d 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 39fd217..f6a4263 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 @@ -77,6 +77,9 @@ public class VoltageInitParametersEntity { @Column(name = "reactiveSlacksThreshold") private double reactiveSlacksThreshold; + @Column(name = "shuntCompensatorActivationThreshold") + private double shuntCompensatorActivationThreshold; + @Column(name = "updateBusVoltage") private boolean updateBusVoltage; @@ -110,6 +113,7 @@ public void assignAttributes(@NonNull VoltageInitParametersInfos voltageInitPara variableShuntCompensators = FilterEquipmentsEmbeddable.toEmbeddableFilterEquipments(voltageInitParametersInfos.getVariableShuntCompensators()); name = voltageInitParametersInfos.getName(); reactiveSlacksThreshold = voltageInitParametersInfos.getReactiveSlacksThreshold(); + shuntCompensatorActivationThreshold = voltageInitParametersInfos.getShuntCompensatorActivationThreshold(); updateBusVoltage = voltageInitParametersInfos.isUpdateBusVoltage(); } @@ -141,6 +145,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..50e932c 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,8 @@ 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())); + + 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 98cf5b6..20414d3 100644 --- a/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/src/main/resources/db/changelog/db.changelog-master.yaml @@ -27,6 +27,9 @@ databaseChangeLog: - include: file: changesets/changelog_20240407T230420Z.xml relativeToChangelogFile: true + - include: + file: changesets/changelog_20240515T144349Z.xml + relativeToChangelogFile: true - include: file: changesets/changelog_20240529T153656Z.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 d8062ee..f58d8dd 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());