public static int getForecastDistance(VoltageLevel vl) { String forecastDistanceStr = vl.getProperties().getProperty(FORECAST_DISTANCE); if (forecastDistanceStr != null) { return Integer.parseInt(forecastDistanceStr); } else { return vl.getSubstation().getNetwork().getForecastDistance(); } }
public static int getDateDistanceToReference(VoltageLevel vl) { DateTime caseDate; String caseDateStr = vl.getProperties().getProperty(CASE_DATE); if (caseDateStr == null) { caseDate = vl.getSubstation().getNetwork().getCaseDate(); } else { caseDate = DateTime.parse(caseDateStr); } return (int) new Duration(caseDate, vl.getSubstation().getNetwork().getCaseDate()).getStandardMinutes(); }
/** * Throw a {@link com.powsybl.commons.PowsyblException} if this voltage level contains at least one {@link Branch} or * one {@link ThreeWindingsTransformer} or one {@link HvdcConverterStation}. */ static void checkRemovability(VoltageLevel voltageLevel) { Network network = voltageLevel.getSubstation().getNetwork(); for (Connectable connectable : voltageLevel.getConnectables()) { ConnectableType type = connectable.getType(); if (MULTIPLE_TERMINALS_CONNECTABLE_TYPES.contains(type)) { // Reject lines, 2WT and 3WT throw new AssertionError("The voltage level '" + voltageLevel.getId() + "' cannot be removed because of a remaining " + type); } else if ((type == ConnectableType.HVDC_CONVERTER_STATION) && (network.getHvdcLine((HvdcConverterStation) connectable) != null)) { // Reject all converter stations connected to a HVDC line throw new AssertionError("The voltage level '" + voltageLevel.getId() + "' cannot be removed because of a remaining HVDC line"); } } } }
static void checkRatioTapChangerRegulation(Validable validable, boolean loadTapChangingCapabilities, boolean regulating, Terminal regulationTerminal, double targetV, Network network) { if (loadTapChangingCapabilities && regulating) { if (Double.isNaN(targetV)) { throw new ValidationException(validable, "a target voltage has to be set for a regulating ratio tap changer"); } if (targetV <= 0) { throw new ValidationException(validable, "bad target voltage " + targetV); } if (regulationTerminal == null) { throw new ValidationException(validable, "a regulation terminal has to be set for a regulating ratio tap changer"); } if (regulationTerminal.getVoltageLevel().getSubstation().getNetwork() != network) { throw new ValidationException(validable, "regulation terminal is not part of the network"); } } }
static void checkPhaseTapChangerRegulation(Validable validable, PhaseTapChanger.RegulationMode regulationMode, double regulationValue, boolean regulating, Terminal regulationTerminal, Network network) { if (regulationMode == null) { throw new ValidationException(validable, "phase regulation mode is not set"); } if (regulationMode != PhaseTapChanger.RegulationMode.FIXED_TAP && Double.isNaN(regulationValue)) { throw new ValidationException(validable, "phase regulation is on and threshold/setpoint value is not set"); } if (regulationMode != PhaseTapChanger.RegulationMode.FIXED_TAP && regulationTerminal == null) { throw new ValidationException(validable, "phase regulation is on and regulated terminal is not set"); } if (regulationTerminal != null && regulationTerminal.getVoltageLevel().getSubstation().getNetwork() != network) { throw new ValidationException(validable, "phase regulation terminal is not part of the network"); } if (regulationMode == PhaseTapChanger.RegulationMode.FIXED_TAP && regulating) { throw new ValidationException(validable, "phase regulation cannot be on if mode is FIXED"); } }
@Override protected void readSubElements(Generator g, NetworkXmlReaderContext context) throws XMLStreamException { readUntilEndRootElement(context.getReader(), () -> { switch (context.getReader().getLocalName()) { case "regulatingTerminal": String id = context.getAnonymizer().deanonymizeString(context.getReader().getAttributeValue(null, "id")); String side = context.getReader().getAttributeValue(null, "side"); context.getEndTasks().add(() -> g.setRegulatingTerminal(readTerminalRef(g.getTerminal().getVoltageLevel().getSubstation().getNetwork(), id, side))); break; case "reactiveCapabilityCurve": case "minMaxReactiveLimits": ReactiveLimitsXml.INSTANCE.read(g, context); break; default: super.readSubElements(g, context); } }); } }
private static void checkRemovability(Substation substation, HvdcConverterStation station) { HvdcLine hvdcLine = substation.getNetwork().getHvdcLine(station); if (hvdcLine != null) { Substation s1 = hvdcLine.getConverterStation1().getTerminal().getVoltageLevel().getSubstation(); Substation s2 = hvdcLine.getConverterStation2().getTerminal().getVoltageLevel().getSubstation(); if ((s1 != substation) || (s2 != substation)) { throw createIsolationException(substation); } } }
VoltageLevel hvVl = hvT.getVoltageLevel(); Substation s = hvVl.getSubstation(); Network n = s.getNetwork(); double hvNomV = hvVl.getNominalV(); Bus hvGenBus = hvT.getBusView().getBus();
String side = context.getReader().getAttributeValue(null, "side"); context.getEndTasks().add(() -> { adder.setRegulationTerminal(readTerminalRef(terminal.getVoltageLevel().getSubstation().getNetwork(), id, side)); adder.add(); });
String side = context.getReader().getAttributeValue(null, "side"); context.getEndTasks().add(() -> { adder.setRegulationTerminal(readTerminalRef(twt.getTerminal1().getVoltageLevel().getSubstation().getNetwork(), id, side)); adder.add(); });