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