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

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

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

Generator.getReactiveLimits介绍

暂无

代码示例

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

public static double getNominalPower(Generator generator) {
  Objects.requireNonNull(generator, "generator is null");
  double nominalPower = Double.NaN;
  double pMax = generator.getMaxP();
  double qMax = generator.getReactiveLimits().getMaxQ(generator.getTargetP());
  nominalPower = Math.sqrt(Math.pow(pMax, 2) + Math.pow(qMax, 2));
  return nominalPower;
}

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

@Override
public void visitGenerator(Generator g) {
  TerminalContext context = new TerminalContext();
  visitInjection(g, context);
  // reactive limit
  double qmax = g.getReactiveLimits().getMaxQ(context.p);
  valueMap.put(new HistoDbNetworkAttributeId(g.getId(), HistoDbAttr.QR), Math.abs(qmax - context.q));
}

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

double pgmin = g.getMinP();
double pgmax = g.getMaxP();
boolean isQminQmaxInverted = g.getReactiveLimits().getMinQ(pgen) > g.getReactiveLimits().getMaxQ(pgen);
if (isQminQmaxInverted) {
  LOGGER.warn("inverted qmin {} and qmax {} values for generator {}", g.getReactiveLimits().getMinQ(pgen), g.getReactiveLimits().getMaxQ(pgen), g.getId());
  qgen = -g.getTerminal().getQ();
double qgmin = (config.isNoGeneratorMinMaxQ() || isQminQmaxInverted) ? -9999 : g.getReactiveLimits().getMinQ(pgen);
double qgmax = (config.isNoGeneratorMinMaxQ() || isQminQmaxInverted) ? 9999 : g.getReactiveLimits().getMaxQ(pgen);
EsgRegulatingMode mode = (isQminQmaxInverted && !Double.isNaN(qgen)) ? EsgRegulatingMode.NOT_REGULATING :
    (isVoltageRegulatorOn && g.getTargetV() >= 0.1 ? EsgRegulatingMode.REGULATING : EsgRegulatingMode.NOT_REGULATING);

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

.add();
if (srcGen.getReactiveLimits() != null) {
  switch (srcGen.getReactiveLimits().getKind()) {
    case MIN_MAX: {
      MinMaxReactiveLimits limits = srcGen.getReactiveLimits(MinMaxReactiveLimits.class);
      double newMinQ = config.isNoReactiveLimits() ? -INFINITE_REACTIVE_LIMIT : -fct.apply(new StateVariable(srcSv.p, -limits.getMinQ(), srcSv.u, srcSv.theta)).q;
      double newMaxQ = config.isNoReactiveLimits() ? INFINITE_REACTIVE_LIMIT : -fct.apply(new StateVariable(srcSv.p, -limits.getMaxQ(), srcSv.u, srcSv.theta)).q;
      ReactiveCapabilityCurve curve = srcGen.getReactiveLimits(ReactiveCapabilityCurve.class);
      ReactiveCapabilityCurveAdder rcca = lvGen.newReactiveCapabilityCurve();
      for (Point point : curve.getPoints()) {

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

generatorData.setMinActivePower(generator.getMinP());
generatorData.setMaxActivePower(generator.getMaxP());
generatorData.setMinReactivePower(generator.getReactiveLimits().getMinQ(generator.getTargetP()));
generatorData.setMaxReactivePower(generator.getReactiveLimits().getMaxQ(generator.getTargetP()));
generatorData.setNominalPower(MCSNetworkUtils.getNominalPower(generator));
generatorData.setRenewableEnergySource(MCSNetworkUtils.getRenewableEnergySource(generator));

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

private static void extractGeneratorsData(Network network, NetworkData networkData) {
    for (Generator generator : network.getGenerators()) {
      networkData.addGeneratorData(new GeneratorData(generator.getId(),
                              (generator.getTerminal().getBusBreakerView().getBus() != null)
                                    ? generator.getTerminal().getBusBreakerView().getBus().getId()
                                    : generator.getTerminal().getBusBreakerView().getConnectableBus().getId(),
                              generator.getTerminal().getBusBreakerView().getBus() != null,
                              apparentPower(generator.getTerminal()),
                              generator.getTerminal().getP(),
                              generator.getTerminal().getQ(),
                              generator.getRatedS(),
                              generator.getReactiveLimits().getMaxQ(generator.getTargetP()),
                              generator.getReactiveLimits().getMinQ(generator.getTargetP()))
//                                                           generator.getReactiveLimits().getMaxQ(generator.getTerminal().getP()),
//                                                           generator.getReactiveLimits().getMinQ(generator.getTerminal().getP()))
      );
    }
  }

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

maximumGenerationMW += gen.getMaxP();
minimumGenerationMVAR += gen.getReactiveLimits().getMinQ((float) 0);
maximumGenerationMVAR += gen.getReactiveLimits().getMaxQ((float) 0);
if (gen.isVoltageRegulatorOn()) {
  desiredVoltage = gen.getTargetV() / baseKV;

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

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

相关文章