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(); } } }
private Void readPhaseTapChanger(String[] tokens) { int num = Integer.parseInt(tokens[1]); int tap = Integer.parseInt(tokens[2]); String id = mapper.getId(AmplSubset.PHASE_TAP_CHANGER, num); TwoWindingsTransformer twt = network.getTwoWindingsTransformer(id); if (twt == null) { throw new AmplException("Invalid two windings transformer id '" + id + "'"); } PhaseTapChanger ptc = twt.getPhaseTapChanger(); ptc.setTapPosition(ptc.getLowTapPosition() + tap - 1); return null; }
private Void readShunt(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); double q = readDouble(tokens[4]); int sections = Integer.parseInt(tokens[5]); String id = mapper.getId(AmplSubset.SHUNT, num); ShuntCompensator sc = network.getShuntCompensator(id); if (sc == null) { throw new AmplException("Invalid shunt compensator id '" + id + "'"); } sc.setCurrentSectionCount(Math.max(0, Math.min(sc.getMaximumSectionCount(), sections))); Terminal t = sc.getTerminal(); t.setQ(q); busConnection(t, busNum); return null; }
private Void readBus(String[] tokens) { int num = Integer.parseInt(tokens[1]); double v = readDouble(tokens[2]); double theta = readDouble(tokens[3]); String id = mapper.getId(AmplSubset.BUS, num); Bus bus = buses.get(id); if (bus != null) { bus.setV(v * bus.getVoltageLevel().getNominalV()); bus.setAngle(Math.toDegrees(theta)); } else { throw new AmplException("Invalid bus id '" + id + "'"); } return null; }
private Void readHvdcLine(String[] tokens) { int num = Integer.parseInt(tokens[1]); String converterMode = tokens[2].replace("\"", ""); double targetP = readDouble(tokens[3]); String id = mapper.getId(AmplSubset.HVDC_LINE, num); HvdcLine hl = network.getHvdcLine(id); if (hl == null) { throw new AmplException("Invalid HvdcLine id '" + id + "'"); } hl.setConvertersMode(ConvertersMode.valueOf(converterMode)); hl.setActivePowerSetpoint(targetP); return null; }
private Void readLcc(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); double p = readDouble(tokens[3]); double q = readDouble(tokens[4]); String id = mapper.getId(AmplSubset.LCC_CONVERTER_STATION, num); LccConverterStation lcc = network.getLccConverterStation(id); lcc.getTerminal().setP(p).setQ(q); busConnection(lcc.getTerminal(), busNum); return null; }
private Void readRatioTapChanger(String[] tokens) { int num = Integer.parseInt(tokens[1]); int tap = Integer.parseInt(tokens[2]); String id = mapper.getId(AmplSubset.RATIO_TAP_CHANGER, num); if (id.endsWith(AmplConstants.LEG2_SUFFIX) || id.endsWith(AmplConstants.LEG3_SUFFIX)) { ThreeWindingsTransformer twt = network.getThreeWindingsTransformer(id.substring(0, id.indexOf(AmplConstants.LEG2_SUFFIX))); if (twt == null) { throw new AmplException("Invalid three windings transformer id '" + id + "'"); } if (id.endsWith(AmplConstants.LEG2_SUFFIX)) { RatioTapChanger rtc2 = twt.getLeg2().getRatioTapChanger(); rtc2.setTapPosition(rtc2.getLowTapPosition() + tap - 1); } else if (id.endsWith(AmplConstants.LEG3_SUFFIX)) { RatioTapChanger rtc3 = twt.getLeg3().getRatioTapChanger(); rtc3.setTapPosition(rtc3.getLowTapPosition() + tap - 1); } else { throw new AssertionError(); } } else { TwoWindingsTransformer twt = network.getTwoWindingsTransformer(id); if (twt == null) { throw new AmplException("Invalid two windings transformer id '" + id + "'"); } RatioTapChanger rtc = twt.getRatioTapChanger(); rtc.setTapPosition(rtc.getLowTapPosition() + tap - 1); } return null; }
private Void readVsc(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); boolean vregul = Boolean.parseBoolean(tokens[3]); double targetV = readDouble(tokens[4]); double targetQ = readDouble(tokens[5]); double p = readDouble(tokens[6]); double q = readDouble(tokens[7]); String id = mapper.getId(AmplSubset.VSC_CONVERTER_STATION, num); VscConverterStation vsc = network.getVscConverterStation(id); Terminal t = vsc.getTerminal(); t.setP(p).setQ(q); vsc.setReactivePowerSetpoint(targetQ); vsc.setVoltageRegulatorOn(vregul); double vb = t.getVoltageLevel().getNominalV(); vsc.setVoltageSetpoint(targetV * vb); busConnection(t, busNum); return null; }
private Void readSvc(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); boolean vregul = Boolean.parseBoolean(tokens[3]); double targetV = readDouble(tokens[4]); double q = readDouble(tokens[5]); String id = mapper.getId(AmplSubset.STATIC_VAR_COMPENSATOR, num); StaticVarCompensator svc = network.getStaticVarCompensator(id); if (svc == null) { throw new AmplException("Invalid StaticVarCompensator id '" + id + "'"); } if (vregul) { svc.setRegulationMode(RegulationMode.VOLTAGE); } else { if (q == 0) { svc.setRegulationMode(RegulationMode.OFF); } else { svc.setReactivePowerSetPoint(-q); svc.setRegulationMode(RegulationMode.REACTIVE_POWER); } } Terminal t = svc.getTerminal(); t.setQ(q); double nominalV = t.getVoltageLevel().getNominalV(); svc.setVoltageSetPoint(targetV * nominalV); busConnection(t, busNum); return null; }
private Void readGenerator(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); boolean vregul = Boolean.parseBoolean(tokens[3]); double targetV = readDouble(tokens[4]); double targetP = readDouble(tokens[5]); double targetQ = readDouble(tokens[6]); double p = readDouble(tokens[7]); double q = readDouble(tokens[8]); String id = mapper.getId(AmplSubset.GENERATOR, num); Generator g = network.getGenerator(id); if (g == null) { throw new AmplException("Invalid generator id '" + id + "'"); } g.setVoltageRegulatorOn(vregul); g.setTargetP(targetP); g.setTargetQ(targetQ); Terminal t = g.getTerminal(); t.setP(p).setQ(q); double vb = t.getVoltageLevel().getNominalV(); g.setTargetV(targetV * vb); busConnection(t, busNum); return null; }
private Void readBranch(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); int busNum2 = Integer.parseInt(tokens[3]); double p1 = readDouble(tokens[4]); double p2 = readDouble(tokens[5]); double q1 = readDouble(tokens[6]); double q2 = readDouble(tokens[7]); String id = mapper.getId(AmplSubset.BRANCH, num); Branch br = network.getBranch(id); if (br != null) { br.getTerminal1().setP(p1).setQ(q1); br.getTerminal2().setP(p2).setQ(q2); busConnection(br.getTerminal1(), busNum); busConnection(br.getTerminal2(), busNum2); return null; } if (readThreeWindingsTransformerBranch(id, p1, q1, busNum)) { return null; } DanglingLine dl = network.getDanglingLine(id); if (dl != null) { dl.getTerminal().setP(p1).setQ(q1); busConnection(dl.getTerminal(), busNum); } else { throw new AmplException("Invalid branch id '" + id + "'"); } return null; }
private Void readLoad(String[] tokens) { int num = Integer.parseInt(tokens[1]); int busNum = Integer.parseInt(tokens[2]); double p = readDouble(tokens[3]); double q = readDouble(tokens[4]); double p0 = readDouble(tokens[5]); double q0 = readDouble(tokens[6]); String id = mapper.getId(AmplSubset.LOAD, num); Load l = network.getLoad(id); if (l != null) { l.setP0(p0).setQ0(q0); l.getTerminal().setP(p).setQ(q); busConnection(l.getTerminal(), busNum); } else { DanglingLine dl = network.getDanglingLine(id); if (dl != null) { dl.setP0(p0).setQ0(q0); dl.getTerminal().setP(p).setQ(q); busConnection(dl.getTerminal(), busNum); } else { throw new AmplException("Invalid load id '" + id + "'"); } } return null; }
assertFalse(mapper.isMapped(TestSubset.TYPE, value)); try { mapper.getId(TestSubset.TYPE, 1); fail(); } catch (IllegalArgumentException ignored) { assertTrue(mapper.isMapped(TestSubset.TYPE, value)); assertEquals(1, num); assertEquals(value, mapper.getId(TestSubset.TYPE, 1)); assertEquals(1, mapper.getInt(TestSubset.TYPE, value)); assertTrue(mapper.isMapped(TestSubset.TYPE, value)); assertEquals(2, num); assertEquals(value, mapper.getId(TestSubset.TYPE, 2)); assertEquals(2, mapper.getInt(TestSubset.TYPE, value)); mapper.getId(null, 1); fail(); } catch (IllegalArgumentException ignored) { mapper.getId(TestSubset.TYPE, 0); fail(); } catch (IllegalArgumentException ignored) { mapper.getId(TestSubset.TYPE, 3); fail(); } catch (IllegalArgumentException ignored) {