package org.ieee.odm.adapter; import static org.junit.Assert.assertTrue; import org.ieee.odm.ODMFileFormatEnum; import org.ieee.odm.adapter.IODMAdapter.NetType; import org.ieee.odm.common.ODMException; import org.ieee.odm.model.dstab.DStabModelParser; import org.ieee.odm.model.dstab.DStabParserHelper; import org.ieee.odm.schema.AnalysisCategoryEnumType; import org.ieee.odm.schema.DStabBusXmlType; import org.ieee.odm.schema.DStabGenDataXmlType; import org.ieee.odm.schema.DStabNetXmlType; import org.ieee.odm.schema.Eq11Ed11MachineXmlType; import org.ieee.odm.schema.Eq11MachineXmlType; import org.ieee.odm.schema.LFGenCodeEnumType; import org.junit.Test; public class genericAdatperTest { // @Test // public void testGenericAdapterSameFormat(){ // // GenericODMAdapter adapter = new GenericODMAdapter(ODMFileFormatEnum.PsseV30,ODMFileFormatEnum.GePSLF); // // adapter.parseInputFile(NetType.DStabNet, new String[]{ // "testData/psse/IEEE9Bus/ieee9.raw", // "testData/psse/IEEE9Bus/ieee9_dyn_Model_2005Exc.dyr" // }); // } @Test public void testGenericAdapterDifferentFormats() throws ODMException{ GenericODMAdapter adapter = new GenericODMAdapter(ODMFileFormatEnum.PsseV30,ODMFileFormatEnum.GePSLF); adapter.parseInputFile(NetType.DStabNet, new String[]{ "testData/psse/IEEE9Bus/ieee9.raw", "testData/ge/ieee9_dyn_Gentpf_GE.dyd" //"testData/ge/ieee9_onlyGen_GE.dyd" }); DStabModelParser dstabParser =(DStabModelParser) adapter.getModel(); dstabParser.stdout(); //caseContentInfo assertTrue(dstabParser.getStudyCase().getAnalysisCategory() == AnalysisCategoryEnumType.TRANSIENT_STABILITY); DStabNetXmlType dynNet = dstabParser.getDStabNet(); DStabBusXmlType bus1 = dstabParser.getDStabBus("Bus1"); DStabGenDataXmlType defaultGen = DStabParserHelper.getDefaultGen(bus1.getGenData()); //DStabLoadDataXmlType defaultLoad = DStabParserHelper.getDefaultLoad(bus1.getLoadData()); assertTrue(bus1.getGenData().getCode()==LFGenCodeEnumType.SWING); //assertTrue(defaultLoad.getCode()==LFLoadCodeEnumType.NONE_LOAD); assertTrue(defaultGen.getDesiredVoltage().getValue()==1.04); assertTrue(defaultGen.getSourceZ().getIm()==0.04); DStabGenDataXmlType contriGen = (DStabGenDataXmlType) bus1.getGenData().getContributeGen().get(0).getValue(); assertTrue(contriGen.getMvaBase().getValue()==100.0); assertTrue(contriGen.getMvarVControlParticipateFactor()==1.0); Eq11MachineXmlType machine = (Eq11MachineXmlType) contriGen.getMachineModel().getValue(); assertTrue(machine.getD()==0.0); assertTrue(machine.getH()==23.64); assertTrue(machine.getXl()< machine.getXd1()); assertTrue(machine.getXd()==0.146); assertTrue(machine.getXl()==0.0336); assertTrue(machine.getXd1()==0.0608); assertTrue(machine.getXd11()==0.04); assertTrue(machine.getXd11()==machine.getXq11()); assertTrue(machine.getTd011().getValue()==0.04); assertTrue(machine.getTq011().getValue()==0.06); /* * BUS3 * * Machine GENROU * * <eq11Ed11MachModel> <desc>GENROU</desc> <H>3.01</H> <D>0.0</D> <xl>0.0742</xl> <ra>0.0</ra> <xd>1.313</xd> <xq>1.258</xq> <xd1>0.1813</xd1> <Td01 unit="Sec" value="5.89"/> <seFmt1> <se100>0.0</se100> <se120>0.0</se120> <sliner>1.0</sliner> </seFmt1> <xq1>0.25</xq1> <Tq01 unit="Sec" value="0.6"/> <xd11>0.107</xd11> <Td011 unit="Sec" value="0.033"/> <xq11>0.107</xq11> <Tq011 unit="Sec" value="0.07"/> </eq11Ed11MachModel> * */ DStabBusXmlType bus3 = dstabParser.getDStabBus("Bus3"); defaultGen = DStabParserHelper.getDefaultGen(bus3.getGenData()); assertTrue(bus3.getGenData().getCode()==LFGenCodeEnumType.PV); DStabGenDataXmlType contriGen3 = (DStabGenDataXmlType) bus3.getGenData().getContributeGen().get(0).getValue(); Eq11Ed11MachineXmlType gen3Mach = (Eq11Ed11MachineXmlType) contriGen3.getMachineModel().getValue(); assertTrue(gen3Mach.getD()==0.0); assertTrue(gen3Mach.getH()==3.01); assertTrue(gen3Mach.getXl()< gen3Mach.getXd1()); assertTrue(gen3Mach.getXd()==1.313); assertTrue(gen3Mach.getXq()==1.258); assertTrue(gen3Mach.getXl()==0.0742); assertTrue(gen3Mach.getXd1()==0.1813); assertTrue(gen3Mach.getXq1()==0.25); assertTrue(gen3Mach.getXd11()==0.107); assertTrue(gen3Mach.getXd11()==gen3Mach.getXq11()); assertTrue(gen3Mach.getTd01().getValue()==5.89); assertTrue(gen3Mach.getTd011().getValue()==0.033); assertTrue(gen3Mach.getTq011().getValue()==0.07); } }