private static String getThreeWindingsTransformerMiddleBusId(ThreeWindingsTransformer twt) { return twt.getId(); // same id as the transformer }
private static String getThreeWindingsTransformerMiddleVoltageLevelId(ThreeWindingsTransformer twt) { return twt.getId(); // same id as the transformer }
private static void fillThreeWindingsTransformers(StringToIntMapper<AmplSubset> mapper, Network network) { for (ThreeWindingsTransformer twt : network.getThreeWindingsTransformers()) { mapper.newInt(AmplSubset.VOLTAGE_LEVEL, twt.getId()); mapper.newInt(AmplSubset.BUS, twt.getId()); mapper.newInt(AmplSubset.THREE_WINDINGS_TRANSFO, twt.getId()); mapper.newInt(AmplSubset.BRANCH, twt.getId() + AmplConstants.LEG1_SUFFIX); mapper.newInt(AmplSubset.BRANCH, twt.getId() + AmplConstants.LEG2_SUFFIX); mapper.newInt(AmplSubset.BRANCH, twt.getId() + AmplConstants.LEG3_SUFFIX); if (twt.getLeg2().getRatioTapChanger() != null) { mapper.newInt(AmplSubset.TAP_CHANGER_TABLE, twt.getId() + "_leg2_ratio_table"); mapper.newInt(AmplSubset.RATIO_TAP_CHANGER, twt.getId() + AmplConstants.LEG2_SUFFIX); } if (twt.getLeg3().getRatioTapChanger() != null) { mapper.newInt(AmplSubset.TAP_CHANGER_TABLE, twt.getId() + "_leg3_ratio_table"); mapper.newInt(AmplSubset.RATIO_TAP_CHANGER, twt.getId() + AmplConstants.LEG3_SUFFIX); } // limits if (twt.getLeg1().getCurrentLimits() != null) { createLimitsIds(mapper, twt.getLeg1().getCurrentLimits(), twt.getId() + AmplConstants.LEG1_SUFFIX, ""); } if (twt.getLeg2().getCurrentLimits() != null) { createLimitsIds(mapper, twt.getLeg2().getCurrentLimits(), twt.getId() + AmplConstants.LEG2_SUFFIX, ""); } if (twt.getLeg3().getCurrentLimits() != null) { createLimitsIds(mapper, twt.getLeg3().getCurrentLimits(), twt.getId() + AmplConstants.LEG3_SUFFIX, ""); } } }
valueMap.put(new HistoDbNetworkAttributeId(twt.getId(), t.getVoltageLevel().getId(), HistoDbAttr.V), context.v); valueMap.put(new HistoDbNetworkAttributeId(twt.getId(), t.getVoltageLevel().getId(), HistoDbAttr.I), context.i); valueMap.put(new HistoDbNetworkAttributeId(twt.getId(), t.getVoltageLevel().getId(), HistoDbAttr.P), context.p); valueMap.put(new HistoDbNetworkAttributeId(twt.getId(), t.getVoltageLevel().getId(), HistoDbAttr.Q), context.q);
RatioTapChanger rtc2 = twt.getLeg2().getRatioTapChanger(); if (rtc2 != null) { String rtc2Id = twt.getId() + AmplConstants.LEG2_SUFFIX; String tcs2Id = twt.getId() + "_leg2_ratio_table"; writeRatioTapChanger(formatter, rtc2Id, rtc2, tcs2Id); String rtc3Id = twt.getId() + AmplConstants.LEG3_SUFFIX; String tcs3Id = twt.getId() + "_leg3_ratio_table"; writeRatioTapChanger(formatter, rtc3Id, rtc3, tcs3Id);
private void writeThreeWindingsTransformerCurrentLimits(TableFormatter formatter) throws IOException { for (ThreeWindingsTransformer twt : network.getThreeWindingsTransformers()) { if (twt.getLeg1().getCurrentLimits() != null) { String branchId = twt.getId() + AmplConstants.LEG1_SUFFIX; writeTemporaryCurrentLimits(twt.getLeg1().getCurrentLimits(), formatter, branchId, false, ""); } if (twt.getLeg2().getCurrentLimits() != null) { String branchId = twt.getId() + AmplConstants.LEG2_SUFFIX; writeTemporaryCurrentLimits(twt.getLeg2().getCurrentLimits(), formatter, branchId, true, ""); } if (twt.getLeg3().getCurrentLimits() != null) { String branchId = twt.getId() + AmplConstants.LEG3_SUFFIX; writeTemporaryCurrentLimits(twt.getLeg3().getCurrentLimits(), formatter, branchId, true, ""); } } }
Mockito.when(twt3w.getId()).thenReturn("twt3w"); Mockito.when(twt3w.getLeg1()).thenReturn(leg1); Mockito.when(twt3w.getLeg2()).thenReturn(leg2);
String reason0 = String.format( "Not supported for 3wtx. txId 'name' 'substation': %s '%s' '%s'", tx3.getId(), tx3.getName(), tx3.getSubstation().getName());
String reason0 = String.format( "Not supported at end 1 of 3wtx. txId 'name' 'substation': %s '%s' '%s'", tx3.getId(), tx3.getName(), tx3.getSubstation().getName());
if (equipIds != null && !equipIds.contains(wt3.getId())) { continue; String leg1Id = wt3.getId() + "__TO__" + wt3.getLeg1().getTerminal().getVoltageLevel().getId(); String leg2Id = wt3.getId() + "__TO__" + wt3.getLeg2().getTerminal().getVoltageLevel().getId(); String leg3Id = wt3.getId() + "__TO__" + wt3.getLeg3().getTerminal().getVoltageLevel().getId();
private void writeThreeWindingsTransformerTapChangerTable(TableFormatter formatter) throws IOException { for (ThreeWindingsTransformer twt : network.getThreeWindingsTransformers()) { RatioTapChanger rtc2 = twt.getLeg2().getRatioTapChanger(); if (rtc2 != null) { String id = twt.getId() + "_leg2_ratio_table"; Terminal t2 = twt.getLeg2().getTerminal(); double vb2 = t2.getVoltageLevel().getNominalV(); double zb2 = vb2 * vb2 / AmplConstants.SB; writeRatioTapChanger(formatter, id, zb2, twt.getLeg2().getX(), rtc2); } RatioTapChanger rtc3 = twt.getLeg3().getRatioTapChanger(); if (rtc3 != null) { String id = twt.getId() + "_leg3_ratio_table"; Terminal t3 = twt.getLeg3().getTerminal(); double vb3 = t3.getVoltageLevel().getNominalV(); double zb3 = vb3 * vb3 / AmplConstants.SB; writeRatioTapChanger(formatter, id, zb3, twt.getLeg3().getX(), rtc3); } } }
valueMap.put(new HistoDbNetworkAttributeId(twt.getId(), twt.getLeg2().getTerminal().getVoltageLevel().getId(), HistoDbAttr.RTC), twt.getLeg2().getRatioTapChanger().getTapPosition()); valueMap.put(new HistoDbNetworkAttributeId(twt.getId(), twt.getLeg3().getTerminal().getVoltageLevel().getId(), HistoDbAttr.RTC), twt.getLeg3().getRatioTapChanger().getTapPosition());
t.getLeg2().getTerminal().getBusView().getBus() != null && t.getLeg3().getTerminal().getBusView().getBus() != null) { String str = idT3W + t.getId(); numberBusIdMap.put(busNumber, str); idBusNumberMap.put(str, busNumber); t.getLeg2().getTerminal().getBusView().getBus() != null && t.getLeg3().getTerminal().getBusView().getBus() != null) { String str = idT3W + t.getId() + "_1"; numberBranchIdMap.put(branchNumber, str); idBranchNumberMap.put(str, branchNumber); branchNumber++; str = idT3W + t.getId() + "_2"; numberBranchIdMap.put(branchNumber, str); idBranchNumberMap.put(str, branchNumber); str = idT3W + t.getId() + "_3"; branchNumber++; numberBranchIdMap.put(branchNumber, str); String nameBus = idT3W + t.getId(); int numberBus = idBusNumberMap.get(nameBus); int loadFlowAreaNumber = defaultLoadFlowArea; String nameBranch = idT3W + t.getId() + "_1"; int numberBranch = idBranchNumberMap.get(nameBranch); int tapBusNumber = idBusNumberMap.get(t.getLeg1().getTerminal().getBusView().getBus().getId()); nameBranch = idT3W + t.getId() + "_2"; numberBranch = idBranchNumberMap.get(nameBranch);
public TwtData(ThreeWindingsTransformer twt, double epsilonX, boolean applyReactanceCorrection) { Objects.requireNonNull(twt); id = twt.getId(); starTheta = starVoltage.getArgument(); BranchData leg1BranchData = legBranchData(twt.getId(), twt.getLeg1(), starVoltage, epsilonX, applyReactanceCorrection); computedP1 = leg1BranchData.getComputedP1(); computedQ1 = leg1BranchData.getComputedQ1(); BranchData leg2BranchData = legBranchData(twt.getId(), Side.TWO, twt.getLeg2(), ratedU0, starVoltage, epsilonX, applyReactanceCorrection); computedP2 = leg2BranchData.getComputedP1(); computedQ2 = leg2BranchData.getComputedQ1(); BranchData leg3BranchData = legBranchData(twt.getId(), Side.THREE, twt.getLeg3(), ratedU0, starVoltage, epsilonX, applyReactanceCorrection); computedP3 = leg3BranchData.getComputedP1();
context.voltageLevelIdsToExport.add(vl2.getId()); context.voltageLevelIdsToExport.add(vl3.getId()); String id1 = twt.getId() + AmplConstants.LEG1_SUFFIX; String id2 = twt.getId() + AmplConstants.LEG2_SUFFIX; String id3 = twt.getId() + AmplConstants.LEG3_SUFFIX; int num3wt = mapper.getInt(AmplSubset.THREE_WINDINGS_TRANSFO, twt.getId()); int num1 = mapper.getInt(AmplSubset.BRANCH, id1); int num2 = mapper.getInt(AmplSubset.BRANCH, id2);
private static void extractTfo3WData(Network network, NetworkData networkData) { for (ThreeWindingsTransformer tfo : network.getThreeWindingsTransformers()) { networkData.addTfo3WData(new Tfo3WData(tfo.getId(), (tfo.getLeg1().getTerminal().getBusBreakerView().getBus() != null) ? tfo.getLeg1().getTerminal().getBusBreakerView().getBus().getId() : tfo.getLeg1().getTerminal().getBusBreakerView().getConnectableBus().getId(), (tfo.getLeg2().getTerminal().getBusBreakerView().getBus() != null) ? tfo.getLeg2().getTerminal().getBusBreakerView().getBus().getId() : tfo.getLeg2().getTerminal().getBusBreakerView().getConnectableBus().getId(), (tfo.getLeg3().getTerminal().getBusBreakerView().getBus() != null) ? tfo.getLeg3().getTerminal().getBusBreakerView().getBus().getId() : tfo.getLeg3().getTerminal().getBusBreakerView().getConnectableBus().getId(), apparentPower(tfo.getLeg1().getTerminal()), apparentPower(tfo.getLeg2().getTerminal()), apparentPower(tfo.getLeg3().getTerminal()), tfo.getLeg1().getTerminal().getVoltageLevel().getNominalV(), tfo.getLeg1().getTerminal().getVoltageLevel().getNominalV(), tfo.getLeg3().getTerminal().getVoltageLevel().getNominalV(), (tfo.getLeg1().getCurrentLimits() != null) ? tfo.getLeg1().getCurrentLimits().getPermanentLimit() : Float.NaN, (tfo.getLeg2().getCurrentLimits() != null) ? tfo.getLeg2().getCurrentLimits().getPermanentLimit() : Float.NaN, (tfo.getLeg3().getCurrentLimits() != null) ? tfo.getLeg3().getCurrentLimits().getPermanentLimit() : Float.NaN) ); } }