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

x33g5p2x  于2022-01-20 转载在 其他  
字(6.2k)|赞(0)|评价(0)|浏览(93)

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

Generator.isVoltageRegulatorOn介绍

[英]Get the voltage regulator status.

Depends on the working variant.
[中]获取电压调节器状态。
取决于工作变量。

代码示例

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

public static int getBusType(Bus bus) {
    Objects.requireNonNull(bus, "bus is null");
    int type = BusData.BUS_TYPE_PQ; // a connection bus is PQ
    if (bus.getGenerators() != null) {
      for (Generator generator : bus.getGenerators()) {
        if (generator.isVoltageRegulatorOn()) {
          type = BusData.BUS_TYPE_PV; // a bus with attached a generator with voltage regulator on is PV
          break;
        }
      }
    }
//        if ( bus.getLoads() != null && bus.getLoads().iterator().hasNext() && type == 3 )
//            type = MCSBusData.BUS_TYPE_PV; // a bus with attached both loads and generators is anyway a PV
    return type;
  }

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

@Override
  public void visitGenerator(Generator generator) {
    if (generator.isVoltageRegulatorOn()) {
      decoratedBus.regulatingGenerator++;
      decoratedBus.maxP += generator.getMaxP();
      decoratedBus.minP += generator.getMinP();
      decoratedBus.targetP += generator.getTargetP();
    }
  }
});

代码示例来源:origin: com.powsybl/powsybl-action-util

private static void connectGenerator(Generator g) {
    Terminal t = g.getTerminal();
    t.connect();
    if (g.isVoltageRegulatorOn()) {
      Bus bus = t.getBusView().getBus();
      if (bus != null) {
        // set voltage setpoint to the same as other generators connected to the bus
        double targetV = bus.getGeneratorStream().findFirst().map(Generator::getTargetV).orElse(Double.NaN);
        // if no other generator connected to the bus, set voltage setpoint to network voltage
        if (Double.isNaN(targetV) && !Double.isNaN(bus.getV())) {
          g.setTargetV(bus.getV());
        }
      }
    }
    LOGGER.info("Connecting {}", g.getId());
  }
}

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

public static boolean isRedispatchable(Generator generator, float redispatchLimitsPercentage) {
  return (generator.getTerminal().getBusBreakerView().getBus() != null)  // is connected
      && (generator.getEnergySource() == EnergySource.HYDRO || generator.getEnergySource() == EnergySource.THERMAL) // is hydro or thermal
      && (generator.getTerminal().getP() < 0) // inject power
      && (generator.isVoltageRegulatorOn()) // has voltage regulator on
      && (generator.getTargetP() <= getRedispatchPMax(generator, redispatchLimitsPercentage)
        && generator.getTargetP() >= getRedispatchPMin(generator, redispatchLimitsPercentage)); // target P is within redispatch limits
      //&& (generator.getTargetP() <= generator.getMaxP() && generator.getTargetP() >= generator.getMinP()) // target P is within limits
}

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

@Override
protected void writeRootElementAttributes(Generator g, VoltageLevel vl, NetworkXmlWriterContext context) throws XMLStreamException {
  context.getWriter().writeAttribute("energySource", g.getEnergySource().name());
  XmlUtil.writeDouble("minP", g.getMinP(), context.getWriter());
  XmlUtil.writeDouble("maxP", g.getMaxP(), context.getWriter());
  XmlUtil.writeDouble("ratedS", g.getRatedS(), context.getWriter());
  context.getWriter().writeAttribute("voltageRegulatorOn", Boolean.toString(g.isVoltageRegulatorOn()));
  XmlUtil.writeDouble("targetP", g.getTargetP(), context.getWriter());
  XmlUtil.writeDouble("targetV", g.getTargetV(), context.getWriter());
  XmlUtil.writeDouble("targetQ", g.getTargetQ(), context.getWriter());
  writeNodeOrBus(null, g.getTerminal(), context);
  writePQ(null, g.getTerminal(), context.getWriter());
}

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

if (g.isVoltageRegulatorOn()) {
  double oldP = g.getTargetP();
  LOGGER.trace(" gen {} - P:{} -> P:{}", g.getId(), oldP, gs.p);

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

private static void updateSlackBusData(Bus bus, Integer busIndex, SlackBusData slackBusData) {
  if (bus.getGenerators() == null) {
    return;
  }
  //...slackbus has at least one generator connected
  for (Generator generator : bus.getGenerators()) {
    //...which has a generator with voltage regulator on
    if (!generator.isVoltageRegulatorOn()) {
      continue;
    }
    //...assure the generator is the one connected to the bus (and not on the aggregated buses)
    if (!generator.getTerminal().getBusBreakerView().getBus().getId().equals(bus.getId())) {
      return;
    }
    //...candidate slackbus
    if (slackBusData.getSlackBusIndex() == -1) {
      slackBusData.setSlackBusIndex(busIndex);
      slackBusData.setSlackBusGenerator(generator);
      return;
    }
    //...choice the generator with the largest TargetP
    if (generator.getTargetP() > slackBusData.getSlackBusGenerator().getTargetP()) {
      slackBusData.setSlackBusIndex(busIndex);
      slackBusData.setSlackBusGenerator(generator);
    }
  }
}

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

protected void updateSlackBusData(Bus bus, Integer busIndex, SlackBusData slackBusData) {
  if (bus.getGenerators() == null) {
    return;
  }
  //...slackbus has at least one generator connected
  for (Generator generator : bus.getGenerators()) {
    //...which has a generator with voltage regulator on
    if (!generator.isVoltageRegulatorOn()) {
      continue;
    }
    //...assure the generator is the one connected to the bus (and not on the aggregated buses)
    if (!generator.getTerminal().getBusBreakerView().getBus().getId().equals(bus.getId())) {
      return;
    }
    //...candidate slackbus
    if (slackBusData.getSlackBusIndex() == -1) {
      slackBusData.setSlackBusIndex(busIndex);
      slackBusData.setSlackBusGenerator(generator);
      return;
    }
    //...choice the generator with the largest TargetP
    if (generator.getTargetP() > slackBusData.getSlackBusGenerator().getTargetP()) {
      slackBusData.setSlackBusIndex(busIndex);
      slackBusData.setSlackBusGenerator(generator);
    }
  }
}

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

String srcGenName = srcGen.getName();
EnergySource srcGenEnergySource = srcGen.getEnergySource();
boolean secGenVoltageRegulatorOn = srcGen.isVoltageRegulatorOn();

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

qgen = -g.getTerminal().getQ();
boolean isVoltageRegulatorOn = g.isVoltageRegulatorOn();

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

if (gen.isVoltageRegulatorOn()) {
  desiredVoltage = gen.getTargetV() / baseKV;
  typeBus = 1; // PV bus

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

if (g.getEnergySource().isIntermittent()) {
  generationP += g.getTargetP();
  if (!g.isVoltageRegulatorOn()) {
    generationQ += g.getTargetQ();

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

.writeCell(g.getReactiveLimits().getMaxQ(0))
.writeCell(g.getReactiveLimits().getMaxQ(minP))
.writeCell(g.isVoltageRegulatorOn())
.writeCell(g.getTargetV() / vb)
.writeCell(g.getTargetP())

相关文章