protected static void writeRatioTapChanger(String name, RatioTapChanger rtc, NetworkXmlWriterContext context) throws XMLStreamException { context.getWriter().writeStartElement(IIDM_URI, name); writeTapChanger(rtc, context.getWriter()); context.getWriter().writeAttribute("loadTapChangingCapabilities", Boolean.toString(rtc.hasLoadTapChangingCapabilities())); if (rtc.hasLoadTapChangingCapabilities() || rtc.isRegulating()) { context.getWriter().writeAttribute(ATTR_REGULATING, Boolean.toString(rtc.isRegulating())); } if (rtc.hasLoadTapChangingCapabilities() || !Double.isNaN(rtc.getTargetV())) { XmlUtil.writeDouble("targetV", rtc.getTargetV(), context.getWriter()); } if (rtc.getRegulationTerminal() != null) { writeTerminalRef(rtc.getRegulationTerminal(), context, ELEM_TERMINAL_REF); } for (int p = rtc.getLowTapPosition(); p <= rtc.getHighTapPosition(); p++) { RatioTapChangerStep rtcs = rtc.getStep(p); context.getWriter().writeEmptyElement(IIDM_URI, ELEM_STEP); writeTapChangerStep(rtcs, context.getWriter()); } context.getWriter().writeEndElement(); }
private double getRtcX(TwoWindingsTransformer twt, int p) { return getValue(twt.getX(), twt.getRatioTapChanger() != null ? twt.getRatioTapChanger().getStep(p).getX() : 0, twt.getPhaseTapChanger() != null ? twt.getPhaseTapChanger().getCurrentStep().getX() : 0); }
private double getRtcR(TwoWindingsTransformer twt, int p) { return getValue(twt.getR(), twt.getRatioTapChanger() != null ? twt.getRatioTapChanger().getStep(p).getR() : 0, twt.getPhaseTapChanger() != null ? twt.getPhaseTapChanger().getCurrentStep().getR() : 0); }
private double getRtcRho1(TwoWindingsTransformer twt, int p) { double rho1 = twt.getRatedU2() / twt.getRatedU1(); if (twt.getRatioTapChanger() != null) { rho1 *= twt.getRatioTapChanger().getStep(p).getRho(); } if (twt.getPhaseTapChanger() != null) { rho1 *= twt.getPhaseTapChanger().getCurrentStep().getRho(); } return rho1; }
private void writeRatioTapChanger(TableFormatter formatter, String id, double zb2, double reactance, RatioTapChanger rtc) throws IOException { int num = mapper.getInt(AmplSubset.TAP_CHANGER_TABLE, id); for (int position = rtc.getLowTapPosition(); position <= rtc.getHighTapPosition(); position++) { RatioTapChangerStep step = rtc.getStep(position); double x = reactance * (1 + step.getX() / 100) / zb2; formatter.writeCell(variantIndex) .writeCell(num) .writeCell(position - rtc.getLowTapPosition() + 1) .writeCell(step.getRho()) .writeCell(x) .writeCell(0.0) .writeCell(faultNum) .writeCell(actionNum); } }