package org.ieee.odm.adapter.psse.mapper.acsc; import org.ieee.odm.adapter.psse.PSSEAdapter.PsseVersion; import org.ieee.odm.adapter.psse.mapper.aclf.BasePSSEDataMapper; import org.ieee.odm.adapter.psse.parser.acsc.PSSELoadZeroSeqDataParser; import org.ieee.odm.common.ODMException; import org.ieee.odm.model.IODMModelParser; import org.ieee.odm.model.acsc.AcscParserHelper; import org.ieee.odm.model.acsc.BaseAcscModelParser; import org.ieee.odm.model.base.BaseDataSetter; import org.ieee.odm.schema.NetworkXmlType; import org.ieee.odm.schema.ShortCircuitBusXmlType; import org.ieee.odm.schema.ShortCircuitLoadDataXmlType; import org.ieee.odm.schema.YUnitType; public class PSSEShuntLoadZeroSeqMapper extends BasePSSEDataMapper{ public PSSEShuntLoadZeroSeqMapper(PsseVersion ver) { super(ver); this.dataParser = new PSSELoadZeroSeqDataParser(ver); } /* * I, GZERO, BZERO * NOTE: * 1) For any bus where no such data record is specified, no shunt load component is represented in the zero sequence. * 2) Zero sequence admittances corresponding to fixed bus shunts (refer to Fixed Bus Shunt Data) are specified in the zero sequence fixed shunt data records */ public void procLineString(String lineStr, BaseAcscModelParser<? extends NetworkXmlType> parser) throws ODMException { dataParser.parseFields(lineStr); int i = dataParser.getInt("I"); final String busId = IODMModelParser.BusIdPreFix+i; double gZero = dataParser.getDouble("GZERO"); double bZero = dataParser.getDouble("BZERO"); ShortCircuitBusXmlType scBusXmlType= (ShortCircuitBusXmlType) parser.getBus(busId); ShortCircuitLoadDataXmlType load = AcscParserHelper.getDefaultScLoad(scBusXmlType.getLoadData()); load.setShuntLoadNegativeY(BaseDataSetter.createYValue(gZero, bZero, YUnitType.PU)); } }