@Override public Side getSide(Terminal terminal) { Objects.requireNonNull(terminal); if (getLeg1().getTerminal() == terminal) { return Side.ONE; } else if (getLeg2().getTerminal() == terminal) { return Side.TWO; } else if (getLeg3().getTerminal() == terminal) { return Side.THREE; } else { throw new AssertionError("The terminal is not connected to this three windings transformer"); } }
= new ThreeWindingsTransformerImpl(id, getName(), leg1, leg2, leg3); leg1.setTransformer(transformer); leg2.setTransformer(transformer); leg3.setTransformer(transformer); terminal1.setNum(1);
protected void fillAdjacencyList(Map<String, Integer> id2num, TIntArrayList[] adjacencyList) { for (LineImpl line : Sets.union(network.objectStore.getAll(LineImpl.class), network.objectStore.getAll(TieLineImpl.class))) { BusExt bus1 = line.getTerminal1().getBusView().getBus(); BusExt bus2 = line.getTerminal2().getBusView().getBus(); addToAdjacencyList(bus1, bus2, id2num, adjacencyList); } for (TwoWindingsTransformerImpl transfo : network.objectStore.getAll(TwoWindingsTransformerImpl.class)) { BusExt bus1 = transfo.getTerminal1().getBusView().getBus(); BusExt bus2 = transfo.getTerminal2().getBusView().getBus(); addToAdjacencyList(bus1, bus2, id2num, adjacencyList); } for (ThreeWindingsTransformerImpl transfo : network.objectStore.getAll(ThreeWindingsTransformerImpl.class)) { BusExt bus1 = transfo.getLeg1().getTerminal().getBusView().getBus(); BusExt bus2 = transfo.getLeg2().getTerminal().getBusView().getBus(); BusExt bus3 = transfo.getLeg3().getTerminal().getBusView().getBus(); addToAdjacencyList(bus1, bus2, id2num, adjacencyList); addToAdjacencyList(bus1, bus3, id2num, adjacencyList); addToAdjacencyList(bus2, bus3, id2num, adjacencyList); } }
@Override public void deleteVariantArrayElement(int index) { super.deleteVariantArrayElement(index); if (leg2.getRatioTapChanger() != null) { leg2.getRatioTapChanger().deleteVariantArrayElement(index); } if (leg3.getRatioTapChanger() != null) { leg3.getRatioTapChanger().deleteVariantArrayElement(index); } }
@Override public void extendVariantArraySize(int initVariantArraySize, int number, int sourceIndex) { super.extendVariantArraySize(initVariantArraySize, number, sourceIndex); if (leg2.getRatioTapChanger() != null) { leg2.getRatioTapChanger().extendVariantArraySize(initVariantArraySize, number, sourceIndex); } if (leg3.getRatioTapChanger() != null) { leg3.getRatioTapChanger().extendVariantArraySize(initVariantArraySize, number, sourceIndex); } }
@Override public Terminal getTerminal(Side side) { switch (side) { case ONE: return getLeg1().getTerminal(); case TWO: return getLeg2().getTerminal(); case THREE: return getLeg3().getTerminal(); default: throw new AssertionError(); } }
@Override public ThreeWindingsTransformerAdderImpl add() { checkParams(); voltageLevel2 = checkAndGetVoltageLevel(); terminal2 = checkAndGetTerminal(); leg2 = new Leg2Impl(r, x, ratedU); return ThreeWindingsTransformerAdderImpl.this; }
@Override public void allocateVariantArrayElement(int[] indexes, int sourceIndex) { super.allocateVariantArrayElement(indexes, sourceIndex); if (leg2.getRatioTapChanger() != null) { leg2.getRatioTapChanger().allocateVariantArrayElement(indexes, sourceIndex); } if (leg3.getRatioTapChanger() != null) { leg3.getRatioTapChanger().allocateVariantArrayElement(indexes, sourceIndex); } }
@Override public void reduceVariantArraySize(int number) { super.reduceVariantArraySize(number); if (leg2.getRatioTapChanger() != null) { leg2.getRatioTapChanger().reduceVariantArraySize(number); } if (leg3.getRatioTapChanger() != null) { leg3.getRatioTapChanger().reduceVariantArraySize(number); } }