本文整理了Java中com.powsybl.iidm.network.Generator.getReactiveLimits()
方法的一些代码示例,展示了Generator.getReactiveLimits()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Generator.getReactiveLimits()
方法的具体详情如下:
包路径:com.powsybl.iidm.network.Generator
类名称: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)
内容来源于网络,如有侵权,请联系作者删除!