本文整理了Java中com.powsybl.iidm.network.Load.getTerminal()
方法的一些代码示例,展示了Load.getTerminal()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Load.getTerminal()
方法的具体详情如下:
包路径:com.powsybl.iidm.network.Load
类名称:Load
方法名:getTerminal
暂无
代码示例来源:origin: itesla/ipst
@Override
public void visitLoad(Load load) {
terminals.add(load.getTerminal());
}
代码示例来源:origin: itesla/ipst
public static boolean isConnected(Load load) {
Bus loadBus = load.getTerminal().getBusBreakerView().getBus();
double voltage = getV(load.getTerminal());
if (loadBus != null && !Double.isNaN(voltage)) {
// load is connected
return true;
}
return false;
}
代码示例来源:origin: itesla/ipst
private static void extractLoadsData(Network network, NetworkData networkData) {
for (Load load : network.getLoads()) {
networkData.addLoadData(new LoadData(load.getId(),
(load.getTerminal().getBusBreakerView().getBus() != null)
? load.getTerminal().getBusBreakerView().getBus().getId()
: load.getTerminal().getBusBreakerView().getConnectableBus().getId(),
load.getTerminal().getBusBreakerView().getBus() != null,
load.getTerminal().getVoltageLevel().getNominalV(),
load.getTerminal().getP(),
load.getTerminal().getQ())
);
}
}
代码示例来源:origin: itesla/ipst
/**
* Export IIDM loads to Modelica loads
* @param writerMo
* @param modContext
* @param modelicaModelsList
* @param modelicaSim
* @throws IOException
*/
private void exportLoads(Writer writerMo, ModExportContext modContext, List<String> modelicaModelsList, SimulatorInst modelicaSim) throws IOException {
if ((loadsList.size() != 0) && (!loadsList.isEmpty())) {
LOGGER.info("EXPORTING LOADS");
this.addRecord(writerMo, null);
this.addRecord(writerMo, "// LOADS");
for (Load load : loadsList) {
LOGGER.info("Exporting load " + load.getId());
ConnectBusInfo busInfo = findBus(load.getTerminal(), load.getId());
// If load's disconnected we remove it from list in order to didn't corresponding connects
LoadRecord loadRecord = ModelConverter.getModelicaRecord(load, busInfo, modContext, _ddbManager, modelicaSim, SNREF, this._sourceEngine);
this.addRecord(loadRecord, writerMo, modContext, _ddbManager, modelicaSim);
}
loadsList = null;
}
}
代码示例来源:origin: com.powsybl/powsybl-iidm-xml-converter
@Override
protected void writeRootElementAttributes(Load l, VoltageLevel vl, NetworkXmlWriterContext context) throws XMLStreamException {
context.getWriter().writeAttribute("loadType", l.getLoadType().name());
XmlUtil.writeDouble("p0", l.getP0(), context.getWriter());
XmlUtil.writeDouble("q0", l.getQ0(), context.getWriter());
writeNodeOrBus(null, l.getTerminal(), context);
writePQ(null, l.getTerminal(), context.getWriter());
}
代码示例来源:origin: itesla/ipst
public LoadRecord(Load load, ConnectBusInfo busInfo, double snref, SourceEngine sourceEngine) {
this.load = load;
this.busInfo = busInfo;
this.loadId = load.getId();
this.busConnected = busInfo.isConnected();
this.p0 = this.load.getP0();
this.q0 = this.load.getQ0();
this.busVoltage = Double.NaN;
this.busAngle = Double.NaN;
this.sourceEngine = sourceEngine;
if (this.busConnected) {
if (load.getTerminal().getBusView().getBus() != null) {
if (!Double.isNaN(load.getTerminal().getBusView().getBus().getV())) {
busVoltage = load.getTerminal().getBusView().getBus().getV() / load.getTerminal().getVoltageLevel().getNominalV();
}
if (!Double.isNaN(load.getTerminal().getBusView().getBus().getAngle())) {
busAngle = load.getTerminal().getBusView().getBus().getAngle();
}
}
addLfParameters();
} else {
LOGGER.warn("Load " + this.getModelicaName() + " disconnected.");
this.addValue(StaticData.COMMENT + " Load " + this.getModelicaName() + " disconnected.");
}
if (this.busVoltage == 0) {
LOGGER.info("Voltage 0");
}
}
代码示例来源:origin: itesla/ipst
public static void applyInjections(Network network, String stateId, Map<String, Float> injections) {
Objects.requireNonNull(network);
Objects.requireNonNull(stateId);
Objects.requireNonNull(injections);
String originalStateId = network.getStateManager().getWorkingStateId();
network.getStateManager().setWorkingState(stateId);
injections.keySet().forEach(injection -> {
Load load = network.getLoad(injection);
if (load != null) {
double oldP = load.getTerminal().getP();
LOGGER.debug("Network {}, state {}: incrementing P of load {} from {} to {}",
network.getId(), network.getStateManager().getWorkingStateId(), injection, oldP, oldP + injections.get(injection));
load.getTerminal().setP(oldP + injections.get(injection));
load.setP0(oldP + injections.get(injection));
} else {
Generator generator = network.getGenerator(injection);
if (generator != null) {
double oldP = generator.getTerminal().getP();
LOGGER.debug("Network {}, state {}: incrementing P of generator {} from {} to {}",
network.getId(), network.getStateManager().getWorkingStateId(), injection, oldP, oldP + injections.get(injection));
generator.getTerminal().setP(oldP + injections.get(injection));
generator.setTargetP(-oldP - injections.get(injection));
} else {
LOGGER.error("No load or generator with id {} in network {}: cannot apply the injection", injection, network.getId());
}
}
});
network.getStateManager().setWorkingState(originalStateId);
}
代码示例来源:origin: itesla/ipst
/**
* Export IIDM loads connect to Modelica loads connect
* @param writerMo
* @param modContext
* @param modelicaModelsList
* @param modelicaSim
* @throws IOException
*/
private void exportConnectLoads(Writer writerMo, ModExportContext modContext, List<String> modelicaModelsList, SimulatorInst modelicaSim) throws IOException {
if ((connectLoadsList.size() != 0) && (!connectLoadsList.isEmpty())) {
LOGGER.info("EXPORTING CONNECT LOADS");
this.addRecord(writerMo, null);
this.addRecord(writerMo, "// Connecting LOADS");
for (Load load : connectLoadsList) {
LOGGER.info("\t Exporting load connect " + load.getId());
ConnectBusInfo busInfo = findBus(load.getTerminal(), load.getId());
if (!Double.isNaN(busInfo.getBus().getV())) {
if (busInfo.isConnected()) {
ConnectRecord loadConnect = ModelConverter.getModelicaRecord(busInfo, load, modContext, _ddbManager, modelicaSim);
this.addRecord(loadConnect, writerMo, modContext, _ddbManager, modelicaSim);
}
}
}
}
}
代码示例来源:origin: itesla/ipst
if (load != null) {
LoadData loadData = new LoadData(load.getId());
Bus loadBus = load.getTerminal().getBusBreakerView().getBus();
if (loadBus == null) {
loadBus = load.getTerminal().getBusBreakerView().getConnectableBus();
loadData.setConnected(NetworkUtils.isConnected(load));
loadData.setActvePower(load.getTerminal().getP());
loadData.setReactvePower(load.getTerminal().getQ());
if (load.getTerminal().getBusView().getBus() != null) {
loadData.setVoltage(load.getTerminal().getBusView().getBus().getV());
loadData.setCountry(load.getTerminal().getVoltageLevel().getSubstation().getCountry());
loadsData.add(loadData);
LOGGER.debug(loadData.toString());
代码示例来源:origin: com.powsybl/powsybl-iidm-api
private static void addLoads(Network network, ConnectedPower balanceMainCC, ConnectedPower balanceOtherCC) {
for (Load l : network.getLoads()) {
Terminal.BusBreakerView view = l.getTerminal().getBusBreakerView();
if (view.getBus() != null) {
if (view.getBus().isInMainConnectedComponent()) {
balanceMainCC.connectedLoads.add(l.getId());
balanceMainCC.connectedLoadVolume += l.getP0();
} else {
balanceOtherCC.connectedLoads.add(l.getId());
balanceOtherCC.connectedLoadVolume += l.getP0();
}
} else {
if (view.getConnectableBus().isInMainConnectedComponent()) {
balanceMainCC.disconnectedLoads.add(l.getId());
balanceMainCC.disconnectedLoadVolume += l.getP0();
} else {
balanceOtherCC.disconnectedLoads.add(l.getId());
balanceOtherCC.disconnectedLoadVolume += l.getP0();
}
}
}
}
代码示例来源:origin: com.powsybl/powsybl-ampl-converter
private Void readLoad(String[] tokens) {
int num = Integer.parseInt(tokens[1]);
int busNum = Integer.parseInt(tokens[2]);
double p = readDouble(tokens[3]);
double q = readDouble(tokens[4]);
double p0 = readDouble(tokens[5]);
double q0 = readDouble(tokens[6]);
String id = mapper.getId(AmplSubset.LOAD, num);
Load l = network.getLoad(id);
if (l != null) {
l.setP0(p0).setQ0(q0);
l.getTerminal().setP(p).setQ(q);
busConnection(l.getTerminal(), busNum);
} else {
DanglingLine dl = network.getDanglingLine(id);
if (dl != null) {
dl.setP0(p0).setQ0(q0);
dl.getTerminal().setP(p).setQ(q);
busConnection(dl.getTerminal(), busNum);
} else {
throw new AmplException("Invalid load id '" + id + "'");
}
}
return null;
}
代码示例来源:origin: com.powsybl/powsybl-iidm-xml-converter
@Override
protected Load readRootElementAttributes(LoadAdder adder, NetworkXmlReaderContext context) {
String loadTypeStr = context.getReader().getAttributeValue(null, "loadType");
LoadType loadType = loadTypeStr == null ? LoadType.UNDEFINED : LoadType.valueOf(loadTypeStr);
double p0 = XmlUtil.readDoubleAttribute(context.getReader(), "p0");
double q0 = XmlUtil.readDoubleAttribute(context.getReader(), "q0");
readNodeOrBus(adder, context);
Load l = adder.setLoadType(loadType)
.setP0(p0)
.setQ0(q0)
.add();
readPQ(null, l.getTerminal(), context.getReader());
return l;
}
代码示例来源:origin: com.powsybl/powsybl-cim1-converter
.setLoadType(loadType)
.add();
addTerminalMapping(tn, load.getTerminal());
if (svpf != null) {
load.getTerminal().setP(p).setQ(q);
代码示例来源:origin: com.powsybl/powsybl-cgmes-conversion
@Override
public void convert() {
LoadType loadType = id.contains("fict") ? LoadType.FICTITIOUS : LoadType.UNDEFINED;
PowerFlow f = powerFlow();
Load load = voltageLevel().newLoad()
.setId(iidmId())
.setName(iidmName())
.setEnsureIdUnicity(false)
.setBus(terminalConnected() ? busId() : null)
.setConnectableBus(busId())
.setP0(f.p())
.setQ0(f.q())
.setLoadType(loadType)
.add();
convertedTerminals(load.getTerminal());
}
}
代码示例来源:origin: com.powsybl/powsybl-cgmes-conversion
@Override
public void convert() {
LoadType loadType = id.contains("fict") ? LoadType.FICTITIOUS : LoadType.UNDEFINED;
PowerFlow f = powerFlow();
Load load = voltageLevel().newLoad()
.setId(iidmId())
.setName(iidmName())
.setEnsureIdUnicity(false)
.setBus(terminalConnected() ? busId() : null)
.setConnectableBus(busId())
.setP0(f.p())
.setQ0(f.q())
.setLoadType(loadType)
.add();
convertedTerminals(load.getTerminal());
}
}
代码示例来源:origin: com.powsybl/powsybl-cgmes-conversion
@Override
public void convert() {
// Will convert it to a Load (a fixed injection)
// We make no difference based on the type (motor/generator)
LoadType loadType = id.contains("fict") ? LoadType.FICTITIOUS : LoadType.UNDEFINED;
PowerFlow f = powerFlow();
Load load = voltageLevel().newLoad()
.setId(iidmId())
.setName(iidmName())
.setEnsureIdUnicity(false)
.setBus(terminalConnected() ? busId() : null)
.setConnectableBus(busId())
.setP0(f.p())
.setQ0(f.q())
.setLoadType(loadType)
.add();
convertedTerminals(load.getTerminal());
}
}
代码示例来源:origin: itesla/ipst
private void createLoads(EsgNetwork esgNetwork) {
for (Load l : Identifiables.sort(network.getLoads())) {
// skip loads not in the main connected component
if (config.isExportMainCCOnly() && !EchUtil.isInMainCc(l, config.isNoSwitch())) {
LOGGER.warn("not in main component, skipping Load: {}", l.getId());
continue;
}
ConnectionBus bus = ConnectionBus.fromTerminal(l.getTerminal(), config, fakeNodes);
esgNetwork.addLoad(createLoad(bus, l.getId(), l.getP0(), l.getQ0()));
}
for (DanglingLine dl : Identifiables.sort(network.getDanglingLines())) {
// skip dls not in the main connected component
if (config.isExportMainCCOnly() && !EchUtil.isInMainCc(dl, config.isNoSwitch())) {
LOGGER.warn("not in main component, skipping DanglingLine: {}", dl.getId());
continue;
}
ConnectionBus bus = new ConnectionBus(true, EchUtil.getBusId(dl));
esgNetwork.addLoad(createLoad(bus, EchUtil.getLoadId(dl), dl.getP0(), dl.getQ0()));
}
}
代码示例来源:origin: com.powsybl/powsybl-iidm-reducer
private Load replaceBranchByLoad(Branch<?> branch, VoltageLevel vl, Terminal terminal) {
LoadAdder loadAdder = vl.newLoad()
.setId(branch.getId())
.setName(branch.getName())
.setLoadType(LoadType.FICTITIOUS)
.setP0(checkP(terminal))
.setQ0(checkQ(terminal));
fillNodeOrBus(loadAdder, terminal);
branch.remove();
Load load = loadAdder.add();
load.getTerminal()
.setP(terminal.getP())
.setQ(terminal.getQ());
return load;
}
代码示例来源:origin: itesla/ipst
public static void prepareBaseCase(Network network, OfflineWorkflowCreationParameters creationParameters,
HistoDbClient histoDbClient) throws IOException, InterruptedException {
clearSv(network);
// connect loads and intermittent generation and boundary lines (so everything that can be sampled)
for (Load l : network.getLoads()) {
l.getTerminal().connect();
}
if (creationParameters.isGenerationSampled()) {
for (Generator g : network.getGenerators()) {
if (g.getEnergySource().isIntermittent()) {
g.getTerminal().connect();
}
}
}
if (creationParameters.isBoundariesSampled()) {
for (DanglingLine dl : network.getDanglingLines()) {
dl.getTerminal().connect();
}
}
// TODO also override generator regulating status, phase shitfer regulating status and transformer regulating status?
// resize voltage limits with historical data
HistoDbUtil.fixVoltageLimits(network, histoDbClient, creationParameters.getHistoInterval());
// temporary workaround for Elia data, missing pmin, pmax
HistoDbUtil.fixGeneratorActiveLimits(network, histoDbClient, creationParameters.getHistoInterval());
}
代码示例来源:origin: itesla/ipst
l.getTerminal().setP(Float.NaN).setQ(Float.NaN);
内容来源于网络,如有侵权,请联系作者删除!