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());