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.NetType;
import org.ieee.odm.adapter.psse.PSSEAdapter;
import org.ieee.odm.adapter.psse.PSSEAdapter.PsseVersion;
import org.ieee.odm.common.ODMException;
import org.ieee.odm.model.dstab.DStabModelParser;
import org.ieee.odm.schema.DStabBusXmlType;
import org.ieee.odm.schema.DStabGenDataXmlType;
import org.ieee.odm.schema.ExcIEEE1981ST1XmlType;
import org.ieee.odm.schema.ExcIEEE1981TypeAC1XmlType;
import org.ieee.odm.schema.ExcIEEE1981TypeDC1XmlType;
import org.ieee.odm.schema.ExcIEEE2005TypeST3AXmlType;
import org.ieee.odm.schema.ExcIEEE2005TypeST4BXmlType;
import org.junit.Test;
public class PSSE_Dyn_Exciter_Test {
@Test
public void ieee9_ODM_Dstab_1981Exc_test() throws ODMException{
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.DStabNet, new String[]{
"testData/psse/IEEE9Bus/ieee9.raw",
"testData/psse/IEEE9Bus/ieee9_dyn_Model_1981Exc.dyr"
}));
DStabModelParser dstabParser =(DStabModelParser) adapter.getModel();
dstabParser.stdout();
DStabBusXmlType bus1 = dstabParser.getDStabBus("Bus1");
DStabGenDataXmlType bus1Gen = (DStabGenDataXmlType) bus1.getGenData().getContributeGen().get(0).getValue();
ExcIEEE1981TypeDC1XmlType bus1Exc = (ExcIEEE1981TypeDC1XmlType) bus1Gen.getExciter().getValue();
assertTrue(bus1Exc.getVrmax()==3.5);
assertTrue(bus1Exc.getVrmin()==-3.5);
DStabBusXmlType bus2 = dstabParser.getDStabBus("Bus2");
DStabGenDataXmlType bus2Gen = (DStabGenDataXmlType) bus2.getGenData().getContributeGen().get(0).getValue();
ExcIEEE1981ST1XmlType bus2Exc = (ExcIEEE1981ST1XmlType) bus2Gen.getExciter().getValue();
assertTrue(bus2Exc.getVrmax()==5.1);
assertTrue(bus2Exc.getVrmin()==0.0);
DStabBusXmlType bus3 = dstabParser.getDStabBus("Bus3");
DStabGenDataXmlType bus3Gen = (DStabGenDataXmlType) bus3.getGenData().getContributeGen().get(0).getValue();
ExcIEEE1981TypeAC1XmlType bus3Exc = (ExcIEEE1981TypeAC1XmlType) bus3Gen.getExciter().getValue();
}
@Test
public void ieee9_ODM_Dstab_2005Exc_test() throws ODMException{
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.DStabNet, new String[]{
"testData/psse/IEEE9Bus/ieee9.raw",
"testData/psse/IEEE9Bus/ieee9_dyn_Model_2005Exc.dyr"
}));
DStabModelParser dstabParser =(DStabModelParser) adapter.getModel();
dstabParser.stdout();
DStabBusXmlType bus1 = dstabParser.getDStabBus("Bus1");
DStabGenDataXmlType bus1Gen = (DStabGenDataXmlType) bus1.getGenData().getContributeGen().get(0).getValue();
ExcIEEE2005TypeST3AXmlType bus1Exc = (ExcIEEE2005TypeST3AXmlType) bus1Gen.getExciter().getValue();
assertTrue(bus1Exc.getVrmax()==99);
assertTrue(bus1Exc.getVrmin()==-99);
DStabBusXmlType bus2 = dstabParser.getDStabBus("Bus2");
DStabGenDataXmlType bus2Gen = (DStabGenDataXmlType) bus2.getGenData().getContributeGen().get(0).getValue();
ExcIEEE2005TypeST4BXmlType bus2Exc = (ExcIEEE2005TypeST4BXmlType) bus2Gen.getExciter().getValue();
assertTrue(bus2Exc.getVrmax()==1.0);
assertTrue(bus2Exc.getVrmin()==-0.87);
}
}