com.powsybl.iidm.network.Load.getTerminal()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(12.6k)|赞(0)|评价(0)|浏览(109)

本文整理了Java中com.powsybl.iidm.network.Load.getTerminal()方法的一些代码示例,展示了Load.getTerminal()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Load.getTerminal()方法的具体详情如下:
包路径:com.powsybl.iidm.network.Load
类名称:Load
方法名:getTerminal

Load.getTerminal介绍

暂无

代码示例

代码示例来源:origin: itesla/ipst

@Override
public void visitLoad(Load load) {
  terminals.add(load.getTerminal());
}

代码示例来源:origin: itesla/ipst

public static boolean isConnected(Load load) {
  Bus loadBus = load.getTerminal().getBusBreakerView().getBus();
  double voltage = getV(load.getTerminal());
  if (loadBus != null && !Double.isNaN(voltage)) {
    // load is connected
    return true;
  }
  return false;
}

代码示例来源:origin: itesla/ipst

private static void extractLoadsData(Network network, NetworkData networkData) {
  for (Load load : network.getLoads()) {
    networkData.addLoadData(new LoadData(load.getId(),
                       (load.getTerminal().getBusBreakerView().getBus() != null)
                           ? load.getTerminal().getBusBreakerView().getBus().getId()
                           : load.getTerminal().getBusBreakerView().getConnectableBus().getId(),
                       load.getTerminal().getBusBreakerView().getBus() != null,
                       load.getTerminal().getVoltageLevel().getNominalV(),
                       load.getTerminal().getP(),
                       load.getTerminal().getQ())
    );
  }
}

代码示例来源:origin: itesla/ipst

/**
 * Export IIDM loads to Modelica loads
 * @param writerMo
 * @param modContext
 * @param modelicaModelsList
 * @param modelicaSim
 * @throws IOException
 */
private void exportLoads(Writer writerMo, ModExportContext modContext, List<String> modelicaModelsList, SimulatorInst modelicaSim) throws IOException {
  if ((loadsList.size() != 0) && (!loadsList.isEmpty())) {
    LOGGER.info("EXPORTING LOADS");
    this.addRecord(writerMo, null);
    this.addRecord(writerMo, "// LOADS");
    for (Load load : loadsList) {
      LOGGER.info("Exporting load " + load.getId());
      ConnectBusInfo busInfo = findBus(load.getTerminal(), load.getId());
      // If load's disconnected we remove it from list in order to didn't corresponding connects
      LoadRecord loadRecord = ModelConverter.getModelicaRecord(load, busInfo, modContext, _ddbManager, modelicaSim, SNREF, this._sourceEngine);
      this.addRecord(loadRecord, writerMo, modContext, _ddbManager, modelicaSim);
    }
    loadsList = null;
  }
}

代码示例来源:origin: com.powsybl/powsybl-iidm-xml-converter

@Override
protected void writeRootElementAttributes(Load l, VoltageLevel vl, NetworkXmlWriterContext context) throws XMLStreamException {
  context.getWriter().writeAttribute("loadType", l.getLoadType().name());
  XmlUtil.writeDouble("p0", l.getP0(), context.getWriter());
  XmlUtil.writeDouble("q0", l.getQ0(), context.getWriter());
  writeNodeOrBus(null, l.getTerminal(), context);
  writePQ(null, l.getTerminal(), context.getWriter());
}

代码示例来源:origin: itesla/ipst

public LoadRecord(Load load, ConnectBusInfo busInfo, double snref, SourceEngine sourceEngine) {
  this.load = load;
  this.busInfo = busInfo;
  this.loadId = load.getId();
  this.busConnected = busInfo.isConnected();
  this.p0 = this.load.getP0();
  this.q0 = this.load.getQ0();
  this.busVoltage = Double.NaN;
  this.busAngle = Double.NaN;
  this.sourceEngine = sourceEngine;
  if (this.busConnected) {
    if (load.getTerminal().getBusView().getBus() != null) {
      if (!Double.isNaN(load.getTerminal().getBusView().getBus().getV())) {
        busVoltage = load.getTerminal().getBusView().getBus().getV() / load.getTerminal().getVoltageLevel().getNominalV();
      }
      if (!Double.isNaN(load.getTerminal().getBusView().getBus().getAngle())) {
        busAngle = load.getTerminal().getBusView().getBus().getAngle();
      }
    }
    addLfParameters();
  } else {
    LOGGER.warn("Load " + this.getModelicaName() + " disconnected.");
    this.addValue(StaticData.COMMENT + " Load " + this.getModelicaName() + " disconnected.");
  }
  if (this.busVoltage == 0) {
    LOGGER.info("Voltage 0");
  }
}

代码示例来源:origin: itesla/ipst

public static void applyInjections(Network network, String stateId, Map<String, Float> injections) {
  Objects.requireNonNull(network);
  Objects.requireNonNull(stateId);
  Objects.requireNonNull(injections);
  String originalStateId = network.getStateManager().getWorkingStateId();
  network.getStateManager().setWorkingState(stateId);
  injections.keySet().forEach(injection -> {
    Load load = network.getLoad(injection);
    if (load != null) {
      double oldP = load.getTerminal().getP();
      LOGGER.debug("Network {}, state {}: incrementing P of load {} from {} to {}",
             network.getId(), network.getStateManager().getWorkingStateId(), injection, oldP, oldP + injections.get(injection));
      load.getTerminal().setP(oldP + injections.get(injection));
      load.setP0(oldP + injections.get(injection));
    } else {
      Generator generator = network.getGenerator(injection);
      if (generator != null) {
        double oldP = generator.getTerminal().getP();
        LOGGER.debug("Network {}, state {}: incrementing P of generator {} from {} to {}",
               network.getId(), network.getStateManager().getWorkingStateId(), injection, oldP, oldP + injections.get(injection));
        generator.getTerminal().setP(oldP + injections.get(injection));
        generator.setTargetP(-oldP - injections.get(injection));
      } else {
        LOGGER.error("No load or generator with id {} in network {}: cannot apply the injection", injection, network.getId());
      }
    }
  });
  network.getStateManager().setWorkingState(originalStateId);
}

代码示例来源:origin: itesla/ipst

/**
 * Export IIDM loads connect to Modelica loads connect
 * @param writerMo
 * @param modContext
 * @param modelicaModelsList
 * @param modelicaSim
 * @throws IOException
 */
private void exportConnectLoads(Writer writerMo, ModExportContext modContext, List<String> modelicaModelsList, SimulatorInst modelicaSim) throws IOException {
  if ((connectLoadsList.size() != 0) && (!connectLoadsList.isEmpty())) {
    LOGGER.info("EXPORTING CONNECT LOADS");
    this.addRecord(writerMo, null);
    this.addRecord(writerMo, "// Connecting LOADS");
    for (Load load : connectLoadsList) {
      LOGGER.info("\t Exporting load connect " + load.getId());
      ConnectBusInfo busInfo = findBus(load.getTerminal(), load.getId());
      if (!Double.isNaN(busInfo.getBus().getV())) {
        if (busInfo.isConnected()) {
          ConnectRecord loadConnect = ModelConverter.getModelicaRecord(busInfo, load, modContext, _ddbManager, modelicaSim);
          this.addRecord(loadConnect, writerMo, modContext, _ddbManager, modelicaSim);
        }
      }
    }
  }
}

代码示例来源:origin: itesla/ipst

if (load != null) {
  LoadData loadData = new LoadData(load.getId());
  Bus loadBus = load.getTerminal().getBusBreakerView().getBus();
  if (loadBus == null) {
    loadBus = load.getTerminal().getBusBreakerView().getConnectableBus();
  loadData.setConnected(NetworkUtils.isConnected(load));
  loadData.setActvePower(load.getTerminal().getP());
  loadData.setReactvePower(load.getTerminal().getQ());
  if (load.getTerminal().getBusView().getBus() != null) {
    loadData.setVoltage(load.getTerminal().getBusView().getBus().getV());
  loadData.setCountry(load.getTerminal().getVoltageLevel().getSubstation().getCountry());
  loadsData.add(loadData);
  LOGGER.debug(loadData.toString());

代码示例来源:origin: com.powsybl/powsybl-iidm-api

private static void addLoads(Network network, ConnectedPower balanceMainCC, ConnectedPower balanceOtherCC) {
  for (Load l : network.getLoads()) {
    Terminal.BusBreakerView view = l.getTerminal().getBusBreakerView();
    if (view.getBus() != null) {
      if (view.getBus().isInMainConnectedComponent()) {
        balanceMainCC.connectedLoads.add(l.getId());
        balanceMainCC.connectedLoadVolume += l.getP0();
      } else {
        balanceOtherCC.connectedLoads.add(l.getId());
        balanceOtherCC.connectedLoadVolume += l.getP0();
      }
    } else {
      if (view.getConnectableBus().isInMainConnectedComponent()) {
        balanceMainCC.disconnectedLoads.add(l.getId());
        balanceMainCC.disconnectedLoadVolume += l.getP0();
      } else {
        balanceOtherCC.disconnectedLoads.add(l.getId());
        balanceOtherCC.disconnectedLoadVolume += l.getP0();
      }
    }
  }
}

代码示例来源:origin: com.powsybl/powsybl-ampl-converter

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;
}

代码示例来源:origin: com.powsybl/powsybl-iidm-xml-converter

@Override
protected Load readRootElementAttributes(LoadAdder adder, NetworkXmlReaderContext context) {
  String loadTypeStr = context.getReader().getAttributeValue(null, "loadType");
  LoadType loadType = loadTypeStr == null ? LoadType.UNDEFINED : LoadType.valueOf(loadTypeStr);
  double p0 = XmlUtil.readDoubleAttribute(context.getReader(), "p0");
  double q0 = XmlUtil.readDoubleAttribute(context.getReader(), "q0");
  readNodeOrBus(adder, context);
  Load l = adder.setLoadType(loadType)
      .setP0(p0)
      .setQ0(q0)
      .add();
  readPQ(null, l.getTerminal(), context.getReader());
  return l;
}

代码示例来源:origin: com.powsybl/powsybl-cim1-converter

.setLoadType(loadType)
  .add();
addTerminalMapping(tn, load.getTerminal());
if (svpf != null) {
  load.getTerminal().setP(p).setQ(q);

代码示例来源:origin: com.powsybl/powsybl-cgmes-conversion

@Override
  public void convert() {
    LoadType loadType = id.contains("fict") ? LoadType.FICTITIOUS : LoadType.UNDEFINED;
    PowerFlow f = powerFlow();

    Load load = voltageLevel().newLoad()
        .setId(iidmId())
        .setName(iidmName())
        .setEnsureIdUnicity(false)
        .setBus(terminalConnected() ? busId() : null)
        .setConnectableBus(busId())
        .setP0(f.p())
        .setQ0(f.q())
        .setLoadType(loadType)
        .add();

    convertedTerminals(load.getTerminal());
  }
}

代码示例来源:origin: com.powsybl/powsybl-cgmes-conversion

@Override
  public void convert() {
    LoadType loadType = id.contains("fict") ? LoadType.FICTITIOUS : LoadType.UNDEFINED;
    PowerFlow f = powerFlow();

    Load load = voltageLevel().newLoad()
        .setId(iidmId())
        .setName(iidmName())
        .setEnsureIdUnicity(false)
        .setBus(terminalConnected() ? busId() : null)
        .setConnectableBus(busId())
        .setP0(f.p())
        .setQ0(f.q())
        .setLoadType(loadType)
        .add();

    convertedTerminals(load.getTerminal());
  }
}

代码示例来源:origin: com.powsybl/powsybl-cgmes-conversion

@Override
  public void convert() {
    // Will convert it to a Load (a fixed injection)
    // We make no difference based on the type (motor/generator)
    LoadType loadType = id.contains("fict") ? LoadType.FICTITIOUS : LoadType.UNDEFINED;
    PowerFlow f = powerFlow();

    Load load = voltageLevel().newLoad()
        .setId(iidmId())
        .setName(iidmName())
        .setEnsureIdUnicity(false)
        .setBus(terminalConnected() ? busId() : null)
        .setConnectableBus(busId())
        .setP0(f.p())
        .setQ0(f.q())
        .setLoadType(loadType)
        .add();

    convertedTerminals(load.getTerminal());
  }
}

代码示例来源:origin: itesla/ipst

private void createLoads(EsgNetwork esgNetwork) {
  for (Load l : Identifiables.sort(network.getLoads())) {
    // skip loads not in the main connected component
    if (config.isExportMainCCOnly() && !EchUtil.isInMainCc(l, config.isNoSwitch())) {
      LOGGER.warn("not in main component, skipping Load: {}", l.getId());
      continue;
    }
    ConnectionBus bus = ConnectionBus.fromTerminal(l.getTerminal(), config, fakeNodes);
    esgNetwork.addLoad(createLoad(bus, l.getId(), l.getP0(), l.getQ0()));
  }
  for (DanglingLine dl : Identifiables.sort(network.getDanglingLines())) {
    // skip dls not in the main connected component
    if (config.isExportMainCCOnly() && !EchUtil.isInMainCc(dl, config.isNoSwitch())) {
      LOGGER.warn("not in main component, skipping DanglingLine: {}", dl.getId());
      continue;
    }
    ConnectionBus bus = new ConnectionBus(true, EchUtil.getBusId(dl));
    esgNetwork.addLoad(createLoad(bus, EchUtil.getLoadId(dl), dl.getP0(), dl.getQ0()));
  }
}

代码示例来源:origin: com.powsybl/powsybl-iidm-reducer

private Load replaceBranchByLoad(Branch<?> branch, VoltageLevel vl, Terminal terminal) {
  LoadAdder loadAdder = vl.newLoad()
      .setId(branch.getId())
      .setName(branch.getName())
      .setLoadType(LoadType.FICTITIOUS)
      .setP0(checkP(terminal))
      .setQ0(checkQ(terminal));
  fillNodeOrBus(loadAdder, terminal);
  branch.remove();
  Load load = loadAdder.add();
  load.getTerminal()
      .setP(terminal.getP())
      .setQ(terminal.getQ());
  return load;
}

代码示例来源:origin: itesla/ipst

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());
}

代码示例来源:origin: itesla/ipst

l.getTerminal().setP(Float.NaN).setQ(Float.NaN);

相关文章