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 writePhaseTapChanger(TableFormatter formatter, String id, double zb2, double reactance, PhaseTapChanger ptc) throws IOException { int num = mapper.getInt(AmplSubset.TAP_CHANGER_TABLE, id); for (int position = ptc.getLowTapPosition(); position <= ptc.getHighTapPosition(); position++) { PhaseTapChangerStep step = ptc.getStep(position); double x = reactance * (1 + step.getX() / 100) / zb2; formatter.writeCell(variantIndex) .writeCell(num) .writeCell(position - ptc.getLowTapPosition() + 1) .writeCell(step.getRho()) .writeCell(x) .writeCell(Math.toRadians(step.getAlpha())) .writeCell(faultNum) .writeCell(actionNum); } }
protected static void writePhaseTapChanger(String name, PhaseTapChanger ptc, NetworkXmlWriterContext context) throws XMLStreamException { context.getWriter().writeStartElement(IIDM_URI, name); writeTapChanger(ptc, context.getWriter()); context.getWriter().writeAttribute("regulationMode", ptc.getRegulationMode().name()); if (ptc.getRegulationMode() != PhaseTapChanger.RegulationMode.FIXED_TAP || !Double.isNaN(ptc.getRegulationValue())) { XmlUtil.writeDouble("regulationValue", ptc.getRegulationValue(), context.getWriter()); } if (ptc.getRegulationMode() != PhaseTapChanger.RegulationMode.FIXED_TAP || ptc.isRegulating()) { context.getWriter().writeAttribute(ATTR_REGULATING, Boolean.toString(ptc.isRegulating())); } if (ptc.getRegulationTerminal() != null) { writeTerminalRef(ptc.getRegulationTerminal(), context, ELEM_TERMINAL_REF); } for (int p = ptc.getLowTapPosition(); p <= ptc.getHighTapPosition(); p++) { PhaseTapChangerStep ptcs = ptc.getStep(p); context.getWriter().writeEmptyElement(IIDM_URI, ELEM_STEP); writeTapChangerStep(ptcs, context.getWriter()); XmlUtil.writeDouble("alpha", ptcs.getAlpha(), context.getWriter()); } context.getWriter().writeEndElement(); }
ktap8 = ptc.getTapPosition() - ptc.getLowTapPosition() + 1; ktpnom = ptc.getStepCount() / 2 + 1; for (int p = ptc.getLowTapPosition(); p <= ptc.getHighTapPosition(); p++) { int iplo = p - ptc.getLowTapPosition() + 1; taps.add(createTap(twt, iplo, getPtcRho1(twt, p), getPtcR(twt, p), getPtcX(twt, p), ptc.getStep(p).getAlpha(), rate, parameters));
formatter.writeCell(variantIndex) .writeCell(num) .writeCell(ptc.getTapPosition() - ptc.getLowTapPosition() + 1) .writeCell(tcsNum) .writeCell(faultNum)