package org.ieee.odm.psse; import static org.junit.Assert.assertTrue; import java.util.logging.Level; import java.util.logging.LogManager; import java.util.logging.Logger; import org.ieee.odm.adapter.IODMAdapter; import org.ieee.odm.adapter.IODMAdapter.NetType; import org.ieee.odm.adapter.psse.PSSEAdapter; import org.ieee.odm.adapter.psse.PSSEAdapter.PsseVersion; import org.ieee.odm.model.acsc.AcscModelParser; import org.ieee.odm.schema.AnalysisCategoryEnumType; import org.ieee.odm.schema.GroundingEnumType; import org.ieee.odm.schema.LineShortCircuitXmlType; import org.ieee.odm.schema.ShortCircuitBusXmlType; import org.ieee.odm.schema.ShortCircuitGenDataXmlType; import org.ieee.odm.schema.XformrtConnectionEnumType; import org.ieee.odm.schema.XfrShortCircuitXmlType; import org.junit.Test; public class PSSEV30_IEEE39_Acsc_Test { @Test public void testCase1() throws Exception { final LogManager logMgr = LogManager.getLogManager(); Logger logger = Logger.getLogger("IEEE ODM Logger"); logger.setLevel(Level.INFO); logMgr.addLogger(logger); PSSEAdapter adapter = new PSSEAdapter(PsseVersion.PSSE_30); assertTrue(adapter.parseInputFile(NetType.AcscNet, new String[]{ "testData/psse/IEEE39Bus/IEEE39bus_v30.raw", "testData/psse/IEEE39Bus/IEEE39bus_v30.seq" })); AcscModelParser acscParser =(AcscModelParser) adapter.getModel(); acscParser.stdout(); //caseContentInfo assertTrue(acscParser.getStudyCase().getAnalysisCategory() == AnalysisCategoryEnumType.SHORT_CIRCUIT); //generator sequence data @bus 30 //ZPOS = ZNeg = ZZero =2.24000E-01 ShortCircuitBusXmlType bus30 = acscParser.getBus("Bus30"); ShortCircuitGenDataXmlType scGen = (ShortCircuitGenDataXmlType) bus30.getGenData().getContributeGen().get(0).getValue(); assertTrue( scGen.getPotiveZ().getIm()== 2.24000E-01); assertTrue( scGen.getNegativeZ().getIm()== 2.24000E-01); assertTrue( scGen.getZeroZ().getIm()== 2.24000E-01); //Zero sequence Branch data: Bus1->bus2(1) // 1, 2,'1 ', 8.75000E-3, 1.02750E-1, 0.69870, 0.00000E+0, 0.00000E+0, 0.00000E+0, 0.00000E+0 LineShortCircuitXmlType scLine = acscParser.getAcscLine("Bus1", "Bus2", "1"); assertTrue(scLine.getZ0().getRe()==8.75000E-3); assertTrue(scLine.getZ0().getIm()==1.02750E-1); assertTrue(scLine.getY0Shunt().getIm()==0.69870); // total zero seq charing susceptance //Zero sequence Transformer data: Bus6->bus31(1) //6, 31, 0,'1 ', 2, 0.00000E+0, 0.00000E+0, 0.00000E+0, 2.50000E-2 //connection code =2, that is grounded wye-delta XfrShortCircuitXmlType xfr6_31= acscParser.getAcscXfr("Bus6", "Bus31", "1"); assertTrue(xfr6_31.getFromSideConnection().getXfrConnection() ==XformrtConnectionEnumType.WYE); assertTrue(xfr6_31.getFromSideConnection().getGrounding().getGroundingConnection() ==GroundingEnumType.SOLID_GROUNDED); assertTrue(xfr6_31.getToSideConnection().getXfrConnection()==XformrtConnectionEnumType.DELTA); //zero sequence impedance R1+j*x1 =0.00000E+0+ j* 2.50000E-2 assertTrue(xfr6_31.getZ0().getIm()==2.50000E-2); } }