Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add connected selector in injection creation modifications #357

Merged
merged 10 commits into from
Nov 8, 2023
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,7 @@ public class InjectionCreationInfos extends EquipmentCreationInfos {

@Schema(description = "Connection Position")
private Integer connectionPosition;

@Schema(description = "Connected")
private boolean connected;
}
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,14 @@ public BatteryCreationInfos toModificationInfos() {
.stashed(getStashed())
.equipmentId(getEquipmentId())
.equipmentName(getEquipmentName())
// injection
.voltageLevelId(getVoltageLevelId())
.busOrBusbarSectionId(getBusOrBusbarSectionId())
.connectionName(getConnectionName())
.connectionDirection(getConnectionDirection())
.connectionPosition(getConnectionPosition())
.connected(isConnected())
// battery
.minActivePower(getMinActivePower())
.maxActivePower(getMaxActivePower())
.reactiveCapabilityCurve(this.getReactiveCapabilityCurve())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,21 @@ public ConverterStationCreationInfos toConverterStationInfos() {
.stashed(getStashed())
.equipmentId(getEquipmentId())
.equipmentName(getEquipmentName())
// Injection
.voltageLevelId(getVoltageLevelId())
.busOrBusbarSectionId(getBusOrBusbarSectionId())
.connectionName(getConnectionName())
.connectionPosition(getConnectionPosition())
.connectionDirection(getConnectionDirection())
.connected(isConnected())
// ConverterStation
.lossFactor(getLossFactor())
.minimumReactivePower(getMinimumReactivePower())
.maximumReactivePower(getMaximumReactivePower())
.reactivePower(getReactivePower())
.voltageRegulationOn(getVoltageRegulationOn())
.voltage(getVoltage())
.reactiveCapabilityCurvePoints(toReactiveCapabilityCurveInfos(getReactiveCapabilityCurvePoints()))
.voltageLevelId(getVoltageLevelId())
.busOrBusbarSectionId(getBusOrBusbarSectionId())
.connectionName(getConnectionName())
.connectionPosition(getConnectionPosition())
.connectionDirection(getConnectionDirection())
.reactiveCapabilityCurve(getReactiveCapabilityCurve())
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,14 @@ public GeneratorCreationInfos toModificationInfos() {
.stashed(getStashed())
.equipmentId(getEquipmentId())
.equipmentName(getEquipmentName())
// injection
.voltageLevelId(getVoltageLevelId())
.busOrBusbarSectionId(getBusOrBusbarSectionId())
.connectionName(getConnectionName())
.connectionDirection(getConnectionDirection())
.connectionPosition(getConnectionPosition())
.connected(isConnected())
// generator
.energySource(getEnergySource())
.minActivePower(getMinActivePower())
.maxActivePower(getMaxActivePower())
Expand All @@ -192,9 +198,6 @@ public GeneratorCreationInfos toModificationInfos() {
.qPercent(getQPercent())
.reactiveCapabilityCurve(getReactiveCapabilityCurve())
.transientReactance(getTransientReactance())
.stepUpTransformerReactance(getStepUpTransformerReactance())
.connectionName(getConnectionName())
.connectionDirection(getConnectionDirection())
.connectionPosition(getConnectionPosition());
.stepUpTransformerReactance(getStepUpTransformerReactance());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ public class InjectionCreationEntity extends EquipmentCreationEntity {
@Column(name = "connectionPosition")
private Integer connectionPosition;

@Column(name = "connected", columnDefinition = "boolean default true")
private boolean connected;

protected InjectionCreationEntity(InjectionCreationInfos injectionCreationInfos) {
super(injectionCreationInfos);
assignAttributes(injectionCreationInfos);
Expand All @@ -54,5 +57,6 @@ private void assignAttributes(InjectionCreationInfos injectionCreationInfos) {
this.connectionName = injectionCreationInfos.getConnectionName();
this.connectionPosition = injectionCreationInfos.getConnectionPosition();
this.connectionDirection = injectionCreationInfos.getConnectionDirection();
this.connected = injectionCreationInfos.isConnected();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,16 @@ public LoadCreationInfos toModificationInfos() {
.stashed(getStashed())
.equipmentId(getEquipmentId())
.equipmentName(getEquipmentName())
// injection
.voltageLevelId(getVoltageLevelId())
.busOrBusbarSectionId(getBusOrBusbarSectionId())
.loadType(getLoadType())
.activePower(getActivePower())
.reactivePower(getReactivePower())
.connectionName(getConnectionName())
.connectionDirection(getConnectionDirection())
.connectionPosition(getConnectionPosition());
.connectionPosition(getConnectionPosition())
.connected(isConnected())
// load
.loadType(getLoadType())
.activePower(getActivePower())
.reactivePower(getReactivePower());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,18 @@ public ShuntCompensatorCreationInfos toModificationInfos() {
.stashed(getStashed())
.equipmentId(getEquipmentId())
.equipmentName(getEquipmentName())
// Injection
.voltageLevelId(getVoltageLevelId())
.busOrBusbarSectionId(getBusOrBusbarSectionId())
.connectionName(getConnectionName())
.connectionDirection(getConnectionDirection())
.connectionPosition(getConnectionPosition())
.connected(isConnected())
// ShuntCompensator
.maximumSectionCount(getMaximumSectionCount())
.sectionCount(getSectionCount())
.maxSusceptance(getMaxSusceptance())
.maxQAtNominalV(getMaxQAtNominalV())
.shuntCompensatorType(getShuntCompensatorType())
.connectionName(getConnectionName())
.connectionDirection(getConnectionDirection())
.connectionPosition(getConnectionPosition());
.shuntCompensatorType(getShuntCompensatorType());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ public void apply(Network network, Reporter subReporter) {
} else {
createBatteryInBusBreaker(voltageLevel, modificationInfos, subReporter);
}
ModificationUtils.getInstance().disconnectInjection(modificationInfos, network.getBattery(modificationInfos.getEquipmentId()), subReporter);
}

private void createBatteryInNodeBreaker(VoltageLevel voltageLevel, BatteryCreationInfos batteryCreationInfos, Network network, Reporter subReporter) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ public void apply(Network network, Reporter subReporter) {
} else {
createGeneratorInBusBreaker(voltageLevel, modificationInfos, subReporter);
}
ModificationUtils.getInstance().disconnectInjection(modificationInfos, network.getGenerator(modificationInfos.getEquipmentId()), subReporter);
}

private void createGeneratorInNodeBreaker(VoltageLevel voltageLevel, GeneratorCreationInfos generatorCreationInfos, Network network, Reporter subReporter) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ public void apply(Network network, Reporter subReporter) {
.withSeverity(TypedValue.INFO_SEVERITY)
.build());
}

reportElementaryCreations(subReporter);
ModificationUtils.getInstance().disconnectInjection(modificationInfos, network.getLoad(modificationInfos.getEquipmentId()), subReporter);
}

private void reportElementaryCreations(Reporter subReporter) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,19 @@ public Terminal getTerminalFromIdentifiable(Network network,
return null;
}

public void disconnectInjection(InjectionCreationInfos modificationInfos, Injection<?> injection, Reporter subReporter) {
// A newly created injection is connected by default, unless we choose not to do
if (!modificationInfos.isConnected()) {
injection.getTerminal().disconnect();
subReporter.report(Report.builder()
.withKey("equipmentDisconnected")
.withDefaultMessage("Equipment with id=${id} disconnected")
.withValue("id", modificationInfos.getEquipmentId())
.withSeverity(TypedValue.INFO_SEVERITY)
.build());
}
}

public Identifiable<?> getEquipmentByIdentifiableType(Network network, String type, String equipmentId) {
if (type == null || equipmentId == null) {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ public void apply(Network network, Reporter subReporter) {
.withSeverity(TypedValue.INFO_SEVERITY)
.build());
}
ModificationUtils.getInstance().disconnectInjection(modificationInfos, network.getShuntCompensator(modificationInfos.getEquipmentId()), subReporter);
}

private ShuntCompensatorAdder createShuntAdderInNodeBreaker(VoltageLevel voltageLevel, ShuntCompensatorCreationInfos shuntCompensatorInfos) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ private VscConverterStation createConverterStation(Network network,
.withValue("id", converterStationCreationInfos.getEquipmentId())
.withSeverity(TypedValue.INFO_SEVERITY)
.build());
ModificationUtils.getInstance().disconnectInjection(converterStationCreationInfos, vscConverterStation, converterStationReporter);

return vscConverterStation;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
<changeSet author="braquartdav (generated)" id="1698145843266-27">
<addColumn tableName="battery_creation">
<column defaultValueBoolean="true" name="connected" type="boolean"/>
</addColumn>
</changeSet>
<changeSet author="braquartdav (generated)" id="1698145843266-28">
<addColumn tableName="converter_station_creation">
<column defaultValueBoolean="true" name="connected" type="boolean"/>
</addColumn>
</changeSet>
<changeSet author="braquartdav (generated)" id="1698145843266-29">
<addColumn tableName="generator_creation">
<column defaultValueBoolean="true" name="connected" type="boolean"/>
</addColumn>
</changeSet>
<changeSet author="braquartdav (generated)" id="1698145843266-30">
<addColumn tableName="load_creation">
<column defaultValueBoolean="true" name="connected" type="boolean"/>
</addColumn>
</changeSet>
<changeSet author="braquartdav (generated)" id="1698145843266-31">
<addColumn tableName="shunt_compensator_creation_entity">
<column defaultValueBoolean="true" name="connected" type="boolean"/>
</addColumn>
</changeSet>
</databaseChangeLog>
3 changes: 3 additions & 0 deletions src/main/resources/db/changelog/db.changelog-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,9 @@ databaseChangeLog:
- include:
file: changesets/changelog_20231019T143032Z.xml
relativeToChangelogFile: true
- include:
file: changesets/changelog_20231024T110957Z.xml
relativeToChangelogFile: true
- include:
file: changesets/changelog_20231010T120459Z.xml
relativeToChangelogFile: true
Original file line number Diff line number Diff line change
Expand Up @@ -512,10 +512,10 @@ public void runBuildTest() throws Exception {
entities1.add(EquipmentAttributeModificationInfos.builder().equipmentId("trf1").equipmentAttributeName("ratioTapChanger.tapPosition").equipmentAttributeValue(2).equipmentType(IdentifiableType.TWO_WINDINGS_TRANSFORMER).build().toEntity());
entities1.add(EquipmentAttributeModificationInfos.builder().equipmentId("trf6").equipmentAttributeName("phaseTapChanger1.tapPosition").equipmentAttributeValue(0).equipmentType(IdentifiableType.THREE_WINDINGS_TRANSFORMER).build().toEntity());

entities1.add(LoadCreationInfos.builder().equipmentId("newLoad").equipmentName("newLoad").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName("vn").connectionDirection(ConnectablePosition.Direction.TOP).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad1").equipmentName("newLoad1").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName("cn1").connectionDirection(ConnectablePosition.Direction.BOTTOM).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad2").equipmentName("newLoad2").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName("cn2").connectionDirection(ConnectablePosition.Direction.UNDEFINED).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad3").equipmentName("newLoad3").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName(null).connectionDirection(ConnectablePosition.Direction.UNDEFINED).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad").equipmentName("newLoad").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName("vn").connectionDirection(ConnectablePosition.Direction.TOP).connected(true).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad1").equipmentName("newLoad1").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName("cn1").connectionDirection(ConnectablePosition.Direction.BOTTOM).connected(true).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad2").equipmentName("newLoad2").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName("cn2").connectionDirection(ConnectablePosition.Direction.UNDEFINED).connected(true).build().toEntity());
entities1.add(LoadCreationInfos.builder().equipmentId("newLoad3").equipmentName("newLoad3").loadType(LoadType.AUXILIARY).voltageLevelId("v1").busOrBusbarSectionId("1.1").activePower(10.).reactivePower(20.).connectionName(null).connectionDirection(ConnectablePosition.Direction.UNDEFINED).connected(true).build().toEntity());

Map<String, String> properties = Map.of("DEMO", "Demo1");
entities1.add(SubstationCreationInfos.builder()
Expand All @@ -542,7 +542,9 @@ public void runBuildTest() throws Exception {
.regulatingTerminalType("LOAD").regulatingTerminalVlId("v2")
.qPercent(25.).reactiveCapabilityCurve(false).reactiveCapabilityCurvePoints(List.of())
.connectionName("Top").connectionDirection(ConnectablePosition.Direction.TOP)
.connectionPosition(0).build().toEntity());
.connectionPosition(0)
.connected(true)
.build().toEntity());
entities2.add(LineCreationInfos.builder().equipmentId("newLine").equipmentName("newLine").seriesResistance(1.0).seriesReactance(2.0).shuntConductance1(3.0).shuntSusceptance1(4.0).shuntConductance2(5.0).shuntSusceptance2(6.0).voltageLevelId1("v1").busOrBusbarSectionId1("1.1").voltageLevelId2("v2").busOrBusbarSectionId2("1B").currentLimits1(null).currentLimits2(null).connectionName1("cn101").connectionDirection1(ConnectablePosition.Direction.TOP).connectionName2("cn102").connectionDirection2(ConnectablePosition.Direction.TOP).build().toEntity());

List<TapChangerStepCreationEmbeddable> tapChangerStepCreationEmbeddables = new ArrayList<>();
Expand Down Expand Up @@ -581,6 +583,7 @@ public void runBuildTest() throws Exception {
.maxSusceptance(1.)
.connectionDirection(ConnectablePosition.Direction.UNDEFINED)
.connectionName("shunt9")
.connected(true)
.build().toEntity());
entities2.add(TwoWindingsTransformerCreationInfos.builder()
.equipmentId("new2wt")
Expand Down