private void busConnection(Terminal t, int busNum) { if (busNum == -1) { t.disconnect(); } else { String busId = mapper.getId(AmplSubset.BUS, busNum); Bus connectable = AmplUtil.getConnectableBus(t); if (connectable != null && connectable.getId().equals(busId)) { t.connect(); } } }
@Override public void modify(Network network, ComputationManager computationManager) { Generator g = network.getGenerator(generatorId); if (g == null) { throw new PowsyblException("Generator '" + generatorId + "' not found"); } g.getTerminal().connect(); }
private static void connectGenerator(Generator g) { Terminal t = g.getTerminal(); t.connect(); if (g.isVoltageRegulatorOn()) { Bus bus = t.getBusView().getBus(); if (bus != null) { // set voltage setpoint to the same as other generators connected to the bus double targetV = bus.getGeneratorStream().findFirst().map(Generator::getTargetV).orElse(Double.NaN); // if no other generator connected to the bus, set voltage setpoint to network voltage if (Double.isNaN(targetV) && !Double.isNaN(bus.getV())) { g.setTargetV(bus.getV()); } } } LOGGER.info("Connecting {}", g.getId()); } }
public static void prepareBaseCase(Network network, OfflineWorkflowCreationParameters creationParameters, HistoDbClient histoDbClient) throws IOException, InterruptedException { clearSv(network); // connect loads and intermittent generation and boundary lines (so everything that can be sampled) for (Load l : network.getLoads()) { l.getTerminal().connect(); } if (creationParameters.isGenerationSampled()) { for (Generator g : network.getGenerators()) { if (g.getEnergySource().isIntermittent()) { g.getTerminal().connect(); } } } if (creationParameters.isBoundariesSampled()) { for (DanglingLine dl : network.getDanglingLines()) { dl.getTerminal().connect(); } } // TODO also override generator regulating status, phase shitfer regulating status and transformer regulating status? // resize voltage limits with historical data HistoDbUtil.fixVoltageLimits(network, histoDbClient, creationParameters.getHistoInterval()); // temporary workaround for Elia data, missing pmin, pmax HistoDbUtil.fixGeneratorActiveLimits(network, histoDbClient, creationParameters.getHistoInterval()); }
private boolean removeSwitchandBus(VoltageLevel vl, Switch s, Bus toRemove, Bus toKeep) { List<Terminal> terminals = getTerminals(toRemove); if (terminals.size() <= 1) { terminals.forEach(t -> { boolean reconnect = false; if (t.isConnected()) { t.disconnect(); reconnect = true; } t.getBusBreakerView().setConnectableBus(toKeep.getId()); if (!s.isOpen() && reconnect) { t.connect(); } }); vl.getBusBreakerView().removeSwitch(s.getId()); vl.getBusBreakerView().removeBus(toRemove.getId()); return true; } return false; }