本文整理了Java中com.powsybl.iidm.network.Generator.getMinP()
方法的一些代码示例,展示了Generator.getMinP()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Generator.getMinP()
方法的具体详情如下:
包路径:com.powsybl.iidm.network.Generator
类名称:Generator
方法名:getMinP
[英]Get the minimal active power in MW.
[中]获得最小有功功率,单位为MW。
代码示例来源:origin: itesla/ipst
public static double getRedispatchPMin(Generator generator, float redispatchLimitsPercentage) {
double redispatchPMin = generator.getMinP();
if (generator.getTargetP() > generator.getMaxP()) {
redispatchPMin = generator.getMaxP() - redispatchLimitsPercentage * 0.01 * generator.getMaxP();
} else {
redispatchPMin = generator.getTargetP() - redispatchLimitsPercentage * 0.01 * generator.getMaxP();
}
return generator.getMinP() < redispatchPMin ? redispatchPMin : generator.getMinP();
}
代码示例来源: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: itesla/ipst
public static double getRedispatchPMax(Generator generator, float redispatchLimitsPercentage) {
double redispatchPMax = generator.getMaxP();
if (generator.getTargetP() < generator.getMinP()) {
redispatchPMax = generator.getMinP() + redispatchLimitsPercentage * 0.01 * generator.getMaxP();
} else {
redispatchPMax = generator.getTargetP() + redispatchLimitsPercentage * 0.01 * generator.getMaxP();
}
return generator.getMaxP() > redispatchPMax ? redispatchPMax : generator.getMaxP();
}
代码示例来源:origin: itesla/ipst
private boolean filteredGenerator(Generator g, boolean isFiltered) {
if (isFiltered) {
if (!Double.isNaN(g.getTerminal().getP()) && ((-g.getTerminal().getP() > g.getMaxP()) || (-g.getTerminal().getP() < g.getMinP()))) {
return true;
}
}
return false;
}
代码示例来源:origin: itesla/ipst
private boolean filteredGenerator(Generator g) {
if (configExport.getGensPQfilter()) {
if (!Double.isNaN(g.getTerminal().getP()) && ((-g.getTerminal().getP() > g.getMaxP()) || (-g.getTerminal().getP() < g.getMinP()))) {
return true;
}
}
return false;
}
代码示例来源:origin: itesla/ipst
public static void fixGeneratorActiveLimits(Network network, HistoDbClient histoDbClient, Interval interval) throws IOException, InterruptedException {
// replace strange pmin, pmax by historical limits
Set<HistoDbAttributeId> attributeIds = new LinkedHashSet<>();
for (Generator g : network.getGenerators()) {
if (hasInconsistenceActiveLimits(g)) {
attributeIds.add(new HistoDbNetworkAttributeId(g.getId(), HistoDbAttr.P));
}
}
if (attributeIds.size() > 0) {
HistoDbStats stats = histoDbClient.queryStats(attributeIds, interval, HistoDbHorizon.SN, true);
for (Generator g : network.getGenerators()) {
if (hasInconsistenceActiveLimits(g)) {
HistoDbNetworkAttributeId attributeId = new HistoDbNetworkAttributeId(g.getId(), HistoDbAttr.P);
double newMinP = -stats.getValue(HistoDbStatsType.MAX, attributeId, Float.NaN);
double newMaxP = -stats.getValue(HistoDbStatsType.MIN, attributeId, Float.NaN);
if (!Double.isNaN(newMinP) && !Double.isNaN(newMaxP)) {
LOGGER.debug("Fix active power limits of generator {}: [{}, {}] -> [{}, {}]",
g.getId(), g.getMinP(), g.getMaxP(), newMinP, newMaxP);
g.setMinP(newMinP);
g.setMaxP(newMaxP);
}
}
}
}
}
}
代码示例来源:origin: itesla/ipst
cimIds.add(g.getId());
} else {
log.warn("skipped generator: {};{};{};{};{}", network.getId(), g.getId(), g.getMinP(), -g.getTerminal().getP(), g.getMaxP());
skippedGensOutStream.println(network.getId() + ";" + g.getId() + ";" + g.getMinP() + ";" + (-g.getTerminal().getP()) + ";" + g.getMaxP());
代码示例来源:origin: itesla/ipst
double redispatchPMin = redispatchLimits.containsKey(generator.getId()) ? redispatchLimits.get(generator.getId()).getPMin() : generator.getMinP();
double redispatchPMax = redispatchLimits.containsKey(generator.getId()) ? redispatchLimits.get(generator.getId()).getPMax() : generator.getMaxP();
generator.getMinP(), generator.getMaxP(), redispatchPMin, redispatchPMax);
redispactchedP += -newP + generator.getTerminal().getP();
generator.getTerminal().setP(newP);
代码示例来源: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
LOGGER.debug("Network {} state {}: generator {} - P:{} -> P:{} - limits[{},{}]",
network.getId(), network.getStateManager().getWorkingStateId(), generatorId, oldActivePower, newActivePower,
network.getGenerator(generatorId).getMinP(), network.getGenerator(generatorId).getMaxP());
if (network.getGenerator(generatorId).getMaxP() < -newActivePower) {
LOGGER.warn("Network {} state {}: generator {} - new P ({}) > max P ({})",
network.getId(), network.getStateManager().getWorkingStateId(), generatorId, -newActivePower, network.getGenerator(generatorId).getMaxP());
if (network.getGenerator(generatorId).getMinP() > -newActivePower) {
LOGGER.warn("Network {} state {}: generator {} - new P ({}) < min P ({})",
network.getId(), network.getStateManager().getWorkingStateId(), generatorId, -newActivePower, network.getGenerator(generatorId).getMinP());
代码示例来源:origin: itesla/ipst
-srcSv.q, newTargetQ, srcSv.u, newTargetV);
double newMinP = -fct.apply(new StateVariable(-srcGen.getMinP(), srcSv.q, srcSv.u, srcSv.theta)).p;
double newMaxP = -fct.apply(new StateVariable(-srcGen.getMaxP(), srcSv.q, srcSv.u, srcSv.theta)).p;
srcGen.getId(), srcGen.getMinP(), srcGen.getMaxP(), newMinP, newMaxP);
代码示例来源:origin: itesla/ipst
double pgen = g.getTargetP();
double qgen = g.getTargetQ();
double pgmin = g.getMinP();
double pgmax = g.getMaxP();
boolean isQminQmaxInverted = g.getReactiveLimits().getMinQ(pgen) > g.getReactiveLimits().getMaxQ(pgen);
if (config.isSpecificCompatibility() && (g.getTargetP() < 0.0001) && (g.getMinP() > 0.0001)) {
isVoltageRegulatorOn = false;
LOGGER.warn("out of bound regulating generator {}, targetP {}, minP {} : turn off its voltage regulation", g.getId(), g.getTargetP(), g.getMinP());
代码示例来源:origin: itesla/ipst
generatorData.setMinActivePower(generator.getMinP());
generatorData.setMaxActivePower(generator.getMaxP());
generatorData.setMinReactivePower(generator.getReactiveLimits().getMinQ(generator.getTargetP()));
代码示例来源:origin: itesla/ipst
if (gen.getMinP() > 0.0) {
minimumGenerationMW += gen.getMinP();
代码示例来源:origin: itesla/ipst
dumpDataGeneratorAutomaton(g, eurostagSim, "A11", dtaOutStream, iidm2eurostagId);
} else {
log.warn("Dump automaton A11: skipping generator {} P outside limits MinP:{} P:{} MaxP:{}, ", g.getId(), g.getMinP(), -g.getTerminal().getP(), g.getMaxP());
dumpDataGeneratorAutomaton(g, eurostagSim, "A12", dtaOutStream, iidm2eurostagId);
} else {
log.warn("Dump automaton A12: skipping generator {} P outside limits MinP:{} P:{} MaxP:{}, ", g.getId(), g.getMinP(), -g.getTerminal().getP(), g.getMaxP());
代码示例来源:origin: com.powsybl/powsybl-ampl-converter
int num = mapper.getInt(AmplSubset.GENERATOR, id);
int vlNum = mapper.getInt(AmplSubset.VOLTAGE_LEVEL, t.getVoltageLevel().getId());
double minP = g.getMinP();
double maxP = g.getMaxP();
double vb = t.getVoltageLevel().getNominalV();
内容来源于网络,如有侵权,请联系作者删除!