@Override public void allocateVariantArrayElement(int[] indexes, int sourceIndex) { for (TerminalExt t : terminals) { t.allocateVariantArrayElement(indexes, sourceIndex); } }
@Override public void deleteVariantArrayElement(int index) { for (TerminalExt t : terminals) { t.deleteVariantArrayElement(index); } }
@Override public void extendVariantArraySize(int initVariantArraySize, int number, int sourceIndex) { for (TerminalExt t : terminals) { t.extendVariantArraySize(initVariantArraySize, number, sourceIndex); } }
AbstractConnectable connectable = terminal.getConnectable(); switch (connectable.getType()) { case BUSBAR_SECTION: case LOAD: case HVDC_CONVERTER_STATION: if (!Double.isNaN(terminal.getP())) { p += terminal.getP();
private void checkTerminal(TerminalExt terminal) { if (!(terminal instanceof NodeTerminal)) { throw new ValidationException(terminal.getConnectable(), "voltage level " + NodeBreakerVoltageLevel.this.id + " has a node/breaker topology" + ", a node connection should be specified instead of a bus connection"); } }
protected NetworkImpl getNetwork() { if (terminals.isEmpty()) { throw new PowsyblException(id + " is not attached to a network"); } return terminals.get(0).getVoltageLevel().getNetwork(); }
AbstractConnectable connectable = terminal.getConnectable(); switch (connectable.getType()) { case BUSBAR_SECTION: case STATIC_VAR_COMPENSATOR: case HVDC_CONVERTER_STATION: if (!Double.isNaN(terminal.getQ())) { q += terminal.getQ();
.append(" [label=\"").append(label).append("\"]\n"); for (TerminalExt terminal : bus.getTerminals()) { AbstractConnectable connectable = terminal.getConnectable(); label = connectable.getType().toString() + "\\n" + connectable.getId(); writer.append(" ").append(connectable.getId()) AbstractConnectable connectable = terminal.getConnectable(); writer.append(" ").append(bus.getId()) .append(" -- ").append(connectable.getId()) .append(" [").append("style=\"").append(terminal.isConnected() ? "solid" : "dotted").append("\"") .append("]\n");
@Override public void attach(TerminalExt terminal, boolean test) { checkTerminal(terminal); if (test) { return; } int node = ((NodeTerminal) terminal).getNode(); if (graph.getVertexObject(node) != null) { throw new ValidationException(terminal.getConnectable(), "an equipment (" + graph.getVertexObject(node).getConnectable().getId() + ") is already connected to node " + node + " of voltage level " + NodeBreakerVoltageLevel.this.id); } // create the link terminal <-> voltage level terminal.setVoltageLevel(NodeBreakerVoltageLevel.this); // create the link terminal <-> graph vertex graph.setVertexObject(node, (NodeTerminal) terminal); }
@Override public boolean checkPermanentLimit1(float limitReduction) { return LimitViolationUtils.checkPermanentLimit(this, Side.ONE, limitReduction, getTerminal1().getI()); }
boolean isConnected(TerminalExt terminal) { assert terminal instanceof NodeTerminal; return terminal.getBusView().getBus() != null; }
@Override public boolean disconnect(TerminalExt terminal) { assert terminal instanceof BusTerminal; // already connected? if (!terminal.isConnected()) { return false; } ((BusTerminal) terminal).setConnected(false); // invalidate connected components invalidateCache(); return true; }
@Override public void printTopology(PrintStream out, ShortIdDictionary dict) { out.println("-------------------------------------------------------------"); out.println("Topology of " + BusBreakerVoltageLevel.this.id); Function<ConfiguredBus, String> vertexToString = bus -> { StringBuilder builder = new StringBuilder(); builder.append(bus.getId()) .append(" ["); for (Iterator<TerminalExt> it = bus.getConnectedTerminals().iterator(); it.hasNext(); ) { TerminalExt terminal = it.next(); builder.append(dict != null ? dict.getShortId(terminal.getConnectable().getId()) : terminal.getConnectable().getId()); if (it.hasNext()) { builder.append(", "); } } builder.append("]"); return builder.toString(); }; Function<SwitchImpl, String> edgeToString = aSwitch -> { StringBuilder builder = new StringBuilder(); builder.append("id=").append(aSwitch.getId()) .append(" status=").append(aSwitch.isOpen() ? "open" : "closed"); return builder.toString(); }; graph.print(out, vertexToString, edgeToString); }
@Override public SubstationImpl getSubstation() { return leg1.getTerminal().getVoltageLevel().getSubstation(); }
@Override public boolean checkPermanentLimit2(float limitReduction) { return LimitViolationUtils.checkPermanentLimit(this, Side.TWO, limitReduction, getTerminal2().getI()); }
@Override protected void fillAdjacencyList(Map<String, Integer> id2num, TIntArrayList[] adjacencyList) { super.fillAdjacencyList(id2num, adjacencyList); for (HvdcLineImpl line : network.objectStore.getAll(HvdcLineImpl.class)) { BusExt bus1 = line.getConverterStation1().getTerminal().getBusView().getBus(); BusExt bus2 = line.getConverterStation2().getTerminal().getBusView().getBus(); addToAdjacencyList(bus1, bus2, id2num, adjacencyList); } }
@Override public boolean connect(TerminalExt terminal) { assert terminal instanceof BusTerminal; // already connected? if (terminal.isConnected()) { return false; } ((BusTerminal) terminal).setConnected(true); // invalidate connected components invalidateCache(); return true; }
private void checkTerminal(TerminalExt terminal) { if (!(terminal instanceof BusTerminal)) { throw new ValidationException(terminal.getConnectable(), "voltage level " + BusBreakerVoltageLevel.this.id + " has a bus/breaker topology" + ", a bus connection should be specified instead of a node connection"); } // check connectable buses exist String connectableBusId = ((BusTerminal) terminal).getConnectableBusId(); if (connectableBusId != null) { getBus(connectableBusId, true); } }
static void checkRegulatingTerminal(Validable validable, TerminalExt regulatingTerminal, NetworkImpl network) { if (regulatingTerminal != null && regulatingTerminal.getVoltageLevel().getNetwork() != network) { throw new ValidationException(validable, "regulating terminal is not part of the network"); } }
@Override public Branch.Overload checkTemporaryLimits1(float limitReduction) { return LimitViolationUtils.checkTemporaryLimits(this, Side.ONE, limitReduction, getTerminal1().getI()); }