PowerFlowRecordGroup.java
/**
* Copyright (c) 2020, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* SPDX-License-Identifier: MPL-2.0
*/
package com.powsybl.psse.model.pf.io;
import com.powsybl.psse.model.io.RecordGroupIdentification;
/**
* @author Luma Zamarre��o {@literal <zamarrenolm at aia.es>}
* @author Jos�� Antonio Marqu��s {@literal <marquesja at aia.es>}
*/
public enum PowerFlowRecordGroup implements RecordGroupIdentification {
CASE_IDENTIFICATION("caseid"),
SYSTEM_WIDE("?"),
BUS("bus"),
LOAD("load"),
FIXED_BUS_SHUNT("fixshunt", "FIXED SHUNT"),
GENERATOR("generator"),
NON_TRANSFORMER_BRANCH("acline", "BRANCH"),
SYSTEM_SWITCHING_DEVICE("sysswd", "SYSTEM SWITCHING DEVICE"),
TRANSFORMER("transformer"),
INTERNAL_TRANSFORMER_IMPEDANCES("transformerImpedances"),
INTERNAL_TRANSFORMER_WINDING("transformerWinding"),
AREA_INTERCHANGE("area", "AREA"),
TWO_TERMINAL_DC_TRANSMISSION_LINE("twotermdc", "TWO-TERMINAL DC"),
INTERNAL_TWO_TERMINAL_DC_TRANSMISSION_LINE_CONVERTER("twotermdcConverter"),
VOLTAGE_SOURCE_CONVERTER_DC_TRANSMISSION_LINE("vscdc", "VOLTAGE SOURCE CONVERTER"),
INTERNAL_VOLTAGE_SOURCE_CONVERTER_DC_TRANSMISSION_LINE_CONVERTER("vscdcConverter"),
TRANSFORMER_IMPEDANCE_CORRECTION_TABLES("impcor", "IMPEDANCE CORRECTION"),
// Multi terminal Dc are defined in four Json objects
MULTI_TERMINAL_DC_TRANSMISSION_LINE("ntermdc", "MULTI-TERMINAL DC"),
INTERNAL_MULTI_TERMINAL_DC_CONVERTER("ntermdcconv"),
INTERNAL_MULTI_TERMINAL_DC_BUS("ntermdcbus"),
INTERNAL_MULTI_TERMINAL_DC_LINK("ntermdclink"),
MULTI_SECTION_LINE_GROUPING("msline", "MULTI-SECTION LINE"),
ZONE("zone"),
INTERAREA_TRANSFER("iatransfer", "INTER-AREA TRANSFER"),
OWNER("owner"),
FACTS_CONTROL_DEVICE("facts", "FACTS CONTROL DEVICE"),
SWITCHED_SHUNT("swshunt", "SWITCHED SHUNT"),
GNE_DEVICE("gne", "GNE DEVICE"),
INDUCTION_MACHINE("indmach", "INDUCTION MACHINE"),
SUBSTATION("sub", "SUBSTATION"),
INTERNAL_SUBSTATION_NODE("subnode"),
INTERNAL_SUBSTATION_SWITCHING_DEVICE("subswd"),
INTERNAL_SUBSTATION_EQUIPMENT_TERMINAL("subterm"),
// only needed in raw format, not used in rawx format
INTERNAL_SUBSTATION_EQUIPMENT_TERMINAL_COMMON_START(),
INTERNAL_SUBSTATION_EQUIPMENT_TERMINAL_ONE_BUS(),
INTERNAL_SUBSTATION_EQUIPMENT_TERMINAL_TWO_BUSES(),
INTERNAL_SUBSTATION_EQUIPMENT_TERMINAL_THREE_BUSES();
private final String rawxNodeName;
private final String rawName;
PowerFlowRecordGroup() {
this.rawxNodeName = name();
this.rawName = name();
}
PowerFlowRecordGroup(String rawxNodeName) {
this.rawxNodeName = rawxNodeName;
this.rawName = name();
}
PowerFlowRecordGroup(String rawxNodeName, String rawName) {
this.rawxNodeName = rawxNodeName;
this.rawName = rawName;
}
@Override
public String getDataName() {
return "PowerFlow";
}
@Override
public String getJsonNodeName() {
return rawxNodeName;
}
@Override
public String getLegacyTextName() {
return rawName;
}
@Override
public JsonObjectType getJsonObjectType() {
return rawxNodeName.equals("caseid") ? JsonObjectType.PARAMETER_SET : JsonObjectType.DATA_TABLE;
}
}