package org.ieee.odm.adapter.psse.mapper.dynamic.tur_gov; import org.ieee.odm.adapter.psse.PSSEAdapter.PsseVersion; import org.ieee.odm.adapter.psse.mapper.aclf.BasePSSEDataMapper; import org.ieee.odm.adapter.psse.parser.dynamic.tur_gov.PSSETurGovIEEE1981Type3Parser; import org.ieee.odm.common.ODMException; import org.ieee.odm.model.IODMModelParser; import org.ieee.odm.model.base.BaseDataSetter; import org.ieee.odm.model.dstab.DStabModelParser; import org.ieee.odm.model.dstab.DStabParserHelper; import org.ieee.odm.schema.DStabBusXmlType; import org.ieee.odm.schema.DStabGenDataXmlType; import org.ieee.odm.schema.GovIEEE1981Type3XmlType; public class PSSETurGovIEEE1981Type3Mapper extends BasePSSEDataMapper{ public PSSETurGovIEEE1981Type3Mapper(PsseVersion ver) { super(ver); this.dataParser = new PSSETurGovIEEE1981Type3Parser(ver); } /* * PSSE IEEEG3 -> IEEE 1981 Type 3 Tur-Gov model for Hydro * ---------------------------------------------------------- * IBUS, 'IEEEG3', ID, TG, TP, Uo, Uc, PMAX, PMIN, Sigma, Delta, TR,TW,a11,a13,a21,a23/ * * */ public void procLineString(String lineStr, DStabModelParser parser) throws ODMException { this.dataParser.parseFields(lineStr); /* * 0----------1----------2----------3----------4 "IBUS", "Type", "MachId", "TG", "TP", // 5----------6----------7----------8----------9 "Uo", "Uc", "PMAX", "PMIN", "Sigma", // 10----------11--------12---------13---------14 "Delta", "TR", "TW", "a11", "a13", // 15----------16 "a21", "a23" */ int i = dataParser.getInt("IBUS"); final String busId = IODMModelParser.BusIdPreFix+i; String genId = dataParser.getString("MachId"); //check model type if(!dataParser.getString("Type").equals("IEEEG3")){ throw new ODMException(" Governor of machine : Id"+ genId+" @ Bus"+i+"is not a IEEEG3 type"); } DStabBusXmlType busXml = parser.getBus(busId); DStabGenDataXmlType dstabGenData = DStabParserHelper.getDStabContritueGen(busXml, genId); GovIEEE1981Type3XmlType gov = DStabParserHelper.createGovIEEE1981Type3XmlType(dstabGenData); gov.setTG(BaseDataSetter.createTimeConstSec(dataParser.getDouble("TG"))); gov.setTP(BaseDataSetter.createTimeConstSec(dataParser.getDouble("TP"))); gov.setVOpen(dataParser.getDouble("Uo")); gov.setVClose(dataParser.getDouble("Uc")); gov.setPMAX(dataParser.getDouble("PMAX")); gov.setPMIN(dataParser.getDouble("PMIN")); gov.setSIGMA(dataParser.getDouble("Sigma")); gov.setDELTA(dataParser.getDouble("Delta")); gov.setTR(BaseDataSetter.createTimeConstSec(dataParser.getDouble("TR"))); gov.setTW(BaseDataSetter.createTimeConstSec(dataParser.getDouble("TW"))); gov.setA11(dataParser.getDouble("a11")); gov.setA13(dataParser.getDouble("a13")); gov.setA21(dataParser.getDouble("a21")); gov.setA23(dataParser.getDouble("a23")); } }