Giter VIP home page Giter VIP logo

ipss-common's Introduction

ipss-common's People

Contributors

cbroselei avatar donghaofeng avatar interpss avatar jinjingfarm avatar look8504 avatar thuang avatar xiaoluojian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ipss-common's Issues

status设置

package org.interpss.sample.aclf;

import org.apache.commons.math3.complex.Complex;
import org.interpss.IpssCorePlugin;
import org.interpss.display.AclfOutFunc;
import org.interpss.numeric.datatype.Unit.UnitType;

import com.interpss.common.exp.InterpssException;
import com.interpss.core.CoreObjectFactory;
import com.interpss.core.aclf.AclfBranch;
import com.interpss.core.aclf.AclfBranchCode;
import com.interpss.core.aclf.AclfBus;
import com.interpss.core.aclf.AclfGenCode;
import com.interpss.core.aclf.AclfLoadCode;
import com.interpss.core.aclf.AclfNetwork;
import com.interpss.core.aclf.adpter.AclfLineAdapter;
import com.interpss.core.aclf.adpter.AclfLoadBusAdapter;
import com.interpss.core.aclf.adpter.AclfSwingBusAdapter;
import com.interpss.core.algo.LoadflowAlgorithm;
public class sun {

public static void main(String[] args)  throws InterpssException{
	// TODO Auto-generated method stub
	IpssCorePlugin.init();
	AclfNetwork net = CoreObjectFactory.createAclfNetwork();
	
	AclfBus bus5 = CoreObjectFactory.createAclfBus("Bus5", net);
	bus5.setStatus(true);
	// set bus name and description attributes
	bus5.setAttributes("Bus 5", "");
	// set bus base voltage 
	bus5.setBaseVoltage(100000.0);
	// set bus to be a swing bus
	bus5.setGenCode(AclfGenCode.SWING);
	
	// adapt the bus object to a swing bus object
	AclfSwingBusAdapter swingBus = bus5.toSwingBus();
	// set swing bus attributes
	swingBus.setDesiredVoltMag(1.05, UnitType.PU);
	swingBus.setDesiredVoltAng(0.0, UnitType.Deg);
	// add the bus into the network
	//net.addBus(bus1);
	
	AclfBus bus2 = CoreObjectFactory.createAclfBus("Bus2", net);
	bus2.setAttributes("Bus 2", "");
	bus2.setBaseVoltage(100000.0);
	// set the bus to a non-generator bus
	bus2.setGenCode(AclfGenCode.GEN_PQ);
	// set the bus to a constant power load bus
	bus2.setLoadCode(AclfLoadCode.CONST_P);
	// adapt the bus object to a Load bus object
	AclfLoadBusAdapter loadBus = bus2.toLoadBus();
	// set load to the bus
	loadBus.setLoad(new Complex(1.45,-67), UnitType.PU);

// net.addBus(bus2);
bus2.setGenP(2);
bus2.setGenQ(1);

    AclfBus bus3 = CoreObjectFactory.createAclfBus("Bus3",net);
    bus3.setStatus(true);
    System.out.println(bus3.isStatus());
    bus3.setAttributes("Bus 3","");
    bus3.setBaseVoltage(100000.0);
    bus3.setGenCode(AclfGenCode.NON_GEN);
    bus3.setLoadCode(AclfLoadCode.CONST_P);
    AclfLoadBusAdapter loadBus1 = bus3.toLoadBus();
    loadBus1.setLoad(new Complex(1.58,-35.7),UnitType.PU);
    bus3.setGenP(3.7);
    bus3.setGenQ(1.3);
    
    AclfBus bus4 = CoreObjectFactory.createAclfBus("Bus4", net);
    bus4.setStatus(true);
	bus4.setAttributes("Bus 4", "");
	bus4.setBaseVoltage(100000.0);
	bus4.setGenCode(AclfGenCode.GEN_PV);
	bus4.setLoadCode(AclfLoadCode.CONST_P);
	AclfLoadBusAdapter loadBus2 = bus4.toLoadBus();
	loadBus2.setLoad(new Complex(0,-66.7), UnitType.PU);
	
	
	AclfBus bus1 = CoreObjectFactory.createAclfBus("Bus1", net);
	bus1.setAttributes("Bus 1", "");
	bus1.setBaseVoltage(100000.0);
	bus1.setGenCode(AclfGenCode.GEN_PQ);
	bus1.setLoadCode(AclfLoadCode.CONST_P);
	AclfLoadBusAdapter loadBus3 = bus1.toLoadBus();
	loadBus3.setLoad(new Complex(1.74,0.85), UnitType.PU);
	bus1.setGenP(1.6);
	bus1.setGenQ(0.8);
	
    
    
	
	// create an AclfBranch object
	AclfBranch branch = CoreObjectFactory.createAclfBranch();
	net.addBranch(branch, "Bus1", "Bus2");
	// set branch name, description and circuit number
	branch.setAttributes("Branch 1", "", "1");
	// set branch to a Line branch
	branch.setBranchCode(AclfBranchCode.LINE);
	// adapte the branch object to a line branch object
	AclfLineAdapter lineBranch = branch.toLine();
	// set branch parameters
	lineBranch.setZ(new Complex(0.04, 0.25), UnitType.PU, 13800.0);
	// add the branch from Bus1 to Bus2
  	
  	// create the default loadflow algorithm
  	LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net);

  	// use the loadflow algorithm to perform loadflow calculation
  	algo.loadflow();
  	
  	AclfBranch branch1 = CoreObjectFactory.createAclfBranch();
  	branch1.setStatus(true);
	net.addBranch(branch1, "Bus1", "Bus3");
	branch1.setAttributes("Branch 2", "", "2");
	branch1.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch1 = branch1.toLine();
	lineBranch1.setZ(new Complex(0.1, 0.35), UnitType.PU, 13800.0);
  	
	AclfBranch branch2 = CoreObjectFactory.createAclfBranch();
  	branch2.setStatus(true);
	net.addBranch(branch2, "Bus2", "Bus3");
	branch2.setAttributes("Branch 3", "", "3");
	branch2.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch2 = branch2.toLine();
	lineBranch2.setZ(new Complex(0.08, 0.3), UnitType.PU, 1050.0);
	
	AclfBranch branch3 = CoreObjectFactory.createAclfBranch();
  	branch3.setStatus(true);
	net.addBranch(branch3, "Bus2", "Bus4");
	branch3.setAttributes("Branch 4", "", "4");
	branch3.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch3 = branch3.toLine();
	lineBranch3.setZ(new Complex(0,63.5), UnitType.PU, 1050.0);
	
	AclfBranch branch4 = CoreObjectFactory.createAclfBranch();
  	branch4.setStatus(true);
	net.addBranch(branch4, "Bus3", "Bus5");
	branch4.setAttributes("Branch 4", "", "4");
	branch4.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch4 = branch4.toLine();
	lineBranch4.setZ(new Complex(0, 31.75), UnitType.PU, 4200.0);
	
  	// create the default loadflow algorithm
  	LoadflowAlgorithm algo1 = CoreObjectFactory.createLoadflowAlgorithm(net);

  	// use the loadflow algorithm to perform loadflow calculation
  	algo1.loadflow();
  	
  	System.out.println(AclfOutFunc.loadFlowSummary(net));
  	
  	System.out.println(net.net2String());


}

}

com.interpss.core.aclf.impl.AclfLoadImpl class not included in the core lib?

When I build the ipss.plugin.multinet project using the core libs, there is an error:

Description Resource Path Location Type
The type com.interpss.core.aclf.impl.AclfLoadImpl cannot be resolved. It is indirectly referenced from required .class files TestTnD_IEEE9_8BusFeeder.java /ipss.plugin.multiNet/src/org/ipss/multiNet/test/trans_dist line 1 Java Problem

AcscGenImpl missing in core lib

java.lang.NoClassDefFoundError: com/interpss/core/acsc/impl/AcscGenImpl
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.interpss.dstab.impl.DstabFactoryImpl.createDStabGen(DstabFactoryImpl.java:143)
at com.interpss.DStabObjectFactory.createDStabGen(DStabObjectFactory.java:86)
at com.interpss.DStabObjectFactory.createDStabGen(DStabObjectFactory.java:95)
at org.interpss.mapper.odm.impl.aclf.AclfBusDataHelper.mapContributeGenListData(AclfBusDataHelper.java:203)
at org.interpss.mapper.odm.impl.aclf.AclfBusDataHelper.mapGenData(AclfBusDataHelper.java:185)
at org.interpss.mapper.odm.impl.aclf.AclfBusDataHelper.setAclfBusData(AclfBusDataHelper.java:139)
at org.interpss.mapper.odm.impl.dstab.AbstractODMDStabParserMapper.map2Model(AbstractODMDStabParserMapper.java:135)
at org.interpss.tutorial.ch5_dstab.DStab_IEEE9Bus_Test.test_IEEE9Bus_Dstab(DStab_IEEE9Bus_Test.java:66)

DStab_IEEE39Bus_Test.java fail to run

Run as JUnit Test with the java file: ipss-common/ipss.tutorial/org.interpss.tutorial.ch2_dstab/DStab_IEEE39Bus_Test.java,output in Console View is as follows:
Invalid line, line# 9,:
Invalid line, line# 10,:
Invalid line, line# 19,:
Invalid line, line# 20,:
Invalid line, line# 30,:
Invalid line, line# 31,:
Invalid line, line# 43,:
Invalid line, line# 44,:
Invalid line, line# 53,:
Invalid line, line# 54,:
Invalid line, line# 63,:
Invalid line, line# 64,:
Invalid line, line# 76,:
Invalid line, line# 88,:
Invalid line, line# 98,:
Invalid line, line# 99,:
Invalid line, line# 101,:

Please check-in

Tony - please check-in your code. The SparseEqn interface seems to have changed.

Issue with running IEEE39_Dstab_benchMark.java

@thuang After upgrading the ipss.lib, we got the following error when running the IEEE39_Dstab_benchMark tutorial sample.

Invalid line, line# 9,:
Invalid line, line# 10,:
Invalid line, line# 19,:
Invalid line, line# 20,:
Invalid line, line# 30,:
Invalid line, line# 31,:
Invalid line, line# 43,:
Invalid line, line# 44,:
Invalid line, line# 53,:
Invalid line, line# 54,:                 
Invalid line, line# 63,:
Invalid line, line# 64,:
Invalid line, line# 76,:
Invalid line, line# 88,:
Invalid line, line# 98,:               
Invalid line, line# 99,:
Invalid line, line# 101,:


                          Load Flow Summary

                         Max Power Mismatches
             Bus              dPmax       Bus              dQmax
            -------------------------------------------------------
            Bus16            0.000000  Bus13            0.000000 (pu)
                            0.0002120                   0.000975 (kva)

     BusID          Code           Volt(pu)   Angle(deg)     P(pu)     Q(pu)      Bus Name   
  -------------------------------------------------------------------------------------------
java.lang.ClassCastException: com.interpss.dstab.impl.DStabBusImpl cannot be cast to com.interpss.core.aclf.AclfBus

                  PV Bus Limit Adjustment/Control

      BusID     Vact     Vspec      Q      Qmax     Qmin   Status
     -------- -------- -------- -------- -------- -------- ------
     Bus30      1.0475   1.0475     1.46    99.00   -99.99    on
     Bus32      0.9831   0.9831     2.05    99.00   -99.99    on
     Bus33      0.9972   0.9972     1.10    99.00   -99.99    on
     Bus34      1.0123   1.0123     1.66    99.00   -99.99    on
     Bus35      1.0493   1.0493     2.12    99.00   -99.99    on
     Bus36      1.0635   1.0635     1.01    99.00   -99.99    on
     Bus37      1.0278   1.0278     0.00    99.00   -99.99    on
     Bus38      1.0265   1.0265     0.23    99.00   -99.99    on
     Bus39      1.0300   1.0300    -1.62    99.00   -99.99    on


                          Tap Voltage Adjustment/Control

          BranchID     VC BusID  Actual   Spec/Range     Tap  Tmax  Tmin  StepSize Status
     ----------------- -------- -------- -------------- ----- ----- -----   -----  ------
     Bus6->Bus31(1)    Bus6       1.0077 ( 1.17, 0.91 ) 1.070 1.100 0.900       0      on

May 17, 2018 8:42:26 PM com.interpss.dstab.controller.annotate.AbstractAnnotateController parseAnnotation
SEVERE: Language error in controller field annotation description. 
 com.interpss.common.exp.InterpssException: Can't find field krDelayBlock implements IControlBlock, java.lang.NoSuchFieldException: krDelayBlock
com.interpss.common.exp.InterpssException: Can't find field krDelayBlock implements IControlBlock, java.lang.NoSuchFieldException: krDelayBlock
	at com.interpss.dstab.controller.annotate.AbstractAnnotateController.getControlBlockField(AbstractAnnotateController.java:238)
	at com.interpss.dstab.controller.wrapper.ControlBlockFieldAnWrapper.createObject(ControlBlockFieldAnWrapper.java:71)
	at com.interpss.dstab.controller.annotate.AbstractAnnotateController.parseAnnotation(AbstractAnnotateController.java:530)
	at com.interpss.dstab.controller.annotate.AbstractAnnotateController.initStates(AbstractAnnotateController.java:294)
	at org.interpss.dstab.control.exc.ieee.y1968.type1.Ieee1968Type1Exciter.initStates(Ieee1968Type1Exciter.java:192)
	at com.interpss.dstab.mach.impl.DynamicMachineImpl.initStates(DynamicMachineImpl.java:409)
	at com.interpss.dstab.impl.BaseDStabNetworkImpl.initDStabNet(BaseDStabNetworkImpl.java:751)
	at com.interpss.dstab.algo.defaultImpl.AbstractDStabSolver.initialization(AbstractDStabSolver.java:46)
	at com.interpss.dstab.algo.impl.DynamicSimuAlgorithmImpl.initialization(DynamicSimuAlgorithmImpl.java:590)
	at org.interpss.tutorial.ch5_dstab.DStab_IEEE39Bus_Test.IEEE39_Dstab_benchMark(DStab_IEEE39Bus_Test.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
May 17, 2018 8:42:26 PM com.interpss.dstab.mach.impl.DynamicMachineImpl initStates
SEVERE: Error: The exciter init States failed, machine :Bus30-mach1
May 17, 2018 8:42:26 PM com.interpss.dstab.controller.annotate.AbstractAnnotateController parseAnnotation
SEVERE: Language error in controller field annotation description. 
 com.interpss.common.exp.InterpssException: Can't find field krDelayBlock implements IControlBlock, java.lang.NoSuchFieldException: krDelayBlock
com.interpss.common.exp.InterpssException: Can't find field krDelayBlock implements IControlBlock, java.lang.NoSuchFieldException: krDelayBlock
	at com.interpss.dstab.controller.annotate.AbstractAnnotateController.getControlBlockField(AbstractAnnotateController.java:238)
	at com.interpss.dstab.controller.wrapper.ControlBlockFieldAnWrapper.createObject(ControlBlockFieldAnWrapper.java:71)
	at com.interpss.dstab.controller.annotate.AbstractAnnotateController.parseAnnotation(AbstractAnnotateController.java:530)
	at com.interpss.dstab.controller.annotate.AbstractAnnotateController.initStates(AbstractAnnotateController.java:294)
	at org.interpss.dstab.control.exc.ieee.y1968.type1.Ieee1968Type1Exciter.initStates(Ieee1968Type1Exciter.java:192)
	at com.interpss.dstab.mach.impl.DynamicMachineImpl.initStates(DynamicMachineImpl.java:409)
	at com.interpss.dstab.impl.BaseDStabNetworkImpl.initDStabNet(BaseDStabNetworkImpl.java:751)
	at com.interpss.dstab.algo.defaultImpl.AbstractDStabSolver.initialization(AbstractDStabSolver.java:46)
	at com.interpss.dstab.algo.impl.DynamicSimuAlgorithmImpl.initialization(DynamicSimuAlgorithmImpl.java:590)
	at org.interpss.tutorial.ch5_dstab.DStab_IEEE39Bus_Test.IEEE39_Dstab_benchMark(DStab_IEEE39Bus_Test.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
May 17, 2018 8:42:26 PM com.interpss.dstab.mach.impl.DynamicMachineImpl initStates

status 设置

/*

  • 代码问题如下:
  • 按照simple的方法添加节点,也设置了status为true,但设置不成功,运行后程序仍显示status为false
  • 这也导致了我假设有五个节点计算潮流计算,但最后只显示出来bus1和bus2的值
  • 请问这是什么原因呢
    */

package org.interpss.sample.aclf;

import org.apache.commons.math3.complex.Complex;
import org.interpss.IpssCorePlugin;
import org.interpss.display.AclfOutFunc;
import org.interpss.numeric.datatype.Unit.UnitType;

import com.interpss.common.exp.InterpssException;
import com.interpss.core.CoreObjectFactory;
import com.interpss.core.aclf.AclfBranch;
import com.interpss.core.aclf.AclfBranchCode;
import com.interpss.core.aclf.AclfBus;
import com.interpss.core.aclf.AclfGenCode;
import com.interpss.core.aclf.AclfLoadCode;
import com.interpss.core.aclf.AclfNetwork;
import com.interpss.core.aclf.adpter.AclfLineAdapter;
import com.interpss.core.aclf.adpter.AclfLoadBusAdapter;
import com.interpss.core.aclf.adpter.AclfSwingBusAdapter;
import com.interpss.core.algo.LoadflowAlgorithm;
public class sun {

public static void main(String[] args)  throws InterpssException{
	// TODO Auto-generated method stub
	IpssCorePlugin.init();
	AclfNetwork net = CoreObjectFactory.createAclfNetwork();
	
	AclfBus bus5 = CoreObjectFactory.createAclfBus("Bus5", net);
	bus5.setStatus(true);
	// set bus name and description attributes
	bus5.setAttributes("Bus 5", "");
	// set bus base voltage 
	bus5.setBaseVoltage(100000.0);
	// set bus to be a swing bus
	bus5.setGenCode(AclfGenCode.SWING);
	
	// adapt the bus object to a swing bus object
	AclfSwingBusAdapter swingBus = bus5.toSwingBus();
	// set swing bus attributes
	swingBus.setDesiredVoltMag(1.05, UnitType.PU);
	swingBus.setDesiredVoltAng(0.0, UnitType.Deg);
	// add the bus into the network
	//net.addBus(bus1);
	
	AclfBus bus2 = CoreObjectFactory.createAclfBus("Bus2", net);
	bus2.setAttributes("Bus 2", "");
	bus2.setBaseVoltage(100000.0);
	// set the bus to a non-generator bus
	bus2.setGenCode(AclfGenCode.GEN_PQ);
	// set the bus to a constant power load bus
	bus2.setLoadCode(AclfLoadCode.CONST_P);
	// adapt the bus object to a Load bus object
	AclfLoadBusAdapter loadBus = bus2.toLoadBus();
	// set load to the bus
	loadBus.setLoad(new Complex(2,1), UnitType.PU);

// net.addBus(bus2);
bus2.setGenP(2);
bus2.setGenQ(1);

    AclfBus bus3 = CoreObjectFactory.createAclfBus("Bus3",net);
    bus3.setStatus(true);
    System.out.println(bus3.isStatus());
    bus3.setAttributes("Bus 3","");
    bus3.setBaseVoltage(100000.0);
    bus3.setGenCode(AclfGenCode.NON_GEN);
    bus3.setLoadCode(AclfLoadCode.CONST_P);
    AclfLoadBusAdapter loadBus1 = bus3.toLoadBus();
    loadBus1.setLoad(new Complex(3.7,1.3),UnitType.PU);
    bus3.setGenP(3.7);
    bus3.setGenQ(1.3);
    
    AclfBus bus4 = CoreObjectFactory.createAclfBus("Bus4", net);
    bus4.setStatus(true);
	bus4.setAttributes("Bus 4", "");
	bus4.setBaseVoltage(100000.0);
	bus4.setGenCode(AclfGenCode.GEN_PV);
	bus4.setLoadCode(AclfLoadCode.CONST_P);
	AclfLoadBusAdapter loadBus2 = bus4.toLoadBus();
	bus4.setVoltageMag(1.05);
	
	
	
	AclfBus bus1 = CoreObjectFactory.createAclfBus("Bus1", net);
	bus1.setAttributes("Bus 1", "");
	bus1.setBaseVoltage(100000.0);
	bus1.setGenCode(AclfGenCode.GEN_PQ);
	bus1.setLoadCode(AclfLoadCode.CONST_P);
	AclfLoadBusAdapter loadBus3 = bus1.toLoadBus();
	loadBus3.setLoad(new Complex(1.6,0.8), UnitType.PU);
	bus1.setGenP(1.6);
	bus1.setGenQ(0.8);
	
    
    
	
	// create an AclfBranch object
	AclfBranch branch = CoreObjectFactory.createAclfBranch();
	net.addBranch(branch, "Bus1", "Bus2");
	// set branch name, description and circuit number
	branch.setAttributes("Branch 1", "", "1");
	// set branch to a Line branch
	branch.setBranchCode(AclfBranchCode.LINE);
	// adapte the branch object to a line branch object
	AclfLineAdapter lineBranch = branch.toLine();
	// set branch parameters
	lineBranch.setZ(new Complex(0.04, 0.25), UnitType.PU, 13800.0);
	// add the branch from Bus1 to Bus2
  	
  	// create the default loadflow algorithm
  	LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net);

  	// use the loadflow algorithm to perform loadflow calculation
  	algo.loadflow();
  	
  	AclfBranch branch1 = CoreObjectFactory.createAclfBranch();
  	branch1.setStatus(true);
	net.addBranch(branch1, "Bus1", "Bus3");
	branch1.setAttributes("Branch 2", "", "2");
	branch1.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch1 = branch1.toLine();
	lineBranch1.setZ(new Complex(0.1, 0.35), UnitType.PU, 13800.0);
  	
	AclfBranch branch2 = CoreObjectFactory.createAclfBranch();
  	branch2.setStatus(true);
	net.addBranch(branch2, "Bus2", "Bus3");
	branch2.setAttributes("Branch 3", "", "3");
	branch2.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch2 = branch2.toLine();
	lineBranch2.setZ(new Complex(0.08, 0.3), UnitType.PU, 1050.0);
	
	AclfBranch branch3 = CoreObjectFactory.createAclfBranch();
  	branch3.setStatus(true);
	net.addBranch(branch3, "Bus2", "Bus4");
	branch3.setAttributes("Branch 4", "", "4");
	branch3.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch3 = branch3.toLine();
	lineBranch3.setZ(new Complex(0,63.5), UnitType.PU, 1050.0);
	
	AclfBranch branch4 = CoreObjectFactory.createAclfBranch();
  	branch4.setStatus(true);
	net.addBranch(branch4, "Bus3", "Bus5");
	branch4.setAttributes("Branch 4", "", "4");
	branch4.setBranchCode(AclfBranchCode.LINE);
	AclfLineAdapter lineBranch4 = branch4.toLine();
	lineBranch4.setZ(new Complex(0, 31.75), UnitType.PU, 4200.0);
	
  	// create the default loadflow algorithm
  	LoadflowAlgorithm algo1 = CoreObjectFactory.createLoadflowAlgorithm(net);

  	// use the loadflow algorithm to perform loadflow calculation
  	algo1.loadflow();
  	
  	System.out.println(AclfOutFunc.loadFlowSummary(net));
  	
  	System.out.println(net.net2String());


}

}

Ipss.plugin.jar lib may be outdated, and caused errors

Ipss.plugin.jar lib may be outdated, and caused errors below. They are not observed when running the program while referencing to the sources of ipss.plugin.core and ipss.plugin.base instead of the libs.

java.lang.ClassCastException: org.ieee.odm.schema.PSXfrShortCircuitXmlType cannot be cast to org.ieee.odm.schema.XfrShortCircuitXmlType
at org.interpss.mapper.odm.impl.acsc.AbstractODMAcscParserMapper.setAcscBranchData(AbstractODMAcscParserMapper.java:441)
at org.interpss.mapper.odm.impl.acsc.AbstractODMAcscParserMapper.map2Model(AbstractODMAcscParserMapper.java:164)
at org.interpss.mapper.odm.impl.aclf.AbstractODMAclfParserMapper.map2Model(AbstractODMAclfParserMapper.java:125)

rebuild ipss lib

Mike, in the latest plugin lib, ipss.plugin.multinet is missing. Could you please rebuild it.

How to config and run the tutorial samples

@Kayya886 create a tutorial and put in the Wiki, including the following main steps:

Step-1: Download a new version of Eclipse (for example, Photon)
Step-2: Setup Java JRE
Window -> Preference -> Java -> Installed JRE ...
Step-3: Clone ipss-common repo
import three projects (ipss.lib, ipss.lib.3rdPty, ipss.tutorial)
Step-4: Run Loadflow and DStab example

Fault not being cleared in dynamic simulation

Hello!

I recently started using the latest version of InterPSS (was using an older version from early 2020 till now). I noticed that when a fault is applied and cleared during dynamic simulation, the fault is not cleared correctly in the new version, the voltage at the faulted bus stays zero even after the fault is (should have been) cleared.

I am attaching the java file used to test this (this is a modified version of DStab_IEEE9Bus_Test.java provided with the tutorial, the data used is also from the tutorial) for both the recent and the older version of InterPSS:
DynamicSimu_Fault1-new.txt
DynamicSimu_Fault1-old.txt

The test system data used is the same as the data provided with the tutorial.

I am also attaching the corresponding console outputs where the voltage for the faulted bus is printed.
new-result.txt
old-result.txt

Thanks!

java.lang.NullPointerException in dstab tutorial

Hello,

I was trying to run the tutorials for dstab. I was getting a null pointer exception when running 'DStab_IEEE9Bus_CoSimu' and 'DStab_IEEE9Bus_Pause'. I am attaching the failure trace files here:
trace_DStab_IEEE9Bus_CoSimu.txt
trace_DStab_IEEE9Bus_Pause.txt
It seems that both the files have similar error when executing dstabAlgo.initialization().

This is how I could remove this error:
'DStab_IEEE9Bus_Test' runs without any error, so I recreated the following in 'DStab_IEEE9Bus_CoSimu' and 'DStab_IEEE9Bus_Pause' from 'DStab_IEEE9Bus_Test':

// set the output handler
StateVariableRecorder ssRecorder = new StateVariableRecorder(0.0001);
dstabAlgo.setSimuOutputHandler(ssRecorder);

I added the above lines before the line IpssLogger.getLogger().setLevel(Level.INFO);. Consequently, I also added com.interpss.dstab.cache.StateVariableRecorder to the imports. This removed the error for me.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.