InterPSS common for lib, 3rd-party lib and tutorial.
interpss-project / ipss-common Goto Github PK
View Code? Open in Web Editor NEWInterPSS common for lib, 3rd-party lib
License: Other
InterPSS common for lib, 3rd-party lib
License: Other
InterPSS common for lib, 3rd-party lib and tutorial.
Tony - please check-in your code. The SparseEqn interface seems to have changed.
Mike, in the latest plugin lib, ipss.plugin.multinet is missing. Could you please rebuild it.
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
@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
/*
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());
}
}
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());
}
}
@jinjingfarm I had the following error when switching from source codes (development mode) to ipss core lib.
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!
@interpss Complex3x1.dotProduct() method is missing.
hello, im a student from chinese. I want to learn how to use InterPSS, but I can't log in to the community homepage (the proxy has been opened). Does interPSS have other login methods in China?
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)
Mike, please check in the missing jar lib
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)
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,:
ipss.numeric project seems is not updated. Please check-in your latest code.
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!
@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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.