From a6cca7589132b8b70b721cc47b8cdb91e2cf0147 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Mon, 5 Dec 2016 22:42:53 +0800 Subject: [PATCH 01/19] working on 3Phase_model implementation --- .../algo/DynamicEventProcessor3Phase.java | 4 ++-- .../dynamic/impl/DStabNetwork3phaseImpl.java | 5 ++--- .../powerflow/impl/DistPowerFlowOutFunc.java | 6 ++--- .../test/IEEE9Bus_3phase_LF_init_test.java | 22 ++----------------- .../test/Test3PhaseInductionMotor.java | 5 ++--- .../test/TestDistributionPowerflowAlgo.java | 7 +++--- 6 files changed, 15 insertions(+), 34 deletions(-) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java index f01d65b..9e3c015 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java @@ -10,7 +10,7 @@ import com.interpss.common.exp.InterpssRuntimeException; import com.interpss.common.msg.IpssMessage; -import com.interpss.core.acsc.AcscBus; +import com.interpss.core.acsc.BaseAcscBus; import com.interpss.core.acsc.fault.AcscBusFault; import com.interpss.core.acsc.fault.SimpleFaultCode; import com.interpss.dstab.algo.defaultImpl.DynamicEventProcessor; @@ -130,7 +130,7 @@ protected void applyDynamicEventAfter(DynamicEvent e, double t) throws IpssNumer if (e.isActive()) { if (e.getType() == DynamicEventType.BUS_FAULT) { AcscBusFault fault = e.getBusFault(); - AcscBus bus = fault.getBus(); + BaseAcscBus bus = fault.getBus(); int i = bus.getSortNumber(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java index fad36b7..7e548fb 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java @@ -30,8 +30,7 @@ import com.interpss.core.aclf.AclfGen; import com.interpss.core.aclf.AclfLoad; import com.interpss.core.acsc.AcscBranch; -import com.interpss.core.acsc.AcscBus; -import com.interpss.core.acsc.SequenceCode; +import com.interpss.core.acsc.BaseAcscBus; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.net.Branch; import com.interpss.core.net.Bus; @@ -137,7 +136,7 @@ public boolean initThreePhaseFromLfResult() { // initialize the phase voltages of those which are not set before, three-phase generation power output and load - for(AcscBus b: this.getBusList()){ + for(BaseAcscBus b: this.getBusList()){ if(b.isActive() && !b.isBooleanFlag()){ Complex vpos = b.getVoltage(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java index f484f80..142df6f 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java @@ -2,7 +2,6 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.ComplexFunc; import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Bus3Phase; @@ -10,20 +9,21 @@ import com.interpss.core.aclf.AclfBranch; import com.interpss.core.aclf.AclfBus; +import com.interpss.core.aclf.BaseAclfBus; import com.interpss.core.aclf.BaseAclfNetwork; import com.interpss.core.net.Branch; import com.interpss.dstab.DStabBus; public class DistPowerFlowOutFunc { - public static String powerflowResultSummary(BaseAclfNetwork distNet){ + public static String powerflowResultSummary(BaseAclfNetwork distNet){ StringBuffer sb = new StringBuffer(); Bus3Phase swingBus = null; sb.append("\n\n==================Distribtuion power flow results============\n\n"); sb.append("Bus results: \n"); - for(AclfBus b:distNet.getBusList()){ + for(BaseAclfBus b:distNet.getBusList()){ Bus3Phase bus = (Bus3Phase) b; Complex va = bus.get3PhaseVotlages().a_0; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java index 465b159..f079f6d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java @@ -6,15 +6,8 @@ import java.util.logging.Level; import org.apache.commons.math3.complex.Complex; -import org.apache.commons.math3.complex.ComplexUtils; -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.dstab.DStabModelParser; import org.interpss.IpssCorePlugin; import org.interpss.display.AclfOutFunc; -import org.interpss.display.AclfOutFunc.BusIdStyle; -import org.interpss.display.impl.AclfOut_BusStyle; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.numeric.util.PerformanceTimer; @@ -22,30 +15,21 @@ import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.Network3Phase; -import org.ipss.threePhase.basic.Phase; -import org.ipss.threePhase.basic.impl.AclfNetwork3Phase; import org.ipss.threePhase.dynamic.DStabNetwork3Phase; import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.dynamic.model.impl.SinglePhaseACMotor; -import org.ipss.threePhase.odm.ODM3PhaseDStabParserMapper; import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; import org.ipss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.CoreObjectFactory; import com.interpss.DStabObjectFactory; -import com.interpss.SimuObjectFactory; import com.interpss.common.exp.InterpssException; import com.interpss.common.util.IpssLogger; import com.interpss.core.aclf.AclfBranchCode; import com.interpss.core.aclf.AclfGenCode; import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.aclf.adpter.AclfLoadBusAdapter; -import com.interpss.core.aclf.adpter.AclfPVGenBus; -import com.interpss.core.aclf.adpter.AclfSwingBus; -import com.interpss.core.acsc.AcscBus; +import com.interpss.core.acsc.BaseAcscBus; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.acsc.adpter.AcscXformer; import com.interpss.core.acsc.fault.SimpleFaultCode; @@ -54,8 +38,6 @@ import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; -import com.interpss.simu.SimuContext; -import com.interpss.simu.SimuCtxType; public class IEEE9Bus_3phase_LF_init_test { @@ -149,7 +131,7 @@ BusID Code Volt(pu) Angle(deg) P(pu) Q(pu) Bus net.initThreePhaseFromLfResult(); - for(AcscBus bus: net.getBusList()){ + for(BaseAcscBus bus: net.getBusList()){ if(bus instanceof Bus3Phase){ Bus3Phase ph3Bus = (Bus3Phase) bus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java index 2c7fbac..49181dc 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java @@ -13,13 +13,12 @@ import com.interpss.DStabObjectFactory; import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBus; +import com.interpss.core.aclf.BaseAclfBus; import com.interpss.core.net.NetworkType; import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; import com.interpss.dstab.dynLoad.InductionMotor; -import com.interpss.dstab.dynLoad.impl.InductionMotorImpl; public class Test3PhaseInductionMotor extends TestBase{ @@ -51,7 +50,7 @@ public void testIndMotor() throws InterpssException{ assertTrue(distPFAlgo.powerflow()); - for(AclfBus bus:net.getBusList()){ + for(BaseAclfBus bus:net.getBusList()){ Bus3Phase bus3P = (Bus3Phase) bus; System.out.println("Vabc of bus -"+bus3P.getId()+","+bus3P.get3PhaseVotlages().toString()); } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java index 25fc91f..0f32c52 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java @@ -1,7 +1,7 @@ package org.ipss.threePhase.test; -import static org.junit.Assert.*; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; +import static org.junit.Assert.assertTrue; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; @@ -25,6 +25,7 @@ import com.interpss.core.aclf.AclfBus; import com.interpss.core.aclf.AclfGenCode; import com.interpss.core.aclf.AclfLoadCode; +import com.interpss.core.aclf.BaseAclfBus; import com.interpss.core.aclf.BaseAclfNetwork; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.acsc.adpter.AcscXformer; @@ -285,7 +286,7 @@ public void testDistBusPF() throws InterpssException { Vabc of bus -Bus3,0.99075 + j-0.07914 -0.56392 + j-0.81844 -0.42683 + j0.89759 Vabc of bus -Bus4,0.98834 + j-0.09907 -0.57997 + j-0.80639 -0.40837 + j0.90546 */ - for(AclfBus bus:net.getBusList()){ + for(BaseAclfBus bus:net.getBusList()){ Bus3Phase bus3P = (Bus3Phase) bus; System.out.println("Vabc of bus -"+bus3P.getId()+","+bus3P.get3PhaseVotlages().toString()); } @@ -309,7 +310,7 @@ public void testDistPFWithDG() throws InterpssException { Vabc of bus -Bus3,0.99075 + j-0.07914 -0.56392 + j-0.81844 -0.42683 + j0.89759 Vabc of bus -Bus4,0.98834 + j-0.09907 -0.57997 + j-0.80639 -0.40837 + j0.90546 */ - for(AclfBus bus:net.getBusList()){ + for(BaseAclfBus bus:net.getBusList()){ Bus3Phase bus3P = (Bus3Phase) bus; System.out.println("Vabc of bus -"+bus3P.getId()+","+bus3P.get3PhaseVotlages().toString()); } From a0c03decb2e862bd56181130fd0575290af0bf31 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Wed, 7 Dec 2016 10:48:00 +0800 Subject: [PATCH 02/19] Completed 3Phase_model implementation preparation - pass the code refactor --- .../src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java | 2 +- .../ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java | 2 +- .../ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java | 2 +- .../powerflow/impl/DistributionPowerFlowAlgorithmImpl.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java index 0cef42d..325c8db 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java @@ -21,7 +21,7 @@ import com.interpss.core.net.Bus; import com.interpss.core.sparse.impl.SparseEqnComplexMatrix3x3Impl; -public class AclfNetwork3Phase extends BaseAcscNetworkImpl implements +public class AclfNetwork3Phase extends BaseAcscNetworkImpl implements Network3Phase { protected ISparseEqnComplexMatrix3x3 yMatrixAbc =null; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java b/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java index 5016d99..5e3ab0f 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java @@ -94,7 +94,7 @@ public AbstractODM3PhaseDStabParserMapper() { dstabAlgo.setAclfAlgorithm(lfAlgo); // map the bus info - AclfBusDataHelper> helper = new AclfBusDataHelper<>(dstabNet); + AclfBusDataHelper helper = new AclfBusDataHelper(dstabNet); for (JAXBElement bus : xmlNet.getBusList().getBus()) { DStabBusXmlType dstabBusXml = (DStabBusXmlType) bus.getValue(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java index bd2f53d..142df6f 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java @@ -16,7 +16,7 @@ public class DistPowerFlowOutFunc { - public static String powerflowResultSummary(BaseAclfNetwork distNet){ + public static String powerflowResultSummary(BaseAclfNetwork distNet){ StringBuffer sb = new StringBuffer(); Bus3Phase swingBus = null; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java index bc43f36..22a5a39 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java @@ -29,7 +29,7 @@ public class DistributionPowerFlowAlgorithmImpl implements DistributionPowerFlowAlgorithm{ - private BaseAclfNetwork distNet = null; + private BaseAclfNetwork distNet = null; private DistributionPFMethod pfMethod = DistributionPFMethod.Forward_Backword_Sweep; From 498b67c7738adf71bc90b74dfd8e42028208eb02 Mon Sep 17 00:00:00 2001 From: Tony Huang Date: Tue, 6 Dec 2016 21:49:25 -0800 Subject: [PATCH 03/19] update the test cases after the core update 12/6/2016 --- .../dynamic/model/PVDistGen3Phase.java | 5 +++-- .../DistributionPowerFlowAlgorithmImpl.java | 17 ++++++++++------- .../threePhase/test/TestPVDistGen3Phase.java | 1 + .../threePhase/test/ThreeBus_3Phase_Test.java | 10 +++++----- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java index 5fe97c9..87248c0 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java @@ -6,7 +6,8 @@ import org.interpss.numeric.datatype.ComplexFunc; import org.ipss.threePhase.basic.Gen3Phase; -import com.interpss.core.acsc.AcscBus; + +import com.interpss.core.acsc.BaseAcscBus; import com.interpss.dstab.DStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.common.DStabOutSymbol; @@ -118,7 +119,7 @@ public boolean nextStep(double dt, DynamicSimuMethod method){ } private Complex getPosSeqVt(){ - Complex vt = ((AcscBus)this.getParentGen().getParentBus()).getThreeSeqVoltage().b_1; + Complex vt = ((BaseAcscBus)this.getParentGen().getParentBus()).getThreeSeqVoltage().b_1; return vt; } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java index 22a5a39..0905140 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java @@ -22,14 +22,17 @@ import com.interpss.common.util.IpssLogger; import com.interpss.core.aclf.AclfBranch; import com.interpss.core.aclf.AclfBus; +import com.interpss.core.aclf.AclfGen; +import com.interpss.core.aclf.AclfLoad; import com.interpss.core.aclf.AclfNetwork; +import com.interpss.core.aclf.BaseAclfBus; import com.interpss.core.aclf.BaseAclfNetwork; import com.interpss.core.net.Branch; import com.interpss.core.net.Bus; public class DistributionPowerFlowAlgorithmImpl implements DistributionPowerFlowAlgorithm{ - private BaseAclfNetwork distNet = null; + private BaseAclfNetwork,? extends AclfBranch> distNet = null; private DistributionPFMethod pfMethod = DistributionPFMethod.Forward_Backword_Sweep; @@ -57,7 +60,7 @@ public boolean orderDistributionBuses(boolean radialOnly) { Queue onceVisitedBuses = new LinkedList<>(); // find the source bus, which is the swing bus for radial feeders; - for(AclfBus b: distNet.getBusList()){ + for(BaseAclfBus b: distNet.getBusList()){ if(b.isActive() && b.isSwing()){ onceVisitedBuses.add((Bus3Phase) b); } @@ -121,7 +124,7 @@ private void BFS (Queue onceVisitedBuses){ public boolean initBusVoltages() { - for(AclfBus b: distNet.getBusList()){ + for(BaseAclfBus b: distNet.getBusList()){ Bus3Phase bus = (Bus3Phase) b; if(b.isSwing()) @@ -228,7 +231,7 @@ private boolean FBSPowerflow(){ //----------------------------------------------------------------------- for(int sortNum =this.distNet.getNoBus()-1;sortNum>0;sortNum--){ - AclfBus bus = this.distNet.getBus(sortNum); + BaseAclfBus bus = this.distNet.getBus(sortNum); if(bus==null){ throw new Error(" The bus sort num # "+sortNum +" returns null bus object in distribution #"+this.distNet.getId()); @@ -428,7 +431,7 @@ else if (upStreamBranch.isXfr()){ double mis = 0; this.pfFlag =true; - for(AclfBus bus: this.distNet.getBusList()){ + for(BaseAclfBus bus: this.distNet.getBusList()){ if(bus.isActive()){ Bus3Phase bus3P = (Bus3Phase) bus; if(i>=1){ @@ -458,7 +461,7 @@ else if (upStreamBranch.isXfr()){ for(int sortNum2 = 0;sortNum2 bus: this.distNet.getBusList()){ if(bus.isActive() && bus.isSwing()){ Bus3Phase bus3p = (Bus3Phase) bus; Complex3x1 sumOfBranchCurrents = new Complex3x1(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java index e699c1e..92c3e0b 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java @@ -354,6 +354,7 @@ public void testThreeBusWithPVDstabSim() throws InterpssException{ dstabAlgo.performSimulation(); } + //System.out.println(sm.toCSVString(sm.getBusAngleTable())); System.out.println(sm.toCSVString(sm.getBusVoltTable())); MonitorRecord rec1 = sm.getBusVoltTable().get("Bus2").get(1); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java index 847586e..8eccc35 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java @@ -70,7 +70,7 @@ public class ThreeBus_3Phase_Test { - //@Test + @Test public void testYMatrixabc() throws Exception{ IpssCorePlugin.init(); @@ -218,7 +218,7 @@ public void testYMatrixabc() throws Exception{ } - //@Test + @Test public void testDstab3Phase() throws Exception{ IpssCorePlugin.init(); @@ -289,7 +289,7 @@ public void test_3busfeeder_unbalanced_dstab() throws Exception{ for(DStabBranch bra: net.getBranchList()){ Branch3Phase bra3p = (Branch3Phase) bra; - System.out.println(bra.getId()+": "+bra3p.getBranchYabc().toString()); + System.out.println(bra.getId()+"锛� "+bra3p.getBranchYabc().toString()); } DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( @@ -344,7 +344,7 @@ public void test_3busfeeder_unbalanced_dstab() throws Exception{ System.out.println(sm.toCSVString(sm.getBusPhCVoltTable())); } - //@Test + @Test public void testDstabPosSeq() throws Exception{ IpssCorePlugin.init(); @@ -408,7 +408,7 @@ public void testDstabPosSeq() throws Exception{ System.out.println(sm.toCSVString(sm.getBusVoltTable())); } - //@Test + @Test public void testSolvNetwork() throws Exception{ IpssCorePlugin.init(); From 50cf4ddb232b3977fb34e2104e15f04644392711 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Wed, 7 Dec 2016 17:20:20 +0800 Subject: [PATCH 04/19] bug fix --- .../src/org/ipss/threePhase/basic/Load3Phase.java | 4 ++-- .../src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java index 38116a4..169ea14 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java @@ -4,10 +4,10 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; -import com.interpss.core.aclf.AclfLoad; import com.interpss.core.acsc.PhaseCode; +import com.interpss.dstab.DStabLoad; -public interface Load3Phase extends AclfLoad { +public interface Load3Phase extends DStabLoad { /** * calcuate the Yabc from Y120 diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java index 9d54620..2c4fe92 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java @@ -6,10 +6,10 @@ import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.basic.Load3Phase; -import com.interpss.core.aclf.impl.AclfLoadImpl; import com.interpss.core.acsc.PhaseCode; +import com.interpss.dstab.impl.DStabLoadImpl; -public class Load3PhaseImpl extends AclfLoadImpl implements Load3Phase { +public class Load3PhaseImpl extends DStabLoadImpl implements Load3Phase { Complex3x1 ph3Load = new Complex3x1(); Complex3x3 equivYabc = new Complex3x3(); From 09ca6fb5af56e37070c614befa2437af278c786e Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Fri, 16 Dec 2016 16:59:03 +0800 Subject: [PATCH 05/19] Sparse Eqn refactor to include the LeastSqaure method --- .../sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java | 4 ++-- .../ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java | 2 +- .../src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java b/ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java index e02372e..7628c2a 100644 --- a/ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java +++ b/ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java @@ -37,7 +37,7 @@ public void testReal(){ try { - matrix3x3.luMatrixAndSolveEqn(1.0e-5); + matrix3x3.solveEqn(1.0e-5); } catch (IpssNumericException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -79,7 +79,7 @@ public void testComplex(){ try { - matrix3x3.luMatrixAndSolveEqn(1.0e-5); + matrix3x3.solveEqn(1.0e-5); } catch (IpssNumericException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java index cf15e50..fc62ed0 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java @@ -397,7 +397,7 @@ public boolean solveNetEqn() { try { if(isYMatrixDirty()){ - getYMatrixABC().luMatrix(Constants.Matrix_LU_Tolerance); + getYMatrixABC().factorization(Constants.Matrix_LU_Tolerance); setYMatrixDirty(false); } diff --git a/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java b/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java index 148f25a..40dd1bc 100644 --- a/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java @@ -201,7 +201,7 @@ private Hashtable solveSeqNetwork(DStabilityNetwork subnet, Seq ISparseEqnComplex negSeqYMatrix = subnet.getNegSeqYMatrix(); if(!negSeqYMatrix.isFactorized()){ try { - negSeqYMatrix.luMatrix(1.0E-8); + negSeqYMatrix.factorization(1.0E-8); } catch (IpssNumericException e2) { // TODO Auto-generated catch block e2.printStackTrace(); @@ -238,7 +238,7 @@ private Hashtable solveSeqNetwork(DStabilityNetwork subnet, Seq if(!zeroSeqYMatrix.isFactorized()){ try { - zeroSeqYMatrix.luMatrix(1.0E-8); + zeroSeqYMatrix.factorization(1.0E-8); } catch (IpssNumericException e2) { // TODO Auto-generated catch block e2.printStackTrace(); From e06984c26320bd9f37d383834d74be2b6cedca4b Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Sun, 18 Dec 2016 21:46:21 +0800 Subject: [PATCH 06/19] 3Phase-model - completed the first pass --- .../org.eclipse.core.resources.prefs | 2 ++ .../org/ipss/threePhase/basic/Bus3Phase.java | 7 ++---- .../org/ipss/threePhase/basic/Gen3Phase.java | 2 +- .../org/ipss/threePhase/basic/Load3Phase.java | 1 + .../basic/impl/AclfNetwork3Phase.java | 5 ++--- .../basic/impl/Branch3W3PhaseImpl.java | 4 ++-- .../threePhase/basic/impl/Bus3PhaseImpl.java | 10 ++------- .../dynamic/DStabNetwork3Phase.java | 6 +++-- .../dynamic/impl/DStabNetwork3phaseImpl.java | 19 ++++++++-------- .../dynamic/model/DynLoadModel1Phase.java | 4 ++-- .../dynamic/model/DynamicModel1Phase.java | 6 ++--- .../dynamic/model/DynamicModel3Phase.java | 6 ++--- .../dynamic/model/PVDistGen3Phase.java | 5 ++--- .../AbstractODM3PhaseDStabParserMapper.java | 7 +++--- .../powerflow/impl/DistPowerFlowOutFunc.java | 4 ++-- .../test/IEEE_13BusFeeder_Test.java | 14 +++++------- .../test/Test3PhaseInductionMotor.java | 4 ++-- .../ipss/threePhase/test/Test6BusFeeder.java | 4 ++-- .../ipss/threePhase/test/Test8BusFeeder.java | 4 ++-- .../org/ipss/threePhase/test/TestBase.java | 6 ++--- .../test/TestODM3PhaseDstabMapper.java | 4 ++-- .../threePhase/test/TestPVDistGen3Phase.java | 6 ++--- .../test/TestSinglePhaseACMotorModel.java | 3 ++- .../test/Test_oneSource_multiFeeder.java | 3 ++- .../threePhase/test/ThreeBus_3Phase_Test.java | 22 +++++++++---------- .../threePhase/test/TwoBus_3Phase_Test.java | 9 ++++---- .../util/ThreePhaseAclfOutFunc.java | 4 ++-- .../util/ThreeSeqLoadProcessor.java | 5 +++-- .../threeSeq/algo/DStab3SeqSolverImpl.java | 18 +++++++-------- 29 files changed, 93 insertions(+), 101 deletions(-) create mode 100644 ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs diff --git a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..114a96d --- /dev/null +++ b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding//src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java index b689889..ecf9f45 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java @@ -7,12 +7,9 @@ import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; import org.ipss.threePhase.dynamic.model.DynLoadModel3Phase; -import com.interpss.core.aclf.AclfBus; -import com.interpss.core.acsc.AcscBus; -import com.interpss.dstab.DStabBus; -import com.interpss.dstab.dynLoad.DynLoadModel; +import com.interpss.dstab.BaseDStabBus; -public interface Bus3Phase extends DStabBus { +public interface Bus3Phase extends BaseDStabBus { public Complex3x1 get3PhaseVotlages(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java index 93e6e25..b51351a 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java @@ -8,7 +8,7 @@ import com.interpss.core.acsc.AcscGen; import com.interpss.dstab.DStabGen; -public interface Gen3Phase extends DStabGen{ +public interface Gen3Phase extends DStabGen { /** * directly set the generator 3x3 impedance matrix on machine MVA base diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java index 169ea14..4db66f4 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java @@ -4,6 +4,7 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; +import com.interpss.core.acsc.AcscLoad; import com.interpss.core.acsc.PhaseCode; import com.interpss.dstab.DStabLoad; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java index 325c8db..ab0e90d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java @@ -13,8 +13,7 @@ import com.interpss.core.aclf.AclfBus; import com.interpss.core.acsc.AcscBranch; import com.interpss.core.acsc.AcscBus; -import com.interpss.core.acsc.AcscGen; -import com.interpss.core.acsc.AcscLoad; +import com.interpss.core.acsc.BaseAcscBus; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.acsc.impl.BaseAcscNetworkImpl; import com.interpss.core.net.Branch; @@ -84,7 +83,7 @@ private Complex phaseShiftCplxFactor(double shiftDeg){ public ISparseEqnComplexMatrix3x3 formYMatrixABC() throws Exception { yMatrixAbc = new SparseEqnComplexMatrix3x3Impl(getNoBus()); - for(AcscBus b:this.getBusList()){ + for(BaseAcscBus b:this.getBusList()){ if(b instanceof Bus3Phase){ int i = b.getSortNumber(); Bus3Phase ph3Bus = (Bus3Phase) b; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java index 8c94100..96df6ff 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java @@ -1,5 +1,6 @@ package org.ipss.threePhase.basic.impl; +import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Branch3W3Phase; import org.ipss.threePhase.dynamic.DStabNetwork3Phase; import org.ipss.threePhase.util.ThreePhaseObjectFactory; @@ -7,7 +8,6 @@ import com.interpss.common.exp.InterpssException; import com.interpss.core.aclf.AclfBranchCode; import com.interpss.core.aclf.AclfBus; -import com.interpss.dstab.DStabBranch; import com.interpss.dstab.impl.DStab3WBranchImpl; public class Branch3W3PhaseImpl extends DStab3WBranchImpl implements Branch3W3Phase{ @@ -36,7 +36,7 @@ public void create2WBranches(AclfBranchCode branchCode, String[] properties) thr ((AclfBus)starBus).setVoltage(this.voltageStarBus); // create the from branch: fromBudId -> starBusId - DStabBranch branch = ThreePhaseObjectFactory.create3PBranch(); + Branch3Phase branch = ThreePhaseObjectFactory.create3PBranch(); net.addBranch(branch, fromId, starBusId, properties[1]); this.setFromBranch(branch); branch.setBranchCode(branchCode); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java index ac519e3..bb1cd8a 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java @@ -1,7 +1,5 @@ package org.ipss.threePhase.basic.impl; -import static org.ipss.threePhase.util.ThreePhaseUtilFunction.threePhaseGenAptr; - import java.util.ArrayList; import java.util.List; @@ -12,20 +10,16 @@ import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.dynamic.model.DStabGen3PhaseAdapter; import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; import org.ipss.threePhase.dynamic.model.DynLoadModel3Phase; import org.ipss.threePhase.util.ThreeSeqLoadProcessor; -import com.interpss.core.aclf.AclfGen; import com.interpss.core.net.Branch; -import com.interpss.dstab.DStabGen; -import com.interpss.dstab.dynLoad.DynLoadModel; -import com.interpss.dstab.impl.DStabBusImpl; +import com.interpss.dstab.impl.BaseDStabBusImpl; -public class Bus3PhaseImpl extends DStabBusImpl implements Bus3Phase{ +public class Bus3PhaseImpl extends BaseDStabBusImpl implements Bus3Phase{ private Complex3x1 Vabc = null; private Complex3x1 initVabc = null; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java index df4b0fb..fecef81 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java @@ -3,11 +3,13 @@ import java.util.Hashtable; import org.interpss.numeric.datatype.Complex3x1; +import org.ipss.threePhase.basic.Branch3Phase; +import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.basic.Network3Phase; -import com.interpss.dstab.DStabilityNetwork; +import com.interpss.dstab.BaseDStabNetwork; -public interface DStabNetwork3Phase extends Network3Phase, DStabilityNetwork{ +public interface DStabNetwork3Phase extends Network3Phase, BaseDStabNetwork{ diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java index fc62ed0..3d6dc06 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java @@ -30,19 +30,18 @@ import com.interpss.core.aclf.AclfGen; import com.interpss.core.aclf.AclfLoad; import com.interpss.core.acsc.AcscBranch; -import com.interpss.core.acsc.AcscGen; import com.interpss.core.acsc.BaseAcscBus; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.net.Branch; import com.interpss.core.net.Bus; import com.interpss.core.net.NetworkType; import com.interpss.core.sparse.impl.SparseEqnComplexMatrix3x3Impl; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabGen; import com.interpss.dstab.dynLoad.DynLoadModel; -import com.interpss.dstab.impl.DStabilityNetworkImpl; +import com.interpss.dstab.impl.BaseDStabNetworkImpl; -public class DStabNetwork3phaseImpl extends DStabilityNetworkImpl implements DStabNetwork3Phase { +public class DStabNetwork3phaseImpl extends BaseDStabNetworkImpl implements DStabNetwork3Phase { protected ISparseEqnComplexMatrix3x3 yMatrixAbc = null; protected boolean is3PhaseNetworkInitialized = false; @@ -242,7 +241,7 @@ public ISparseEqnComplexMatrix3x3 formYMatrixABC() throws Exception { yMatrixAbc = new SparseEqnComplexMatrix3x3Impl(getNoBus()); - for(DStabBus b:this.getBusList()){ + for(BaseDStabBus b:this.getBusList()){ if(b.isActive()){ if(b instanceof Bus3Phase){ int i = b.getSortNumber(); @@ -289,7 +288,7 @@ public ISparseEqnComplexMatrix3x3 formYMatrixABC() throws Exception { //TODO append the equivalent admittance of dynamic loads to YMatrixABC - for ( DStabBus bus : getBusList() ) { + for ( BaseDStabBus bus : getBusList() ) { if(bus.isActive() && bus.isLoad()){ Bus3Phase bus3p = (Bus3Phase) bus; @@ -370,7 +369,7 @@ public ISparseEqnComplexMatrix3x3 formYMatrixABC() throws Exception { } private void convertLoadModel() { - for ( DStabBus busi : getBusList() ) { + for ( BaseDStabBus busi : getBusList() ) { //only the active buses will be initialized if(busi.isActive()){ //init three sequence load @@ -403,7 +402,7 @@ public boolean solveNetEqn() { // Calculate and set generator injection current for( Bus b : getBusList()) { - DStabBus bus = (DStabBus)b; + BaseDStabBus bus = (BaseDStabBus)b; if(bus.isActive()){ Bus3Phase bus3p = (Bus3Phase) bus; @@ -504,7 +503,7 @@ public boolean solveNetEqn() { // update bus voltage and machine Pe for( Bus b : getBusList()) { - DStabBus bus = (DStabBus)b; + BaseDStabBus bus = (BaseDStabBus)b; if(bus.isActive()){ Complex3x1 vabc = getYMatrixABC().getX(bus.getSortNumber()); //if(bus.getId().equals("Bus12")) @@ -548,7 +547,7 @@ public boolean initDStabNet() { if(this.getNetworkType()==NetworkType.TRANSMISSION && !is3PhaseNetworkInitialized) initThreePhaseFromLfResult(); - for ( DStabBus b : getBusList() ) { + for ( BaseDStabBus b : getBusList() ) { if( b instanceof Bus3Phase){ Bus3Phase bus =(Bus3Phase) b; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java index 13cce95..8611f9e 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java @@ -4,7 +4,7 @@ import org.interpss.numeric.datatype.Complex3x1; import org.ipss.threePhase.basic.Bus3Phase; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.dynLoad.DynLoadModel; public abstract class DynLoadModel1Phase extends DynamicModel1Phase implements DynLoadModel{ @@ -15,7 +15,7 @@ public abstract class DynLoadModel1Phase extends DynamicModel1Phase implements D protected double loadFactor = 0.85; - protected DStabBus bus; + protected BaseDStabBus bus; protected Complex equivY = null; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java index c3af4c6..a3446ba 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java @@ -11,7 +11,7 @@ import com.interpss.core.net.Network; import com.interpss.core.net.impl.NameTagImpl; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.device.impl.DynamicBusDeviceImpl; import com.interpss.dstab.mach.Machine; @@ -70,7 +70,7 @@ public boolean initStates() { * * @generated */ - public boolean initStates(DStabBus abus) { + public boolean initStates(BaseDStabBus abus) { // TODO: implement this method // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); @@ -81,7 +81,7 @@ public boolean initStates(DStabBus abus) { * * @generated */ - public boolean initStates(DStabBus abus, Machine mach) { + public boolean initStates(BaseDStabBus abus, Machine mach) { // TODO: implement this method // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java index b560388..67bcec0 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java @@ -13,7 +13,7 @@ import com.interpss.core.net.Network; import com.interpss.core.net.impl.NameTagImpl; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.device.impl.DynamicBusDeviceImpl; import com.interpss.dstab.mach.Machine; @@ -59,7 +59,7 @@ public boolean initStates() { * * @generated */ - public boolean initStates(DStabBus abus) { + public boolean initStates(BaseDStabBus abus) { // TODO: implement this method // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); @@ -70,7 +70,7 @@ public boolean initStates(DStabBus abus) { * * @generated */ - public boolean initStates(DStabBus abus, Machine mach) { + public boolean initStates(BaseDStabBus abus, Machine mach) { // TODO: implement this method // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java index 87248c0..7a89d88 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java @@ -4,9 +4,9 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.ComplexFunc; +import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.basic.Gen3Phase; - import com.interpss.core.acsc.BaseAcscBus; import com.interpss.dstab.DStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; @@ -88,8 +88,7 @@ public Complex getPosSeqGenPQ(){ return this.posSeqGenPQ; } - @Override - public boolean initStates(DStabBus abus){ + public boolean initStates(Bus3Phase abus){ if(this.getPosSeqGenPQ() == null) return false; this.genPQInit = new Complex(this.posSeqGenPQ.getReal(),this.posSeqGenPQ.getImaginary()); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java b/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java index 5e3ab0f..67cbc81 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java @@ -26,6 +26,8 @@ import org.interpss.mapper.odm.impl.dstab.AbstractODMDStabParserMapper; import org.interpss.mapper.odm.impl.dstab.DStabScenarioHelper; import org.ipss.threePhase.basic.Bus3Phase; +import org.ipss.threePhase.basic.Gen3Phase; +import org.ipss.threePhase.basic.Load3Phase; import org.ipss.threePhase.dynamic.DStabNetwork3Phase; import org.ipss.threePhase.util.ThreePhaseObjectFactory; @@ -37,9 +39,6 @@ import com.interpss.core.net.Branch; import com.interpss.dstab.DStab3WBranch; import com.interpss.dstab.DStabBranch; -import com.interpss.dstab.DStabBus; -import com.interpss.dstab.DStabGen; -import com.interpss.dstab.DStabLoad; import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.simu.SimuContext; import com.interpss.simu.SimuCtxType; @@ -94,7 +93,7 @@ public AbstractODM3PhaseDStabParserMapper() { dstabAlgo.setAclfAlgorithm(lfAlgo); // map the bus info - AclfBusDataHelper helper = new AclfBusDataHelper(dstabNet); + AclfBusDataHelper helper = new AclfBusDataHelper<>(dstabNet); for (JAXBElement bus : xmlNet.getBusList().getBus()) { DStabBusXmlType dstabBusXml = (DStabBusXmlType) bus.getValue(); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java index 142df6f..47a187e 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java @@ -12,7 +12,7 @@ import com.interpss.core.aclf.BaseAclfBus; import com.interpss.core.aclf.BaseAclfNetwork; import com.interpss.core.net.Branch; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; public class DistPowerFlowOutFunc { @@ -78,7 +78,7 @@ public static String busLfSummary(DStabNetwork3Phase net){ sb.append("--------------------------------------------------------------------\n"); sb.append("BusId Bus Name BaseKv Voltage A(Mag, Ang) Voltage B(Mag, Ang) Voltage C(Mag, Ang) \n"); sb.append("-------------------------------------------------------------------------------------------------\n"); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ if( bus.isActive() && bus instanceof Bus3Phase){ Bus3Phase Bus3P = (Bus3Phase) bus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java index f8e62da..f9ea3fd 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java @@ -12,6 +12,7 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Bus3Phase; +import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.IEEEFeederLineCode; import org.ipss.threePhase.basic.Load3Phase; import org.ipss.threePhase.basic.impl.Load3PhaseImpl; @@ -19,7 +20,6 @@ import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; import org.ipss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; @@ -31,9 +31,8 @@ import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.acsc.adpter.AcscXformer; import com.interpss.core.net.NetworkType; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabBranch; -import com.interpss.dstab.DStabBus; -import com.interpss.dstab.DStabGen; import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; @@ -57,7 +56,7 @@ public void test_ieee13feeder_powerflow() throws InterpssException{ assertTrue(distPFAlgo.powerflow()); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); } @@ -79,7 +78,7 @@ public void test_ieee13feeder_dstab() throws InterpssException{ assertTrue(distPFAlgo.powerflow()); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); } @@ -90,7 +89,7 @@ public void test_ieee13feeder_dstab() throws InterpssException{ for(DStabBranch bra: net.getBranchList()){ Branch3Phase bra3p = (Branch3Phase) bra; - System.out.println(bra.getId()+": "+bra3p.getBranchYabc().toString()); + System.out.println(bra.getId()+"锛� "+bra3p.getBranchYabc().toString()); } @@ -157,8 +156,7 @@ public DStabNetwork3Phase createIEEE13BusFeeder4DStab() throws InterpssException source.setVoltage(new Complex(1.0,0)); //source.set3PhaseVoltages(new Complex()); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("Source"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); constantGen.setMvaBase(1.0); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java index 49181dc..00c254b 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java @@ -50,7 +50,7 @@ public void testIndMotor() throws InterpssException{ assertTrue(distPFAlgo.powerflow()); - for(BaseAclfBus bus:net.getBusList()){ + for(BaseAclfBus bus:net.getBusList()){ Bus3Phase bus3P = (Bus3Phase) bus; System.out.println("Vabc of bus -"+bus3P.getId()+","+bus3P.get3PhaseVotlages().toString()); } @@ -61,7 +61,7 @@ public void testIndMotor() throws InterpssException{ * create the 3phase induction motor model */ - Bus3Phase bus1 = (Bus3Phase) net.getDStabBus("Bus1"); + Bus3Phase bus1 = (Bus3Phase) net.getBus("Bus1"); InductionMotor indMotor= DStabObjectFactory.createInductionMotor("1"); indMotor.setDStabBus(bus1); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java index d02e89c..7a1c198 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java @@ -10,6 +10,7 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Bus3Phase; +import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.Load3Phase; import org.ipss.threePhase.basic.impl.Load3PhaseImpl; import org.ipss.threePhase.dynamic.DStabNetwork3Phase; @@ -137,8 +138,7 @@ public DStabNetwork3Phase createFeeder() throws InterpssException{ bus1.setLoadCode(AclfLoadCode.NON_LOAD); bus1.setVoltage(new Complex(1.01,0)); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("Source"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); constantGen.setMvaBase(100); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java index ee6da47..6a2486a 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java @@ -10,6 +10,7 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Bus3Phase; +import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.IEEEFeederLineCode; import org.ipss.threePhase.basic.Load3Phase; import org.ipss.threePhase.basic.impl.Load3PhaseImpl; @@ -126,8 +127,7 @@ public DStabNetwork3Phase createFeeder(double baseVolt, int BusNum, double total bus1.setLoadCode(AclfLoadCode.NON_LOAD); bus1.setVoltage(new Complex(1.02,0)); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("Source"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); constantGen.setMvaBase(100); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java index 96b844b..3e6ffdd 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java @@ -8,6 +8,7 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Bus3Phase; +import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.Load3Phase; import org.ipss.threePhase.basic.impl.Load3PhaseImpl; import org.ipss.threePhase.dynamic.DStabNetwork3Phase; @@ -69,7 +70,7 @@ public DStabNetwork3Phase create2BusSys() throws InterpssException{ bus3.setSortNumber(1); bus3.setVoltage(new Complex(1.025,0)); - DStabGen gen2 = DStabObjectFactory.createDStabGen("Gen2"); + Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); gen2.setMvaBase(100.0); gen2.setDesiredVoltMag(1.025); //gen2.setGen(new Complex(0.7164,0.2710)); @@ -123,8 +124,7 @@ public DStabNetwork3Phase create6BusFeeder() throws InterpssException{ bus1.setLoadCode(AclfLoadCode.NON_LOAD); bus1.setVoltage(new Complex(1.01,0)); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("Source"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); constantGen.setMvaBase(100); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java index 8ab7a7b..5d7111d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java @@ -33,7 +33,7 @@ import com.interpss.core.algo.LoadflowAlgorithm; import com.interpss.core.net.Bus; import com.interpss.dstab.DStabGen; -import com.interpss.dstab.DStabilityNetwork; +import com.interpss.dstab.BaseDStabNetwork; import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; @@ -198,7 +198,7 @@ public void test_IEEE9Bus_posSeq_Dstab() throws InterpssException{ } - DStabilityNetwork dsNet =simuCtx.getDStabilityNet(); + BaseDStabNetwork dsNet =simuCtx.getDStabilityNet(); // build sequence network diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java index 92c3e0b..08dca39 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java @@ -385,8 +385,7 @@ private DStabNetwork3Phase createDistNetWithDG() throws InterpssException{ bus1.setLoadCode(AclfLoadCode.NON_LOAD); bus1.setVoltage(new Complex(1.01,0)); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("Source"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); constantGen.setMvaBase(100); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); @@ -490,8 +489,7 @@ private DStabNetwork3Phase createDistNetNoDG() throws InterpssException{ bus1.setLoadCode(AclfLoadCode.NON_LOAD); bus1.setVoltage(new Complex(1.01,0)); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("Source"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); constantGen.setMvaBase(100); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java index 3add918..4644e6a 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java @@ -9,6 +9,7 @@ import org.interpss.numeric.util.NumericUtil; import org.ipss.threePhase.basic.Branch3Phase; import org.ipss.threePhase.basic.Bus3Phase; +import org.ipss.threePhase.basic.Gen3Phase; import org.ipss.threePhase.basic.Load3Phase; import org.ipss.threePhase.basic.Phase; import org.ipss.threePhase.basic.impl.Load3PhaseImpl; @@ -292,7 +293,7 @@ private DStabNetwork3Phase create2BusSys() throws InterpssException{ bus3.setSortNumber(1); - DStabGen gen2 = DStabObjectFactory.createDStabGen("Gen2"); + Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); gen2.setMvaBase(100.0); gen2.setDesiredVoltMag(1.025); //gen2.setGen(new Complex(0.7164,0.2710)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java index 1e4adaa..f4a6046 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java @@ -28,6 +28,7 @@ import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.acsc.adpter.AcscXformer; import com.interpss.core.net.NetworkType; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabBus; public class Test_oneSource_multiFeeder { @@ -68,7 +69,7 @@ public void test_oneSource_multiFeeder() throws InterpssException{ assertTrue(distPFAlgo.powerflow()); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java index 8eccc35..00ba66d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java @@ -56,7 +56,8 @@ import com.interpss.dstab.DStabBranch; import com.interpss.dstab.DStabBus; import com.interpss.dstab.DStabGen; -import com.interpss.dstab.DStabilityNetwork; +import com.interpss.dstab.BaseDStabBus; +import com.interpss.dstab.BaseDStabNetwork; import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; @@ -97,7 +98,7 @@ public void testYMatrixabc() throws Exception{ //System.out.println(Yabc.getSparseEqnComplex()); // MatrixOutputUtil.matrixToMatlabMFile("output/ThreeBusYabc.m", Yabc.getSparseEqnComplex()); - DStabBus bus1 = net.getBus("Bus1"); + BaseDStabBus bus1 = net.getBus("Bus1"); Bus3Phase bus13p = (Bus3Phase) bus1; Gen3Phase gen1 = (Gen3Phase) bus1.getContributeGen("Gen1"); Complex3x3 yg1abc= gen1.getYabc(false); @@ -175,7 +176,7 @@ public void testYMatrixabc() throws Exception{ assertTrue(NumericUtil.equals(ytfabc.ab, yftabc.ba,1.0E-5)); assertTrue(NumericUtil.equals(ytfabc.ba, yftabc.ab,1.0E-5)); - DStabBus bus3 = net.getBus("Bus3"); + BaseDStabBus bus3 = net.getBus("Bus3"); Bus3Phase bus33p = (Bus3Phase) bus3; Gen3Phase gen2 = (Gen3Phase) bus3.getContributeGen("Gen2"); Complex3x3 yg2abc= gen2.getYabc(false); @@ -279,7 +280,7 @@ public void test_3busfeeder_unbalanced_dstab() throws Exception{ assertTrue(distPFAlgo.powerflow()); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); } @@ -369,7 +370,7 @@ public void testDstabPosSeq() throws Exception{ } - DStabilityNetwork net =simuCtx.getDStabilityNet(); + BaseDStabNetwork net =simuCtx.getDStabilityNet(); // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation @@ -444,7 +445,7 @@ public void testSolvNetwork() throws Exception{ net.initDStabNet(); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ if(bus instanceof Bus3Phase){ Bus3Phase ph3Bus = (Bus3Phase) bus; @@ -472,7 +473,7 @@ public void testSolvNetwork() throws Exception{ System.out.println(ThreePhaseAclfOutFunc.busLfSummary(net)); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ if(bus instanceof Bus3Phase){ Bus3Phase bus3p = (Bus3Phase) bus; @@ -518,8 +519,7 @@ private DStabNetwork3Phase create3BusFeeder_unbalanced() throws InterpssExceptio source.setVoltage(new Complex(1.0,0)); //source.set3PhaseVoltages(new Complex()); - DStabGen constantGen = DStabObjectFactory.createDStabGen(); - constantGen.setId("1"); + Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("1"); constantGen.setMvaBase(1.0); constantGen.setPosGenZ(new Complex(0.0,0.05)); constantGen.setNegGenZ(new Complex(0.0,0.05)); @@ -816,7 +816,7 @@ private DStabNetwork3Phase create3BusSys() throws InterpssException{ } - private DynamicEvent create3PhaseFaultEvent(String faultBusId, DStabilityNetwork net,double startTime, double durationTime){ + private DynamicEvent create3PhaseFaultEvent(String faultBusId, BaseDStabNetwork net,double startTime, double durationTime){ // define an event, set the event id and event type. DynamicEvent event1 = DStabObjectFactory.createDEvent("BusFault3P@"+faultBusId, "Bus Fault 3P@"+faultBusId, DynamicEventType.BUS_FAULT, net); @@ -824,7 +824,7 @@ private DynamicEvent create3PhaseFaultEvent(String faultBusId, DStabilityNetwork event1.setDurationSec(durationTime); // define a bus fault - DStabBus faultBus = net.getDStabBus(faultBusId); + BaseDStabBus faultBus = net.getDStabBus(faultBusId); AcscBusFault fault = CoreObjectFactory.createAcscBusFault("Bus Fault 3P@"+faultBusId, net); fault.setBus(faultBus); fault.setFaultCode(SimpleFaultCode.GROUND_3P); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java index a58d985..a8c7ae8 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java @@ -31,6 +31,7 @@ import com.interpss.core.acsc.AcscBus; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.algo.LoadflowAlgorithm; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabBus; import com.interpss.dstab.DStabGen; import com.interpss.dstab.algo.DynamicSimuAlgorithm; @@ -76,7 +77,7 @@ BusID Code Volt(pu) Angle(deg) P(pu) Q(pu) Bus net.initThreePhaseFromLfResult(); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ if(bus instanceof Bus3Phase){ Bus3Phase ph3Bus = (Bus3Phase) bus; @@ -192,7 +193,7 @@ public void testSolvNetwork() throws Exception{ //assertTrue(net.initDStabNet()); assertTrue(net.solveNetEqn()); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ if(bus instanceof Bus3Phase){ Bus3Phase ph3Bus = (Bus3Phase) bus; @@ -295,7 +296,7 @@ private DStabNetwork3Phase create2BusSys() throws InterpssException{ // create contribute generator // MVABase, power, sourceZ1/2/0 - DStabGen gen1 = DStabObjectFactory.createDStabGen("Gen1"); + Gen3Phase gen1 = ThreePhaseObjectFactory.create3PGenerator("Gen1"); gen1.setMvaBase(100.0); gen1.setDesiredVoltMag(1.04); gen1.setGen(new Complex(0.7164,0.2710)); @@ -343,7 +344,7 @@ private DStabNetwork3Phase create2BusSys() throws InterpssException{ bus3.setSortNumber(1); - DStabGen gen2 = DStabObjectFactory.createDStabGen("Gen2"); + Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); gen2.setMvaBase(100.0); gen2.setDesiredVoltMag(1.025); //gen2.setGen(new Complex(0.7164,0.2710)); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java b/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java index 539707e..9e5c547 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java @@ -5,7 +5,7 @@ import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; public class ThreePhaseAclfOutFunc { @@ -18,7 +18,7 @@ public static String busLfSummary(DStabNetwork3Phase net){ sb.append("--------------------------------------------------------------------\n"); sb.append("BusId Bus Name BaseKv Voltage A(Mag, Ang) Voltage B(Mag, Ang) Voltage C(Mag, Ang) \n"); sb.append("-------------------------------------------------------------------------------------------------\n"); - for(DStabBus bus: net.getBusList()){ + for(BaseDStabBus bus: net.getBusList()){ if( bus.isActive() && bus instanceof Bus3Phase){ Bus3Phase Bus3P = (Bus3Phase) bus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java index 148f51d..338ac6e 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java @@ -5,11 +5,12 @@ import org.ipss.threePhase.basic.Bus3Phase; import com.interpss.core.acsc.SequenceCode; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabBus; public class ThreeSeqLoadProcessor { - public static Complex3x3 getEquivLoadYabc(DStabBus bus){ + public static Complex3x3 getEquivLoadYabc(BaseDStabBus bus){ Complex loadEquivY1 = new Complex(1.0,0).divide(bus.getEquivZ1()); Complex loadEquivY2 = new Complex(1.0,0).divide(bus.getEquivZ2()); @@ -18,7 +19,7 @@ public static Complex3x3 getEquivLoadYabc(DStabBus bus){ return Complex3x3.z12_to_abc( new Complex3x3(loadEquivY1,loadEquivY2,loadEquivY0)); } - public static void initEquivLoadY120(DStabBus bus){ + public static void initEquivLoadY120(BaseDStabBus bus){ bus.initSeqEquivLoad(SequenceCode.POSITIVE); bus.initSeqEquivLoad(SequenceCode.NEGATIVE); bus.initSeqEquivLoad(SequenceCode.ZERO); diff --git a/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java b/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java index 40dd1bc..a0e34d7 100644 --- a/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java @@ -18,9 +18,9 @@ import com.interpss.core.net.Branch; import com.interpss.core.net.Bus; import com.interpss.dstab.DStabBranch; -import com.interpss.dstab.DStabBus; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabGen; -import com.interpss.dstab.DStabilityNetwork; +import com.interpss.dstab.BaseDStabNetwork; import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.algo.defaultImpl.DStabSolverImpl; @@ -31,7 +31,7 @@ public class DStab3SeqSolverImpl extends DStabSolverImpl { - private DStabilityNetwork net = null; + private BaseDStabNetwork net = null; private double negZeroSeqCurrTolerance = 1.0E-3; @@ -80,7 +80,7 @@ public boolean networkSolutionStep() throws DStabSimuException{ throw new DStabSimuException("Exception in dstabNet.solveNetEqn()"); for ( Bus busi : dstabAlgo.getNetwork().getBusList() ) { - DStabBus bus = (DStabBus)busi; + BaseDStabBus bus = (BaseDStabBus)busi; if(bus.isActive()){ if(i>=1){ if(!NumericUtil.equals(bus.getVoltage(),voltageRecTable.get(bus.getId()),this.converge_tol)) @@ -156,13 +156,13 @@ public boolean networkSolutionStep() throws DStabSimuException{ } - @Override protected void output(DStabBus bus, double t, boolean plotOutput) throws DStabSimuException { + @Override protected void output(BaseDStabBus bus, double t, boolean plotOutput) throws DStabSimuException { super.output(bus, t, plotOutput); //TODO output three-sequence bus voltages } - private Hashtable solveSeqNetwork(DStabilityNetwork subnet, SequenceCode seq,Hashtable seqCurInjTable){ + private Hashtable solveSeqNetwork(BaseDStabNetwork subnet, SequenceCode seq,Hashtable seqCurInjTable){ Hashtable busVoltResults = new Hashtable<>(); // solve the Ymatrix @@ -189,7 +189,7 @@ private Hashtable solveSeqNetwork(DStabilityNetwork subnet, Seq e1.printStackTrace(); return null; } - for(DStabBus bus:subnet.getBusList()){ + for(BaseDStabBus bus:subnet.getBusList()){ busVoltResults.put(bus.getId(), subNetY.getX(bus.getSortNumber())); } @@ -227,7 +227,7 @@ private Hashtable solveSeqNetwork(DStabilityNetwork subnet, Seq return null; } - for(DStabBus bus:subnet.getBusList()){ + for(BaseDStabBus bus:subnet.getBusList()){ busVoltResults.put(bus.getId(), negSeqYMatrix.getX(bus.getSortNumber())); } @@ -259,7 +259,7 @@ private Hashtable solveSeqNetwork(DStabilityNetwork subnet, Seq return null; } - for(DStabBus bus:subnet.getBusList()){ + for(BaseDStabBus bus:subnet.getBusList()){ busVoltResults.put(bus.getId(), zeroSeqYMatrix.getX(bus.getSortNumber())); } From c7edd4a0712640fa07edb7f6cfad501ff489e464 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Tue, 3 Jan 2017 16:53:37 +0800 Subject: [PATCH 07/19] bug fix per the core lib update --- .../src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java index f9ea3fd..a844be3 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java @@ -63,7 +63,7 @@ public void test_ieee13feeder_powerflow() throws InterpssException{ System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); System.out.println(DistPowerFlowOutFunc.busLfSummary(net)); - } + } @Test public void test_ieee13feeder_dstab() throws InterpssException{ From 9877e732efed99eeff45eb8a2af677b535e3d32f Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Thu, 2 Mar 2017 17:31:20 +0800 Subject: [PATCH 08/19] updated Hazelcast lib to 3.8 --- ipss.plugin.3phase/.classpath | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipss.plugin.3phase/.classpath b/ipss.plugin.3phase/.classpath index a879e2c..60afeba 100644 --- a/ipss.plugin.3phase/.classpath +++ b/ipss.plugin.3phase/.classpath @@ -19,6 +19,6 @@ - + From 4a187bce14516aabe6629b752bbf373b0bc239c3 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Fri, 3 Mar 2017 11:27:16 +0800 Subject: [PATCH 09/19] updated common.math lib --- ipss.plugin.3phase/.classpath | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipss.plugin.3phase/.classpath b/ipss.plugin.3phase/.classpath index 60afeba..493d2ce 100644 --- a/ipss.plugin.3phase/.classpath +++ b/ipss.plugin.3phase/.classpath @@ -4,7 +4,7 @@ - + From 13906f238344b9c9aa8d22e0b4a79fabd95eddf4 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Fri, 3 Mar 2017 11:27:16 +0800 Subject: [PATCH 10/19] updating the ISparseEqnComplex interface --- ipss.plugin.3phase/.classpath | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ipss.plugin.3phase/.classpath b/ipss.plugin.3phase/.classpath index 60afeba..5d78617 100644 --- a/ipss.plugin.3phase/.classpath +++ b/ipss.plugin.3phase/.classpath @@ -4,7 +4,7 @@ - + @@ -20,5 +20,6 @@ + From 464392763e96a0c5f7c43a5b9f39718651a66e0a Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Mon, 4 Jun 2018 17:16:01 +0800 Subject: [PATCH 11/19] updated the code per the DStab model update --- .../ipss/threePhase/dynamic/model/DynLoadModel1Phase.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java index 8611f9e..76ff748 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java @@ -64,6 +64,11 @@ public void setLoadFactor(double loadFactor) { public Complex getPosSeqEquivY() { throw new UnsupportedOperationException(); } + + @Override + public boolean changeLoad() { + throw new UnsupportedOperationException(); + } public Complex getEquivY(){ return this.equivY ; From 5c44bc5a5a636b5598b13dbe6e8ef52e1d4a9a2f Mon Sep 17 00:00:00 2001 From: Tony Huang Date: Mon, 16 Jul 2018 23:33:25 -0700 Subject: [PATCH 12/19] bug fix after switching to master --- .../dynamic/impl/DStabNetwork3phaseImpl.java | 6 +++--- .../dynamic/model/DynLoadModel1Phase.java | 14 +++++++------- .../dynamic/model/PVDistGen3Phase.java | 5 +++-- .../dynamic/model/impl/SinglePhaseACMotor.java | 16 ++++++++-------- .../test/TestSinglePhaseACMotorModel.java | 4 ++-- ipss.plugin.3phase/testData/threeBusSys.raw | 2 +- 6 files changed, 24 insertions(+), 23 deletions(-) diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java index 3d6dc06..64ed78e 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java @@ -432,7 +432,7 @@ public boolean solveNetEqn() { for(DynLoadModel1Phase load1p:bus3p.getPhaseADynLoadList()){ if(load1p.isActive()){ - iPhAInj = iPhAInj.add(load1p.getCompensateCurInj()); + iPhAInj = iPhAInj.add(load1p.getNortonCurInj()); // System.out.println("Iinj@Load-"+bus3p.getId()+", "+ load1p.getId()+","+load1p.getCompensateCurInj().toString()); } } @@ -447,7 +447,7 @@ public boolean solveNetEqn() { for(DynLoadModel1Phase load1p:bus3p.getPhaseBDynLoadList()){ if(load1p.isActive()){ - iPhBInj = iPhBInj.add(load1p.getCompensateCurInj()); + iPhBInj = iPhBInj.add(load1p.getNortonCurInj()); // System.out.println("Iinj@Load-"+bus3p.getId()+", "+ load1p.getId()+","+load1p.getCompensateCurInj().toString()); } } @@ -462,7 +462,7 @@ public boolean solveNetEqn() { for(DynLoadModel1Phase load1p:bus3p.getPhaseCDynLoadList()){ if(load1p.isActive()){ - iPhCInj = iPhCInj.add(load1p.getCompensateCurInj()); + iPhCInj = iPhCInj.add(load1p.getNortonCurInj()); // System.out.println("Iinj@Load-"+bus3p.getId()+", "+ load1p.getId()+","+load1p.getCompensateCurInj().toString()); } } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java index 76ff748..14b4860 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java @@ -20,7 +20,7 @@ public abstract class DynLoadModel1Phase extends DynamicModel1Phase implements D protected Complex equivY = null; - protected Complex compensateCurrInj; + protected Complex nortonCurrInj; protected Complex currInj2Net = null; protected Complex initLoadPQ = null; @@ -66,7 +66,7 @@ public Complex getPosSeqEquivY() { } @Override - public boolean changeLoad() { + public boolean changeLoad(double factor) { throw new UnsupportedOperationException(); } @@ -121,7 +121,7 @@ public void setLoadPQ(Complex loadPQ) { @Override public Complex getCurrInj2Net() { - return this.currInj2Net = getCompensateCurInj().subtract(getBusPhaseVoltage().multiply( getCompensateShuntY())); + return this.currInj2Net = getNortonCurInj().subtract(getBusPhaseVoltage().multiply( getCompensateShuntY())); } @Override @@ -131,13 +131,13 @@ public void setCurrInj2Net(Complex value) { } @Override - public Complex getCompensateCurInj(){ - return this.compensateCurrInj; + public Complex getNortonCurInj(){ + return this.nortonCurrInj; } @Override - public void setCompensateCurInj(Complex compCurrent){ - this.compensateCurrInj = compCurrent; + public void setNortonCurInj(Complex compCurrent){ + this.nortonCurrInj = compCurrent; } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java index 7a89d88..0d2a832 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java @@ -8,6 +8,7 @@ import org.ipss.threePhase.basic.Gen3Phase; import com.interpss.core.acsc.BaseAcscBus; +import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.DStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.common.DStabOutSymbol; @@ -88,7 +89,7 @@ public Complex getPosSeqGenPQ(){ return this.posSeqGenPQ; } - public boolean initStates(Bus3Phase abus){ + public boolean initStates(BaseDStabBus abus){ if(this.getPosSeqGenPQ() == null) return false; this.genPQInit = new Complex(this.posSeqGenPQ.getReal(),this.posSeqGenPQ.getImaginary()); @@ -127,7 +128,7 @@ private Complex getPosSeqVt(){ // in power flow and dynamics" report private Complex calcPosSeqCurInjection(){ - double freq = ((DStabBus)this.getParentGen().getParentBus()).getFreq(); + double freq = ((BaseDStabBus)this.getParentGen().getParentBus()).getFreq(); //calculate Idq with reference to the terminal voltage angle diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java index 3526947..c663eac 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java @@ -422,9 +422,9 @@ private double getMotor2SysMVARatio(){ @Override - public Complex getCompensateCurInj() { + public Complex getNortonCurInj() { - if(this.compensateCurrInj == null) calculateCompensateCurInj(); + if(this.nortonCurrInj == null) calculateCompensateCurInj(); Complex v = this.getBusPhaseVoltage(); @@ -448,21 +448,21 @@ public Complex getCompensateCurInj() { if(stage == 1 && this.remainFraction <1.0){ - this.compensateCurrInj = this.getEquivY().multiply(v).multiply(1-this.remainFraction); + this.nortonCurrInj = this.getEquivY().multiply(v).multiply(1-this.remainFraction); } else if(stage ==-1){ - this.compensateCurrInj = this.getEquivY().multiply(v); + this.nortonCurrInj = this.getEquivY().multiply(v); } //System.out.println(this.extended_device_Id+", compensate current ="+ this.compensateCurrInj); - return this.compensateCurrInj; + return this.nortonCurrInj; } private void calculateCompensateCurInj(){ - this.compensateCurrInj = new Complex(0.0d,0.0d); + this.nortonCurrInj = new Complex(0.0d,0.0d); Complex v = this.getBusPhaseVoltage(); double vmag = v.abs(); @@ -482,7 +482,7 @@ private void calculateCompensateCurInj(){ // I = -conj( (p+j*q - conj(v^2*this.equivY))/v) - this.compensateCurrInj= compPower.divide(v).conjugate().multiply(-1.0d); + this.nortonCurrInj= compPower.divide(v).conjugate().multiply(-1.0d); } @@ -506,7 +506,7 @@ private void calculateCompensateCurInj(){ @Override public Object getOutputObject() { - return this.getCompensateCurInj(); + return this.getNortonCurInj(); } @Override diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java index 4644e6a..8d80a4b 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java @@ -239,7 +239,7 @@ public void test1PAC() throws InterpssException{ // check the current injection compensation under normal running condition Complex Iinj = ac1.getLoadPQ().subtract(ac1.getEquivY().multiply(v*v).conjugate()); Iinj = Iinj.divide( bus1.get3PhaseVotlages().a_0).conjugate().multiply(-1.0); - assertTrue(ac1.getCompensateCurInj().subtract(Iinj).abs()<1.0E-6); + assertTrue(ac1.getNortonCurInj().subtract(Iinj).abs()<1.0E-6); ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); @@ -249,7 +249,7 @@ public void test1PAC() throws InterpssException{ System.out.println(ac1.getLoadPQ()); // check the current injection compesation under stalling condition - assertTrue(ac1.getCompensateCurInj().abs()==0.0); + assertTrue(ac1.getNortonCurInj().abs()==0.0); } } diff --git a/ipss.plugin.3phase/testData/threeBusSys.raw b/ipss.plugin.3phase/testData/threeBusSys.raw index e7f0578..ad955e4 100644 --- a/ipss.plugin.3phase/testData/threeBusSys.raw +++ b/ipss.plugin.3phase/testData/threeBusSys.raw @@ -6,7 +6,7 @@ 3,'BUS-3 ', 230.000,3, 0.000, 0.000, 1, 1,1.02500, 0.00, 1 0 / END OF BUS DATA, BEGIN LOAD DATA 2,'1 ',1, 1, 1, 100.000, 20.000, 0.000, 0.000, 0.000, 0.000, 1 -0 / END OF Load, BEGIN GENERATOR DATA +0 / END OF Load DATA, BEGIN GENERATOR DATA 1,'1 ', 71.640, 27.050, 9999.000, -9999.000,1.04000, 0, 100.000, 0.003, 0.2, 0.00000, 0.00000,1.00000,1, 100.0, 9999.000, -9999.000, 1,1.0000, 0,0.0000, 0,0.0000, 0,0.0000 3,'1 ', 85.000, -10.860, 99990.000,-99990.000,1.02500, 0, 100.000, 0.02, 0.2, 0.00000, 0.00000,1.00000,1, 100.0, 9999.000, -9999.000, 1,1.0000, 0,0.0000, 0,0.0000, 0,0.0000 0 / END OF GENERATOR DATA, BEGIN NON-TRANSFORMER BRANCH DATA From 177ae03d984761fdd5045f01d11aee1170343a34 Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Wed, 18 Jul 2018 14:29:06 +0800 Subject: [PATCH 13/19] removed the two classes, since there are available in the core model --- .../src/org/ipss/threePhase/basic/LoadType.java | 7 ------- .../src/org/ipss/threePhase/basic/Phase.java | 7 ------- 2 files changed, 14 deletions(-) delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/basic/LoadType.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/basic/Phase.java diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/LoadType.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/LoadType.java deleted file mode 100644 index 44efc60..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/LoadType.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.ipss.threePhase.basic; - -public enum LoadType { - - Single_Phase, Three_Phase_Wye, Three_Phase_Delta; - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Phase.java deleted file mode 100644 index 8fa66f6..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Phase.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.ipss.threePhase.basic; - -public enum Phase { - - A,B,C - -} From f814bd1ee048f947837b809e612b41cc44b18d2c Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Wed, 18 Jul 2018 14:38:22 +0800 Subject: [PATCH 14/19] updated the classes per the 3Phase model update --- .../org.eclipse.core.resources.prefs | 1 + .../org/ipss/threePhase/basic/Gen3Phase.java | 6 ++-- .../org/ipss/threePhase/basic/GenType.java | 5 ---- .../threePhase/basic/impl/Gen3PhaseImpl.java | 12 ++++---- .../dynamic/IDynamicModel1Phase.java | 7 ++--- .../dynamic/model/DynamicModel1Phase.java | 9 +++--- .../dynamic/model/DynamicModel3Phase.java | 1 - .../model/impl/SinglePhaseACMotor.java | 30 ++++++++++++++----- .../test/IEEE9_3Phase_1PAC_test.java | 17 +++++------ .../test/IEEE_13BusFeeder_Test.java | 4 +-- .../ipss/threePhase/test/Test6BusFeeder.java | 4 +-- .../Test6BusFeederCompositeLoadModel.java | 11 +++---- .../ipss/threePhase/test/Test8BusFeeder.java | 4 +-- .../org/ipss/threePhase/test/TestBase.java | 6 ++-- .../threePhase/test/TestPVDistGen3Phase.java | 6 ++-- .../test/TestSinglePhaseACMotorModel.java | 19 ++++++------ .../threePhase/test/ThreeBus_3Phase_Test.java | 8 ++--- .../threePhase/test/TwoBus_3Phase_Test.java | 6 ++-- 18 files changed, 79 insertions(+), 77 deletions(-) delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/basic/GenType.java diff --git a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs index 114a96d..11c0988 100644 --- a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs +++ b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1 +encoding//src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java=UTF-8 encoding//src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java index b51351a..fc89371 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java @@ -5,8 +5,8 @@ import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import com.interpss.core.acsc.AcscGen; import com.interpss.dstab.DStabGen; +import com.interpss.dstab.GeneratorType; public interface Gen3Phase extends DStabGen { @@ -50,9 +50,9 @@ public interface Gen3Phase extends DStabGen { public Complex3x1 getPowerflowEquivCurrInj(); - public GenType getGenType(); + public GeneratorType getGenType(); - public void setGenType(GenType type); + public void setGenType(GeneratorType type); diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/GenType.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/GenType.java deleted file mode 100644 index c9d7b79..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/GenType.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.ipss.threePhase.basic; - -public enum GenType { - Synchrounous_machine, Inverter_based; -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java index a0f78cd..3f0fb1a 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java @@ -6,8 +6,8 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.ipss.threePhase.basic.Bus3Phase; import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.GenType; +import com.interpss.dstab.GeneratorType; import com.interpss.dstab.impl.DStabGenImpl; /** @@ -30,7 +30,7 @@ public class Gen3PhaseImpl extends DStabGenImpl implements Gen3Phase { private Complex3x1 igen3Ph = null; - private GenType genType = GenType.Inverter_based; // inverter-based by default + private GeneratorType genType = GeneratorType.INVERTER_BASED; // inverter-based by default @@ -140,10 +140,10 @@ public Complex3x1 getPowerflowEquivCurrInj() { // calculate the equivalent current injection based on the GenType - if(this.getGenType().equals(GenType.Synchrounous_machine)){ + if(this.getGenType().equals(GeneratorType.SYNCH_MACHINE)){ currInj = this.getPower3Phase(UnitType.PU).divide(this.getParentBus().get3PhaseVotlages()).conjugate(); } - else if(this.getGenType().equals(GenType.Inverter_based)){ + else if(this.getGenType().equals(GeneratorType.INVERTER_BASED)){ //TODO here assuming the inverter based DG only produces positive sequence current. negative sequence current is based on //negative sequence impedance of the generator @@ -187,13 +187,13 @@ else if(this.getGenType().equals(GenType.Inverter_based)){ } @Override - public GenType getGenType() { + public GeneratorType getGenType() { return this.genType; } @Override - public void setGenType(GenType type) { + public void setGenType(GeneratorType type) { this.genType = type; } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java index b0ffd81..94758ce 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java @@ -1,14 +1,13 @@ package org.ipss.threePhase.dynamic; -import org.ipss.threePhase.basic.Phase; - +import com.interpss.core.acsc.PhaseCode; import com.interpss.dstab.device.DynamicBusDevice; public interface IDynamicModel1Phase extends DynamicBusDevice { - Phase getPhase(); + PhaseCode getPhase(); - void setPhase(Phase p); + void setPhase(PhaseCode p); } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java index a3446ba..3f7b675 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java @@ -6,11 +6,10 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Phase; import org.ipss.threePhase.dynamic.IDynamicModel1Phase; +import com.interpss.core.acsc.PhaseCode; import com.interpss.core.net.Network; -import com.interpss.core.net.impl.NameTagImpl; import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.device.impl.DynamicBusDeviceImpl; @@ -19,7 +18,7 @@ public abstract class DynamicModel1Phase extends DynamicBusDeviceImpl implements IDynamicModel1Phase { - protected Phase connectPhase = null; + protected PhaseCode connectPhase = null; protected Bus3Phase parentBus = null; public Bus3Phase getParentBus(){ @@ -30,12 +29,12 @@ public Bus3Phase getParentBus(){ } @Override - public Phase getPhase() { + public PhaseCode getPhase() { return this.connectPhase; } @Override - public void setPhase(Phase p) { + public void setPhase(PhaseCode p) { this.connectPhase = p; } diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java index 67bcec0..19c7c52 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java @@ -8,7 +8,6 @@ import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Phase; import org.ipss.threePhase.dynamic.IDynamicModel3Phase; import com.interpss.core.net.Network; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java index c663eac..94ea644 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java @@ -5,7 +5,6 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Phase; import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; import com.interpss.common.util.IpssLogger; @@ -39,7 +38,7 @@ Initialization calculations: Qo = Po * tan ( acos(CompPF) ) - 6 * (1-0.86) ^2 - V’stall is calculated to determine the voltage level at which there is an intersection between the stall power characteristic and the transition characteristic used for V < 0.86: + V芒鈧劉stall is calculated to determine the voltage level at which there is an intersection between the stall power characteristic and the transition characteristic used for V < 0.86: for ( V = 0.4; V < Vstall; V += 0.01 ) { pst = Gstall * V2 @@ -431,11 +430,11 @@ public Complex getNortonCurInj() { //TODO based on the WECC Dynamic Composite Load Model (CMPLDW) Specifications published 01-27-2015 // A/C are modeled as like "stalled A/C", if V Date: Wed, 18 Jul 2018 15:02:14 +0800 Subject: [PATCH 15/19] rename org.ipss to org.interpss --- .../org.eclipse.core.resources.prefs | 4 +- .../TestSparseEqnComplexMatrix3x3Impl.java | 2 +- .../threePhase/basic/Branch3Phase.java | 2 +- .../threePhase/basic/Branch3W3Phase.java | 2 +- .../threePhase/basic/Bus3Phase.java | 6 +-- .../threePhase/basic/Gen3Phase.java | 2 +- .../threePhase/basic/IEEEFeederLineCode.java | 2 +- .../threePhase/basic/Load3Phase.java | 2 +- .../threePhase/basic/Network3Phase.java | 2 +- .../threePhase/basic/Transformer3Phase.java | 2 +- .../basic/impl/AclfNetwork3Phase.java | 8 ++-- .../basic/impl/Branch3PhaseImpl.java | 8 ++-- .../basic/impl/Branch3W3PhaseImpl.java | 10 ++--- .../threePhase/basic/impl/Bus3PhaseImpl.java | 16 ++++---- .../threePhase/basic/impl/Gen3PhaseImpl.java | 6 +-- .../threePhase/basic/impl/Load3PhaseImpl.java | 6 +-- .../basic/impl/Transformer3PhaseImpl.java | 6 +-- .../dynamic/DStabNetwork3Phase.java | 8 ++-- .../dynamic/IDynamicModel1Phase.java | 2 +- .../dynamic/IDynamicModel3Phase.java | 4 +- .../algo/DynamicEventProcessor3Phase.java | 4 +- .../dynamic/impl/DStabNetwork3phaseImpl.java | 22 +++++----- .../dynamic/model/DStabGen3PhaseAdapter.java | 4 +- .../dynamic/model/DynGenModel3Phase.java | 6 +-- .../dynamic/model/DynLoadModel1Phase.java | 4 +- .../dynamic/model/DynLoadModel3Phase.java | 2 +- .../dynamic/model/DynamicModel1Phase.java | 6 +-- .../dynamic/model/DynamicModel3Phase.java | 6 +-- .../model/InductionMotor3PhaseAdapter.java | 8 ++-- .../dynamic/model/PVDistGen3Phase.java | 6 +-- .../model/impl/DStabGen3PhaseAdapterImpl.java | 8 ++-- .../model/impl/SinglePhaseACMotor.java | 8 ++-- .../AbstractODM3PhaseDStabParserMapper.java | 12 +++--- .../odm/ODM3PhaseDStabParserMapper.java | 2 +- .../powerflow/DistributionPFMethod.java | 2 +- .../DistributionPowerFlowAlgorithm.java | 2 +- .../powerflow/impl/DistPowerFlowOutFunc.java | 8 ++-- .../DistributionPowerFlowAlgorithmImpl.java | 18 ++++----- .../test/IEEE9Bus_3phase_LF_init_test.java | 20 +++++----- .../test/IEEE9_3Phase_1PAC_test.java | 18 ++++----- .../test/IEEE_13BusFeeder_Test.java | 24 +++++------ .../test/Test3PhaseInductionMotor.java | 14 +++---- .../threePhase/test/Test6BusFeeder.java | 24 +++++------ .../Test6BusFeederCompositeLoadModel.java | 26 ++++++------ .../threePhase/test/Test8BusFeeder.java | 26 ++++++------ .../threePhase/test/TestBase.java | 18 ++++----- .../test/TestDistributionPowerflowAlgo.java | 24 +++++------ .../test/TestODM3PhaseDstabMapper.java | 16 ++++---- .../threePhase/test/TestPVDistGen3Phase.java | 28 ++++++------- .../test/TestSinglePhaseACMotorModel.java | 26 ++++++------ .../test/Test_oneSource_multiFeeder.java | 20 +++++----- .../threePhase/test/ThreeBus_3Phase_Test.java | 32 +++++++-------- .../threePhase/test/TwoBus_3Phase_Test.java | 18 ++++----- .../threePhase/test/threePhaseTestSuite.java | 2 +- .../util/ThreePhaseAclfOutFunc.java | 6 +-- .../util/ThreePhaseObjectFactory.java | 40 +++++++++---------- .../util/ThreePhaseUtilFunction.java | 11 +++-- .../util/ThreeSeqLoadProcessor.java | 4 +- .../threeSeq/algo/DStab3SeqSolverImpl.java | 4 +- 59 files changed, 314 insertions(+), 315 deletions(-) rename ipss.plugin.3phase/src/org/{ipss => interpss}/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Branch3Phase.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Branch3W3Phase.java (68%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Bus3Phase.java (86%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Gen3Phase.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/IEEEFeederLineCode.java (97%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Load3Phase.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Network3Phase.java (87%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/Transformer3Phase.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/AclfNetwork3Phase.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/Branch3PhaseImpl.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/Branch3W3PhaseImpl.java (86%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/Bus3PhaseImpl.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/Gen3PhaseImpl.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/Load3PhaseImpl.java (88%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/basic/impl/Transformer3PhaseImpl.java (96%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/DStabNetwork3Phase.java (82%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/IDynamicModel1Phase.java (80%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/IDynamicModel3Phase.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java (95%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/DStabGen3PhaseAdapter.java (59%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/DynGenModel3Phase.java (92%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/DynLoadModel1Phase.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/DynLoadModel3Phase.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/DynamicModel1Phase.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/DynamicModel3Phase.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/PVDistGen3Phase.java (95%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java (90%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/dynamic/model/impl/SinglePhaseACMotor.java (95%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/odm/ODM3PhaseDStabParserMapper.java (85%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/powerflow/DistributionPFMethod.java (66%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/powerflow/DistributionPowerFlowAlgorithm.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/powerflow/impl/DistPowerFlowOutFunc.java (92%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/IEEE9Bus_3phase_LF_init_test.java (95%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/IEEE9_3Phase_1PAC_test.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/IEEE_13BusFeeder_Test.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/Test3PhaseInductionMotor.java (87%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/Test6BusFeeder.java (90%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/Test6BusFeederCompositeLoadModel.java (84%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/Test8BusFeeder.java (87%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/TestBase.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/TestDistributionPowerflowAlgo.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/TestODM3PhaseDstabMapper.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/TestPVDistGen3Phase.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/TestSinglePhaseACMotorModel.java (91%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/Test_oneSource_multiFeeder.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/ThreeBus_3Phase_Test.java (94%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/TwoBus_3Phase_Test.java (93%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/test/threePhaseTestSuite.java (89%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/util/ThreePhaseAclfOutFunc.java (89%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/util/ThreePhaseObjectFactory.java (74%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/util/ThreePhaseUtilFunction.java (65%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threePhase/util/ThreeSeqLoadProcessor.java (88%) rename ipss.plugin.3phase/src/org/{ipss => interpss}/threeSeq/algo/DStab3SeqSolverImpl.java (95%) diff --git a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs index 11c0988..43796d6 100644 --- a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs +++ b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,3 @@ eclipse.preferences.version=1 -encoding//src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java=UTF-8 -encoding//src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 +encoding//src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java=UTF-8 +encoding//src/org/interpss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 diff --git a/ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java b/ipss.plugin.3phase/src/org/interpss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java rename to ipss.plugin.3phase/src/org/interpss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java index 7628c2a..0ff4519 100644 --- a/ipss.plugin.3phase/src/org/ipss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java +++ b/ipss.plugin.3phase/src/org/interpss/sparse/Matrix3x3/TestSparseEqnComplexMatrix3x3Impl.java @@ -1,4 +1,4 @@ -package org.ipss.sparse.Matrix3x3; +package org.interpss.sparse.Matrix3x3; import static org.junit.Assert.assertTrue; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Branch3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Branch3Phase.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Branch3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Branch3Phase.java index 6d14944..485569d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Branch3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Branch3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Branch3W3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Branch3W3Phase.java similarity index 68% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Branch3W3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Branch3W3Phase.java index afa5792..e4c1a9c 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Branch3W3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Branch3W3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import com.interpss.dstab.DStab3WBranch; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Bus3Phase.java similarity index 86% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Bus3Phase.java index ecf9f45..fee106c 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Bus3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Bus3Phase.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import java.util.List; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; -import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; -import org.ipss.threePhase.dynamic.model.DynLoadModel3Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel1Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel3Phase; import com.interpss.dstab.BaseDStabBus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Gen3Phase.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Gen3Phase.java index fc89371..d57ebf4 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Gen3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Gen3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/IEEEFeederLineCode.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/IEEEFeederLineCode.java similarity index 97% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/IEEEFeederLineCode.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/IEEEFeederLineCode.java index 4eec1cf..d327226 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/IEEEFeederLineCode.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/IEEEFeederLineCode.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x3; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Load3Phase.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Load3Phase.java index 4db66f4..b1daafa 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Load3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Load3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Network3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Network3Phase.java similarity index 87% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Network3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Network3Phase.java index 70b7649..cdf757b 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Network3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Network3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Transformer3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Transformer3Phase.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/Transformer3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/Transformer3Phase.java index 5e676f1..fd8ea9e 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/Transformer3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/Transformer3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic; +package org.interpss.threePhase.basic; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x3; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/AclfNetwork3Phase.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/AclfNetwork3Phase.java index ab0e90d..0217fda 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/AclfNetwork3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/AclfNetwork3Phase.java @@ -1,13 +1,13 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; import java.util.Queue; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Network3Phase; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Network3Phase; import com.interpss.common.exp.InterpssException; import com.interpss.core.aclf.AclfBus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Branch3PhaseImpl.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3PhaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Branch3PhaseImpl.java index e76a6ef..59c3a72 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Branch3PhaseImpl.java @@ -1,14 +1,14 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; -import static org.ipss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; +import static org.interpss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; import com.interpss.dstab.impl.DStabBranchImpl; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Branch3W3PhaseImpl.java similarity index 86% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Branch3W3PhaseImpl.java index 96df6ff..6d86d6e 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Branch3W3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Branch3W3PhaseImpl.java @@ -1,9 +1,9 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Branch3W3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Branch3W3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import com.interpss.common.exp.InterpssException; import com.interpss.core.aclf.AclfBranchCode; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Bus3PhaseImpl.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Bus3PhaseImpl.java index bb1cd8a..3a732c0 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Bus3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Bus3PhaseImpl.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; import java.util.ArrayList; import java.util.List; @@ -6,13 +6,13 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; -import org.ipss.threePhase.dynamic.model.DynLoadModel3Phase; -import org.ipss.threePhase.util.ThreeSeqLoadProcessor; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel1Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel3Phase; +import org.interpss.threePhase.util.ThreeSeqLoadProcessor; import com.interpss.core.net.Branch; import com.interpss.dstab.impl.BaseDStabBusImpl; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Gen3PhaseImpl.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Gen3PhaseImpl.java index 3f0fb1a..c5b7df4 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Gen3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Gen3PhaseImpl.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; import com.interpss.dstab.GeneratorType; import com.interpss.dstab.impl.DStabGenImpl; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Load3PhaseImpl.java similarity index 88% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Load3PhaseImpl.java index 2c4fe92..80a585d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Load3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Load3PhaseImpl.java @@ -1,10 +1,10 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Load3Phase; import com.interpss.core.acsc.PhaseCode; import com.interpss.dstab.impl.DStabLoadImpl; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Transformer3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java similarity index 96% rename from ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Transformer3PhaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java index 4f04393..ca6ac88 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/basic/impl/Transformer3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java @@ -1,9 +1,9 @@ -package org.ipss.threePhase.basic.impl; +package org.interpss.threePhase.basic.impl; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x3; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; import com.interpss.core.acsc.XfrConnectCode; import com.interpss.core.acsc.adpter.impl.AcscXformerImpl; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/DStabNetwork3Phase.java similarity index 82% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/DStabNetwork3Phase.java index fecef81..f6500e8 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/DStabNetwork3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/DStabNetwork3Phase.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.dynamic; +package org.interpss.threePhase.dynamic; import java.util.Hashtable; import org.interpss.numeric.datatype.Complex3x1; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Network3Phase; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Network3Phase; import com.interpss.dstab.BaseDStabNetwork; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/IDynamicModel1Phase.java similarity index 80% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/IDynamicModel1Phase.java index 94758ce..5ba1e9d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel1Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/IDynamicModel1Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.dynamic; +package org.interpss.threePhase.dynamic; import com.interpss.core.acsc.PhaseCode; import com.interpss.dstab.device.DynamicBusDevice; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/IDynamicModel3Phase.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/IDynamicModel3Phase.java index 2e77429..4f36046 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/IDynamicModel3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/IDynamicModel3Phase.java @@ -1,10 +1,10 @@ -package org.ipss.threePhase.dynamic; +package org.interpss.threePhase.dynamic; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Bus3Phase; import com.interpss.core.net.ref.BusRef; import com.interpss.dstab.algo.IDynamicSimulation; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java similarity index 95% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java index 9e3c015..a62030f 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/algo/DynamicEventProcessor3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.dynamic.algo; +package org.interpss.threePhase.dynamic.algo; import static com.interpss.common.util.IpssLogger.ipssLogger; @@ -6,7 +6,7 @@ import org.interpss.numeric.NumericConstant; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.exp.IpssNumericException; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; import com.interpss.common.exp.InterpssRuntimeException; import com.interpss.common.msg.IpssMessage; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java index 64ed78e..b3eea01 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java @@ -1,7 +1,7 @@ -package org.ipss.threePhase.dynamic.impl; +package org.interpss.threePhase.dynamic.impl; import static com.interpss.common.util.IpssLogger.ipssLogger; -import static org.ipss.threePhase.util.ThreePhaseUtilFunction.threePhaseGenAptr; +import static org.interpss.threePhase.util.ThreePhaseUtilFunction.threePhaseGenAptr; import java.util.Hashtable; import java.util.LinkedList; @@ -13,15 +13,15 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.numeric.exp.IpssNumericException; import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.model.DStabGen3PhaseAdapter; -import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; -import org.ipss.threePhase.dynamic.model.DynLoadModel3Phase; -import org.ipss.threePhase.util.ThreeSeqLoadProcessor; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.model.DStabGen3PhaseAdapter; +import org.interpss.threePhase.dynamic.model.DynLoadModel1Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel3Phase; +import org.interpss.threePhase.util.ThreeSeqLoadProcessor; import com.interpss.common.datatype.Constants; import com.interpss.common.exp.InterpssException; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DStabGen3PhaseAdapter.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DStabGen3PhaseAdapter.java similarity index 59% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DStabGen3PhaseAdapter.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DStabGen3PhaseAdapter.java index 05d4122..a9e4f52 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DStabGen3PhaseAdapter.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DStabGen3PhaseAdapter.java @@ -1,6 +1,6 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; -import org.ipss.threePhase.dynamic.IDynamicModel3Phase; +import org.interpss.threePhase.dynamic.IDynamicModel3Phase; import com.interpss.core.aclf.ref.GenRef; import com.interpss.dstab.DStabGen; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynGenModel3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynGenModel3Phase.java similarity index 92% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynGenModel3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynGenModel3Phase.java index 158759b..6170ef0 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynGenModel3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynGenModel3Phase.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; public abstract class DynGenModel3Phase extends DynamicModel3Phase{ diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java index 14b4860..f98868d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel1Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java @@ -1,8 +1,8 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; -import org.ipss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Bus3Phase; import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.dynLoad.DynLoadModel; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java index f62292a..1d21939 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynLoadModel3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel1Phase.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel1Phase.java index 3f7b675..351180c 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel1Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel1Phase.java @@ -1,12 +1,12 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import java.util.Hashtable; import java.util.List; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.IDynamicModel1Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.IDynamicModel1Phase; import com.interpss.core.acsc.PhaseCode; import com.interpss.core.net.Network; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java index 19c7c52..d22067f 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/DynamicModel3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import java.util.Hashtable; import java.util.List; @@ -7,8 +7,8 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.IDynamicModel3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.IDynamicModel3Phase; import com.interpss.core.net.Network; import com.interpss.core.net.impl.NameTagImpl; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java index 912dde4..5a3461c 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import java.util.Hashtable; @@ -6,9 +6,9 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.model.DynLoadModel3Phase; -import org.ipss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel3Phase; +import org.interpss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.dynLoad.InductionMotor; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java similarity index 95% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java index 0d2a832..b516d30 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/PVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.dynamic.model; +package org.interpss.threePhase.dynamic.model; import java.util.Hashtable; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.ComplexFunc; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; import com.interpss.core.acsc.BaseAcscBus; import com.interpss.dstab.BaseDStabBus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java similarity index 90% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java index 46958e1..22e39c0 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/DStabGen3PhaseAdapterImpl.java @@ -1,12 +1,12 @@ -package org.ipss.threePhase.dynamic.model.impl; +package org.interpss.threePhase.dynamic.model.impl; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.model.DStabGen3PhaseAdapter; -import org.ipss.threePhase.dynamic.model.DynamicModel3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.model.DStabGen3PhaseAdapter; +import org.interpss.threePhase.dynamic.model.DynamicModel3Phase; import com.interpss.core.net.impl.NameTagImpl; import com.interpss.dstab.DStabGen; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java similarity index 95% rename from ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java index 94ea644..fd6fd8d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.dynamic.model.impl; +package org.interpss.threePhase.dynamic.model.impl; import java.util.Hashtable; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.model.DynLoadModel1Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.model.DynLoadModel1Phase; import com.interpss.common.util.IpssLogger; import com.interpss.dstab.DStabBus; @@ -434,7 +434,7 @@ public Complex getNortonCurInj() { for ( V = 0.4; V < Vstall; V += 0.01 ) { pst = Gstall * V2 - p_comp = Po + 12 * (0.86 芒鈧�� V) 3.2 + p_comp = Po + 12 * (0.86 芒鈧�� V) 3.2 if ( p_comp < pst ) { Vbrkstall = V diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java b/ipss.plugin.3phase/src/org/interpss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java index 67cbc81..d6f1064 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/odm/AbstractODM3PhaseDStabParserMapper.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.odm; +package org.interpss.threePhase.odm; import static com.interpss.common.util.IpssLogger.ipssLogger; @@ -25,11 +25,11 @@ import org.interpss.mapper.odm.impl.aclf.AclfBusDataHelper; import org.interpss.mapper.odm.impl.dstab.AbstractODMDStabParserMapper; import org.interpss.mapper.odm.impl.dstab.DStabScenarioHelper; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import com.interpss.CoreObjectFactory; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/ODM3PhaseDStabParserMapper.java b/ipss.plugin.3phase/src/org/interpss/threePhase/odm/ODM3PhaseDStabParserMapper.java similarity index 85% rename from ipss.plugin.3phase/src/org/ipss/threePhase/odm/ODM3PhaseDStabParserMapper.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/odm/ODM3PhaseDStabParserMapper.java index 695d36f..51f5f3d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/odm/ODM3PhaseDStabParserMapper.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/odm/ODM3PhaseDStabParserMapper.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.odm; +package org.interpss.threePhase.odm; import org.ieee.odm.model.dstab.DStabModelParser; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/DistributionPFMethod.java b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/DistributionPFMethod.java similarity index 66% rename from ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/DistributionPFMethod.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/DistributionPFMethod.java index 4bea8d5..6fdccfc 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/DistributionPFMethod.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/DistributionPFMethod.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.powerflow; +package org.interpss.threePhase.powerflow; public enum DistributionPFMethod { diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/DistributionPowerFlowAlgorithm.java b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/DistributionPowerFlowAlgorithm.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/DistributionPowerFlowAlgorithm.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/DistributionPowerFlowAlgorithm.java index c5b7b87..3bbc2c2 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/DistributionPowerFlowAlgorithm.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/DistributionPowerFlowAlgorithm.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.powerflow; +package org.interpss.threePhase.powerflow; import com.interpss.core.aclf.BaseAclfNetwork; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java similarity index 92% rename from ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java index 47a187e..e78a2ce 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/impl/DistPowerFlowOutFunc.java @@ -1,11 +1,11 @@ -package org.ipss.threePhase.powerflow.impl; +package org.interpss.threePhase.powerflow.impl; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.ComplexFunc; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; import com.interpss.core.aclf.AclfBranch; import com.interpss.core.aclf.AclfBus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java index 0905140..97c0977 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/powerflow/impl/DistributionPowerFlowAlgorithmImpl.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.powerflow.impl; +package org.interpss.threePhase.powerflow.impl; import java.util.Hashtable; import java.util.LinkedList; @@ -9,14 +9,14 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Network3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; -import org.ipss.threePhase.basic.impl.AclfNetwork3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.powerflow.DistributionPFMethod; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Network3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.impl.AclfNetwork3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.powerflow.DistributionPFMethod; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; import com.interpss.common.exp.InterpssException; import com.interpss.common.util.IpssLogger; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java similarity index 95% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java index f079f6d..c4759a5 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9Bus_3phase_LF_init_test.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -11,15 +11,15 @@ import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.numeric.util.PerformanceTimer; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.CoreObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9_3Phase_1PAC_test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9_3Phase_1PAC_test.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java index 74a6a1c..1f564e5 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE9_3Phase_1PAC_test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -15,14 +15,14 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.numeric.util.PerformanceTimer; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.model.impl.SinglePhaseACMotor; -import org.ipss.threePhase.odm.ODM3PhaseDStabParserMapper; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.model.impl.SinglePhaseACMotor; +import org.interpss.threePhase.odm.ODM3PhaseDStabParserMapper; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE_13BusFeeder_Test.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE_13BusFeeder_Test.java index 89701cc..d01fd16 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE_13BusFeeder_Test.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -10,17 +10,17 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.IEEEFeederLineCode; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.IEEEFeederLineCode; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java similarity index 87% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java index 00c254b..7d4dc00 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test3PhaseInductionMotor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java @@ -1,14 +1,14 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static org.junit.Assert.assertTrue; import org.interpss.IpssCorePlugin; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeeder.java similarity index 90% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeeder.java index 99707a6..79f7fe6 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeeder.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -8,17 +8,17 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeederCompositeLoadModel.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java similarity index 84% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeederCompositeLoadModel.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java index dab40ca..0b1f592 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeederCompositeLoadModel.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java @@ -1,21 +1,21 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static org.junit.Assert.assertTrue; import org.apache.commons.math3.complex.Complex; import org.interpss.IpssCorePlugin; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.impl.Gen3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; -import org.ipss.threePhase.dynamic.model.PVDistGen3Phase; -import org.ipss.threePhase.dynamic.model.impl.SinglePhaseACMotor; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.impl.Gen3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; +import org.interpss.threePhase.dynamic.model.PVDistGen3Phase; +import org.interpss.threePhase.dynamic.model.impl.SinglePhaseACMotor; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test8BusFeeder.java similarity index 87% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/Test8BusFeeder.java index 8ebd58c..cc72363 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test8BusFeeder.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -8,18 +8,18 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.IEEEFeederLineCode; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.IEEEFeederLineCode; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestBase.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/TestBase.java index 96c360b..a7f6f43 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestBase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; @@ -6,14 +6,14 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import com.interpss.DStabObjectFactory; import com.interpss.common.exp.InterpssException; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java index 0f32c52..381031a 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestDistributionPowerflowAlgo.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -7,17 +7,17 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; -import org.ipss.threePhase.basic.impl.AclfNetwork3Phase; -import org.ipss.threePhase.basic.impl.Gen3PhaseImpl; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.impl.AclfNetwork3Phase; +import org.interpss.threePhase.basic.impl.Gen3PhaseImpl; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.common.exp.InterpssException; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java index 5d7111d..a821030 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestODM3PhaseDstabMapper.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java @@ -1,6 +1,6 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; -import static org.ipss.threePhase.util.ThreePhaseUtilFunction.threePhaseGenAptr; +import static org.interpss.threePhase.util.ThreePhaseUtilFunction.threePhaseGenAptr; import static org.junit.Assert.assertTrue; import java.util.logging.Level; @@ -15,13 +15,13 @@ import org.interpss.mapper.odm.ODMDStabParserMapper; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.util.PerformanceTimer; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.model.DStabGen3PhaseAdapter; +import org.interpss.threePhase.odm.ODM3PhaseDStabParserMapper; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; import org.interpss.util.FileUtil; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.model.DStabGen3PhaseAdapter; -import org.ipss.threePhase.odm.ODM3PhaseDStabParserMapper; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestPVDistGen3Phase.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/TestPVDistGen3Phase.java index 433911a..c2d73c5 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestPVDistGen3Phase.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -10,19 +10,19 @@ import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; import org.interpss.numeric.util.MatrixOutputUtil; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Gen3PhaseImpl; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.model.PVDistGen3Phase; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Gen3PhaseImpl; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.model.PVDistGen3Phase; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.CoreObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java similarity index 91% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java index 182764b..247aeb6 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static org.junit.Assert.assertTrue; @@ -7,18 +7,18 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.numeric.util.NumericUtil; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.dynamic.model.impl.SinglePhaseACMotor; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; +import org.interpss.threePhase.dynamic.model.impl.SinglePhaseACMotor; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.DStabObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test_oneSource_multiFeeder.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/Test_oneSource_multiFeeder.java index f4a6046..e62ac1c 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test_oneSource_multiFeeder.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test_oneSource_multiFeeder.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; import static org.junit.Assert.assertTrue; @@ -10,15 +10,15 @@ import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.IEEEFeederLineCode; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.IEEEFeederLineCode; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.common.exp.InterpssException; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/ThreeBus_3Phase_Test.java similarity index 94% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/ThreeBus_3Phase_Test.java index adb7814..d44d227 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/ThreeBus_3Phase_Test.java @@ -1,7 +1,7 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; -import static org.ipss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; +import static org.interpss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; import static org.junit.Assert.assertTrue; import java.util.logging.Level; @@ -21,20 +21,20 @@ import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; import org.interpss.numeric.util.MatrixOutputUtil; import org.interpss.numeric.util.NumericUtil; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.IEEEFeederLineCode; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.ipss.threePhase.util.ThreePhaseAclfOutFunc; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.IEEEFeederLineCode; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; +import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; +import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.CoreObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java similarity index 93% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java index c0b9822..17a4896 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java @@ -1,6 +1,6 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; -import static org.ipss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; +import static org.interpss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; import static org.junit.Assert.assertTrue; import java.util.logging.Level; @@ -13,13 +13,13 @@ import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; import org.interpss.numeric.util.MatrixOutputUtil; import org.interpss.numeric.util.NumericUtil; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.util.ThreePhaseObjectFactory; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; +import org.interpss.threePhase.util.ThreePhaseObjectFactory; import org.junit.Test; import com.interpss.CoreObjectFactory; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/threePhaseTestSuite.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/threePhaseTestSuite.java similarity index 89% rename from ipss.plugin.3phase/src/org/ipss/threePhase/test/threePhaseTestSuite.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/test/threePhaseTestSuite.java index fffb6b4..c657474 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/threePhaseTestSuite.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/threePhaseTestSuite.java @@ -1,4 +1,4 @@ -package org.ipss.threePhase.test; +package org.interpss.threePhase.test; import org.junit.runner.RunWith; import org.junit.runners.Suite; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseAclfOutFunc.java similarity index 89% rename from ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseAclfOutFunc.java index 9e5c547..607d1b5 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseAclfOutFunc.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseAclfOutFunc.java @@ -1,9 +1,9 @@ -package org.ipss.threePhase.util; +package org.interpss.threePhase.util; import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.ComplexFunc; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; import com.interpss.dstab.BaseDStabBus; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseObjectFactory.java b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseObjectFactory.java similarity index 74% rename from ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseObjectFactory.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseObjectFactory.java index 2b44306..1129bdc 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseObjectFactory.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseObjectFactory.java @@ -1,25 +1,25 @@ -package org.ipss.threePhase.util; +package org.interpss.threePhase.util; import org.interpss.numeric.NumericConstant; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Branch3W3Phase; -import org.ipss.threePhase.basic.Bus3Phase; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.basic.Load3Phase; -import org.ipss.threePhase.basic.Network3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; -import org.ipss.threePhase.basic.impl.Branch3PhaseImpl; -import org.ipss.threePhase.basic.impl.Branch3W3PhaseImpl; -import org.ipss.threePhase.basic.impl.Bus3PhaseImpl; -import org.ipss.threePhase.basic.impl.Gen3PhaseImpl; -import org.ipss.threePhase.basic.impl.Load3PhaseImpl; -import org.ipss.threePhase.basic.impl.Transformer3PhaseImpl; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; -import org.ipss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.ipss.threePhase.dynamic.model.DStabGen3PhaseAdapter; -import org.ipss.threePhase.dynamic.model.impl.DStabGen3PhaseAdapterImpl; -import org.ipss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.ipss.threePhase.powerflow.impl.DistributionPowerFlowAlgorithmImpl; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Branch3W3Phase; +import org.interpss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Load3Phase; +import org.interpss.threePhase.basic.Network3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.impl.Branch3PhaseImpl; +import org.interpss.threePhase.basic.impl.Branch3W3PhaseImpl; +import org.interpss.threePhase.basic.impl.Bus3PhaseImpl; +import org.interpss.threePhase.basic.impl.Gen3PhaseImpl; +import org.interpss.threePhase.basic.impl.Load3PhaseImpl; +import org.interpss.threePhase.basic.impl.Transformer3PhaseImpl; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; +import org.interpss.threePhase.dynamic.model.DStabGen3PhaseAdapter; +import org.interpss.threePhase.dynamic.model.impl.DStabGen3PhaseAdapterImpl; +import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; +import org.interpss.threePhase.powerflow.impl.DistributionPowerFlowAlgorithmImpl; import com.interpss.DStabObjectFactory; import com.interpss.common.datatype.Constants; diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseUtilFunction.java b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseUtilFunction.java similarity index 65% rename from ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseUtilFunction.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseUtilFunction.java index 2b14807..7168496 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreePhaseUtilFunction.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreePhaseUtilFunction.java @@ -1,15 +1,14 @@ -package org.ipss.threePhase.util; +package org.interpss.threePhase.util; import java.util.function.Function; -import org.ipss.threePhase.basic.Branch3Phase; -import org.ipss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.basic.Branch3Phase; +import org.interpss.threePhase.basic.Gen3Phase; +import org.interpss.threePhase.basic.Transformer3Phase; +import org.interpss.threePhase.dynamic.model.DStabGen3PhaseAdapter; import com.interpss.dstab.DStabGen; -import org.ipss.threePhase.basic.Gen3Phase; -import org.ipss.threePhase.dynamic.model.DStabGen3PhaseAdapter; - public class ThreePhaseUtilFunction { diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreeSeqLoadProcessor.java similarity index 88% rename from ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java rename to ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreeSeqLoadProcessor.java index 338ac6e..eea761d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/util/ThreeSeqLoadProcessor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/util/ThreeSeqLoadProcessor.java @@ -1,8 +1,8 @@ -package org.ipss.threePhase.util; +package org.interpss.threePhase.util; import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.Complex3x3; -import org.ipss.threePhase.basic.Bus3Phase; +import org.interpss.threePhase.basic.Bus3Phase; import com.interpss.core.acsc.SequenceCode; import com.interpss.dstab.BaseDStabBus; diff --git a/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java b/ipss.plugin.3phase/src/org/interpss/threeSeq/algo/DStab3SeqSolverImpl.java similarity index 95% rename from ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java rename to ipss.plugin.3phase/src/org/interpss/threeSeq/algo/DStab3SeqSolverImpl.java index a0e34d7..14d4051 100644 --- a/ipss.plugin.3phase/src/org/ipss/threeSeq/algo/DStab3SeqSolverImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threeSeq/algo/DStab3SeqSolverImpl.java @@ -1,4 +1,4 @@ -package org.ipss.threeSeq.algo; +package org.interpss.threeSeq.algo; import java.util.Hashtable; import java.util.Map.Entry; @@ -8,7 +8,7 @@ import org.interpss.numeric.exp.IpssNumericException; import org.interpss.numeric.sparse.ISparseEqnComplex; import org.interpss.numeric.util.NumericUtil; -import org.ipss.threePhase.dynamic.DStabNetwork3Phase; +import org.interpss.threePhase.dynamic.DStabNetwork3Phase; import com.interpss.common.exp.InterpssException; import com.interpss.common.msg.IPSSMsgHub; From 91271b6e5e1328e2e352f95bc02a5ed07ccc4c2c Mon Sep 17 00:00:00 2001 From: jinjingfarm Date: Thu, 19 Jul 2018 09:33:59 +0800 Subject: [PATCH 16/19] renamed MachineType.java to MachineModelType.java, updated the classes --- .../org.eclipse.core.resources.prefs | 1 + .../model/impl/SinglePhaseACMotor.java | 30 +++++++++++++++++-- .../test/IEEE_13BusFeeder_Test.java | 4 +-- .../ipss/threePhase/test/Test6BusFeeder.java | 4 +-- .../ipss/threePhase/test/Test8BusFeeder.java | 4 +-- .../org/ipss/threePhase/test/TestBase.java | 6 ++-- .../threePhase/test/TestPVDistGen3Phase.java | 6 ++-- .../test/TestSinglePhaseACMotorModel.java | 4 +-- .../threePhase/test/ThreeBus_3Phase_Test.java | 8 ++--- .../threePhase/test/TwoBus_3Phase_Test.java | 6 ++-- 10 files changed, 49 insertions(+), 24 deletions(-) diff --git a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs index 114a96d..11c0988 100644 --- a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs +++ b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1 +encoding//src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java=UTF-8 encoding//src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java index c663eac..a40341d 100644 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java @@ -39,7 +39,7 @@ Initialization calculations: Qo = Po * tan ( acos(CompPF) ) - 6 * (1-0.86) ^2 - V’stall is calculated to determine the voltage level at which there is an intersection between the stall power characteristic and the transition characteristic used for V < 0.86: + V芒鈧劉stall is calculated to determine the voltage level at which there is an intersection between the stall power characteristic and the transition characteristic used for V < 0.86: for ( V = 0.4; V < Vstall; V += 0.01 ) { pst = Gstall * V2 @@ -431,11 +431,11 @@ public Complex getNortonCurInj() { //TODO based on the WECC Dynamic Composite Load Model (CMPLDW) Specifications published 01-27-2015 // A/C are modeled as like "stalled A/C", if V Date: Fri, 20 Jul 2018 12:50:47 +0800 Subject: [PATCH 17/19] DStab model refactor --- .../org.eclipse.core.resources.prefs | 8 +- .../dynamic/model/DynLoadModel1Phase.java | 6 +- .../dynamic/model/DynLoadModel3Phase.java | 1 - .../dynamic/model/DynamicModel3Phase.java | 4 - .../model/InductionMotor3PhaseAdapter.java | 4 +- .../dynamic/model/PVDistGen3Phase.java | 2 - .../model/impl/SinglePhaseACMotor.java | 6 +- .../test/IEEE9_3Phase_1PAC_test.java | 12 +- .../test/Test3PhaseInductionMotor.java | 2 +- .../Test6BusFeederCompositeLoadModel.java | 8 +- .../test/TestSinglePhaseACMotorModel.java | 12 +- .../model/impl/SinglePhaseACMotor.java | 899 ------------------ .../test/IEEE_13BusFeeder_Test.java | 515 ---------- .../ipss/threePhase/test/Test6BusFeeder.java | 279 ------ .../ipss/threePhase/test/Test8BusFeeder.java | 196 ---- .../org/ipss/threePhase/test/TestBase.java | 256 ----- .../threePhase/test/TestPVDistGen3Phase.java | 576 ----------- .../test/TestSinglePhaseACMotorModel.java | 331 ------- .../threePhase/test/ThreeBus_3Phase_Test.java | 833 ---------------- .../threePhase/test/TwoBus_3Phase_Test.java | 380 -------- 20 files changed, 26 insertions(+), 4304 deletions(-) delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java delete mode 100644 ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java diff --git a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs index 50c8453..6e4adb8 100644 --- a/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs +++ b/ipss.plugin.3phase/.settings/org.eclipse.core.resources.prefs @@ -1,8 +1,6 @@ +=\=\=\=\=\=\= +<<<<<<<=HEAD +>>>>>>>=refs/heads/master eclipse.preferences.version=1 -<<<<<<< HEAD encoding//src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java=UTF-8 encoding//src/org/interpss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 -======= -encoding//src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java=UTF-8 -encoding//src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java=UTF-8 ->>>>>>> refs/heads/master diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java index f98868d..19f930c 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel1Phase.java @@ -1,8 +1,6 @@ package org.interpss.threePhase.dynamic.model; import org.apache.commons.math3.complex.Complex; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.threePhase.basic.Bus3Phase; import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.dynLoad.DynLoadModel; @@ -40,13 +38,13 @@ public void setLoadPercent(double percentOfTotalLoad) { } @Override - public double getMVABase() { + public double getMvaBase() { return this.mva; } @Override - public void setMVABase(double loadMVABase) { + public void setMvaBase(double loadMVABase) { this.mva = loadMVABase; } diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java index 1d21939..0594909 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynLoadModel3Phase.java @@ -1,7 +1,6 @@ package org.interpss.threePhase.dynamic.model; import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; /** * There are many aspects that are different from the dynLoadModel, which is mainly defined for positive sequence and 1-phase scenarios. diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java index d22067f..3c33c04 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/DynamicModel3Phase.java @@ -3,15 +3,11 @@ import java.util.Hashtable; import java.util.List; -import org.apache.commons.math3.complex.Complex; -import org.interpss.numeric.datatype.Complex3x1; import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.threePhase.basic.Bus3Phase; import org.interpss.threePhase.dynamic.IDynamicModel3Phase; import com.interpss.core.net.Network; -import com.interpss.core.net.impl.NameTagImpl; import com.interpss.dstab.BaseDStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.device.impl.DynamicBusDeviceImpl; diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java index 5a3461c..3338457 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java @@ -7,8 +7,6 @@ import org.interpss.numeric.datatype.Complex3x3; import org.interpss.numeric.datatype.Unit.UnitType; import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.dynamic.model.DynLoadModel3Phase; -import org.interpss.threePhase.dynamic.model.InductionMotor3PhaseAdapter; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.dynLoad.InductionMotor; @@ -69,7 +67,7 @@ public Complex3x3 getZabc(boolean machineMVABase) { public Complex3x3 getYabc(boolean machineMVABase) { double sysMVABase = this.indMotor.getDStabBus().getNetwork().getBaseMva(); - double zMultiFactor=sysMVABase/this.indMotor.getMVABase(); // convert z from motor base to system base + double zMultiFactor=sysMVABase/this.indMotor.getMvaBase(); // convert z from motor base to system base if(Yabc == null){ // y1 = y2 = equivYSysBase, y0 = 0.0; diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java index b516d30..a62a257 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java @@ -4,12 +4,10 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.numeric.datatype.ComplexFunc; -import org.interpss.threePhase.basic.Bus3Phase; import org.interpss.threePhase.basic.Gen3Phase; import com.interpss.core.acsc.BaseAcscBus; import com.interpss.dstab.BaseDStabBus; -import com.interpss.dstab.DStabBus; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.common.DStabOutSymbol; diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java index fd6fd8d..aba98b8 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java @@ -225,14 +225,14 @@ public boolean initStates() { this.setLoadPQ(new Complex(pac,qac)); // if mva is not defined and loading factor is available - if(this.getMVABase()==0.0){ + if(this.getMvaBase()==0.0){ if(this.loadFactor >0 && this.loadFactor<=1.0) IpssLogger.getLogger().fine("AC motor MVABase will be calculated based on load factor"); else this.loadFactor = 1.0; // phase mva base is the 1/3 of the system 3phaes mva base double calcMva = this.pac*this.getDStabBus().getNetwork().getBaseMva()/3.0d/this.loadFactor; - this.setMVABase(calcMva); + this.setMvaBase(calcMva); } @@ -434,7 +434,7 @@ public Complex getNortonCurInj() { for ( V = 0.4; V < Vstall; V += 0.01 ) { pst = Gstall * V2 - p_comp = Po + 12 * (0.86 芒鈧�� V) 3.2 + p_comp = Po + 12 * (0.86 芒鈧��? V) 3.2 if ( p_comp < pst ) { Vbrkstall = V diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java index 1f564e5..97e0ed7 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/IEEE9_3Phase_1PAC_test.java @@ -85,7 +85,7 @@ public void test_IEEE9_1pac_Network_solution() throws InterpssException{ SinglePhaseACMotor ac1 = new SinglePhaseACMotor(bus5,"1"); ac1.setLoadPercent(50); ac1.setPhase(PhaseCode.A); - ac1.setMVABase(25); + ac1.setMvaBase(25); bus5.getPhaseADynLoadList().add(ac1); @@ -93,7 +93,7 @@ public void test_IEEE9_1pac_Network_solution() throws InterpssException{ SinglePhaseACMotor ac2 = new SinglePhaseACMotor(bus5,"2"); ac2.setLoadPercent(50); ac2.setPhase(PhaseCode.B); - ac2.setMVABase(25); + ac2.setMvaBase(25); bus5.getPhaseBDynLoadList().add(ac2); @@ -101,7 +101,7 @@ public void test_IEEE9_1pac_Network_solution() throws InterpssException{ SinglePhaseACMotor ac3 = new SinglePhaseACMotor(bus5,"3"); ac3.setLoadPercent(50); ac3.setPhase(PhaseCode.C); - ac3.setMVABase(25); + ac3.setMvaBase(25); bus5.getPhaseCDynLoadList().add(ac3); @@ -378,7 +378,7 @@ public void test_IEEE9_addFeeder_1pac_Dstab() throws InterpssException{ SinglePhaseACMotor ac1 = new SinglePhaseACMotor(bus12,"1"); ac1.setLoadPercent(100); ac1.setPhase(PhaseCode.A); - ac1.setMVABase(25); + ac1.setMvaBase(25); bus12.getPhaseADynLoadList().add(ac1); ac1.setVstall(0.65); ac1.setTstall(0.05); @@ -386,7 +386,7 @@ public void test_IEEE9_addFeeder_1pac_Dstab() throws InterpssException{ SinglePhaseACMotor ac2 = new SinglePhaseACMotor(bus12,"2"); ac2.setLoadPercent(100); ac2.setPhase(PhaseCode.B); - ac2.setMVABase(25); + ac2.setMvaBase(25); bus12.getPhaseBDynLoadList().add(ac2); ac2.setVstall(0.65); ac2.setTstall(0.05); @@ -395,7 +395,7 @@ public void test_IEEE9_addFeeder_1pac_Dstab() throws InterpssException{ SinglePhaseACMotor ac3 = new SinglePhaseACMotor(bus12,"3"); ac3.setLoadPercent(100); ac3.setPhase(PhaseCode.C); - ac3.setMVABase(25); + ac3.setMvaBase(25); bus12.getPhaseCDynLoadList().add(ac3); ac3.setVstall(0.65); ac3.setTstall(0.05); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java index 7d4dc00..7e253e7 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java @@ -72,7 +72,7 @@ public void testIndMotor() throws InterpssException{ indMotor.setRr1(0.01); - indMotor.setMVABase(50); + indMotor.setMvaBase(50); indMotor.setH(1.0); InductionMotor3PhaseAdapter indMotor3Phase = new InductionMotor3PhaseAdapter(indMotor); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java index 0b1f592..785ef4c 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java @@ -62,7 +62,7 @@ public void testFeederCompositeLoad() throws InterpssException{ SinglePhaseACMotor ac1 = new SinglePhaseACMotor(loadBus,"1"); ac1.setLoadPercent(50); ac1.setPhase(PhaseCode.A); - ac1.setMVABase(5); + ac1.setMvaBase(5); ac1.setTstall(99); // disable ac stalling loadBus.getPhaseADynLoadList().add(ac1); @@ -71,7 +71,7 @@ public void testFeederCompositeLoad() throws InterpssException{ SinglePhaseACMotor ac2 = new SinglePhaseACMotor(loadBus,"2"); ac2.setLoadPercent(50); ac2.setPhase(PhaseCode.B); - ac2.setMVABase(5); + ac2.setMvaBase(5); ac2.setTstall(99); // disable ac stalling loadBus.getPhaseBDynLoadList().add(ac2); @@ -80,7 +80,7 @@ public void testFeederCompositeLoad() throws InterpssException{ SinglePhaseACMotor ac3 = new SinglePhaseACMotor(loadBus,"3"); ac3.setLoadPercent(50); ac3.setPhase(PhaseCode.C); - ac3.setMVABase(5); + ac3.setMvaBase(5); ac3.setTstall(99); // disable ac stalling loadBus.getPhaseCDynLoadList().add(ac3); @@ -97,7 +97,7 @@ public void testFeederCompositeLoad() throws InterpssException{ indMotor.setRr1(0.01); - indMotor.setMVABase(8); + indMotor.setMvaBase(8); indMotor.setH(1.0); InductionMotor3PhaseAdapter indMotor3Phase = new InductionMotor3PhaseAdapter(indMotor); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java index 247aeb6..ac460ab 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestSinglePhaseACMotorModel.java @@ -63,7 +63,7 @@ public void test_dstab_1PAC() throws InterpssException{ SinglePhaseACMotor ac1 = new SinglePhaseACMotor(bus1,"1"); ac1.setLoadPercent(25); ac1.setPhase(PhaseCode.A); - ac1.setMVABase(25); + ac1.setMvaBase(25); bus1.getPhaseADynLoadList().add(ac1); @@ -71,7 +71,7 @@ public void test_dstab_1PAC() throws InterpssException{ SinglePhaseACMotor ac2 = new SinglePhaseACMotor(bus1,"2"); ac2.setLoadPercent(30); ac2.setPhase(PhaseCode.B); - ac2.setMVABase(30); + ac2.setMvaBase(30); bus1.getPhaseBDynLoadList().add(ac2); @@ -79,7 +79,7 @@ public void test_dstab_1PAC() throws InterpssException{ SinglePhaseACMotor ac3 = new SinglePhaseACMotor(bus1,"3"); ac3.setLoadPercent(20); ac3.setPhase(PhaseCode.C); - ac3.setMVABase(20); + ac3.setMvaBase(20); bus1.getPhaseCDynLoadList().add(ac3); // run dstab to test 1-phase ac model @@ -165,7 +165,7 @@ public void test1PAC() throws InterpssException{ SinglePhaseACMotor ac1 = new SinglePhaseACMotor(bus1,"1"); ac1.setLoadPercent(50); ac1.setPhase(PhaseCode.A); - ac1.setMVABase(50); + ac1.setMvaBase(50); bus1.getPhaseADynLoadList().add(ac1); @@ -173,7 +173,7 @@ public void test1PAC() throws InterpssException{ SinglePhaseACMotor ac2 = new SinglePhaseACMotor(bus1,"2"); ac2.setLoadPercent(50); ac2.setPhase(PhaseCode.B); - ac2.setMVABase(50); + ac2.setMvaBase(50); bus1.getPhaseBDynLoadList().add(ac2); @@ -181,7 +181,7 @@ public void test1PAC() throws InterpssException{ SinglePhaseACMotor ac3 = new SinglePhaseACMotor(bus1,"3"); ac3.setLoadPercent(50); ac3.setPhase(PhaseCode.C); - ac3.setMVABase(50); + ac3.setMvaBase(50); bus1.getPhaseCDynLoadList().add(ac3); // run dstab to test 1-phase ac model diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java deleted file mode 100644 index 77fe6a4..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ /dev/null @@ -1,899 +0,0 @@ -package org.ipss.threePhase.dynamic.model.impl; - -import java.util.Hashtable; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.dynamic.model.DynLoadModel1Phase; - -import com.interpss.common.util.IpssLogger; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.common.DStabOutSymbol; -/** - * This dynamic model of single phase AC motor must be used under the condition that the - * loads in the power flow data is input as Load3phase in the threePhaseLoadList. - * - * Reference: WECC Dynamic Composite Load Model (CMPLDW) Specifications published 01-27-2015 - * The compressor motor model is divided into two parts: - Motor A : Those compressors that cann't restart soon after stalling - Motor B : Those compressors that can restart soon after stalling - - The motors are represented by algebraic equations, as follows: - If V > 0.86: - P = Po * (1 + df ) - Q = [Qo + 6 * (V -0.86) ^2 ] * (1 - 3.3 * df ) - If V < 0.86 and V > Vstal - P = [Po + 12 * (0.86- V)^3.2 ] * (1 +df ) - Q = [Qo + 11 * (0.86 -V)^ 2.5 ] * (1 - 3.3 * df ) - If V < Vstall: - P = Gstall * V * V - Q = - Bstall * V * V - If V < Vstall for t > Tstall, motor stays in stalled state. - - For restartable motor, if V > Vrst for t > Trst, the motor restarts. - - Initialization calculations: - Qo = Po * tan ( acos(CompPF) ) - 6 * (1-0.86) ^2 - - V芒鈧劉stall is calculated to determine the voltage level at which there is an intersection between the stall power characteristic and the transition characteristic used for V < 0.86: - for ( V = 0.4; V < Vstall; V += 0.01 ) - { - pst = Gstall * V2 - p_comp = Po + 12 * (0.86- V) 3.2 - if ( p_comp < pst ) - { - Vstall = V - break - } - } - - * - * @author Qiuhua - * - */ -public class SinglePhaseACMotor extends DynLoadModel1Phase { - - - - //Model data - - private double p=0,q=0; // load pq values without considering load characterisitc factors - private double P0 = 0.0,Q0 =0.0; // initial load exponential characteristic factors - private double pac =0.0,qac = 0.0; // actual load pq after considering load characterisitc factors - // there are 3 stages: 0 - running; 1 - stall ; 2- a fraction of motors restart - private int stage = 0; - private double powerFactor = 0.97; - - - - //stalling setting - private double Vstall = 0.6; - private double Rstall = 0.1140; //0.1240; - private double Xstall = 0.1040; // 0.1140; - private double Tstall = 0.033; - - private double LFadj = 0.0; - - private double Kp1 = 0.0; - private double Np1 = 1.0; - - private double Kq1 = 6.0; - private double Nq1 = 2.0; - - private double Kp2 = 12.0; - private double Np2 = 3.2; - - - private double Kq2 = 11.0; - private double Nq2 = 2.5; - - //breaking point - private double Vbrk =0.86; - - - // restart - private double Frst = 0.0; // 0.2 - private double Vrst = 0.9; - private double Trst = 0.4; - - // real and reactive power frequency sensitivity - private double CmpKpf = 1.0; - private double CmpKqf = -3.3; - - - //UVRelay - private double fuvr = 0.0; - private double vtr1 = 0.0; - private double ttr1 = 999.0; - private double vtr2 = 0.0; - private double ttr2 = 999.0; - - //Contractor setting - private double Vc1off = 0.5; - private double Vc2off = 0.4; - private double Vc1on = 0.6; - private double Vc2on = 0.5; - - //Thermal relay setting - // Based on "WECC air conditioner motor model test report", Page.75 - private double Tth = 8; - private double Th1t = 1.3; - private double Th2t = 4.3; - - - - //Affiliated control component - //UV Relay - - //Contractor - - //Thermal relays - // the tripping characterisic is modeled as y = Ax +B for x within {Th1t, Th2t} - - private double thEqnA = -1.0/3; - private double thEqnB = 1.433; // default value - - private double temperature = 0.0d; - private double remainFraction = 1.0; // Remained fraction on-line after thermal tripping - - // Timers for relays and internal controls - - private double UVRelayTimer1 = 0.0; - private double UVRelayTimer2 = 0.0; - - //Timers for stalling and recovery - private double acStallTimer = 0.0; - private double acRestartTimer = 0.0; - - - private Complex loadPQFactor = null; - - private double pfactor = 0.; - private double qfactor = 0.; - private double pfactorStall = 0.; - private double qfactorStall = 0.; - - private boolean disableInternalStallControl = false; - - private Hashtable states = null; - private static final String OUT_SYMBOL_P ="ACMotorP"; - private static final String OUT_SYMBOL_Q ="ACMotorQ"; - private static final String OUT_SYMBOL_VT ="ACMotorVt"; - private static final String OUT_SYMBOL_STATE ="ACMotorState"; - private static final String OUT_SYMBOL_RemainFraction ="ACMotorRemainFraction"; - private String extended_device_Id = ""; - - public SinglePhaseACMotor(){ - states = new Hashtable<>(); - - } - - public SinglePhaseACMotor(String Id){ - this(); - this.id = Id; - } - - /** - * create an instance of SinglePhaseACMotor - * @param bus - * @param Id - */ - public SinglePhaseACMotor(Bus3Phase bus,String Id){ - this(Id); - this.setDStabBus(bus); - - - } - - - @Override - public boolean initStates() { - boolean flag = true; - - - - //TODO the initLoad is the total load at the bus ,include constant Z and I load - //In the future, this may need to be update to consider the constant P load only - - //TODO 11/19/2015 need to add three-phase InitLoad to differentiate phase loads - - - Complex phaseTotalLoad = null; - Complex3x1 totalLoad3Phase = this.getParentBus().get3PhaseTotalLoad(); - if(totalLoad3Phase.abs()>0.0){ - switch(this.getPhase()){ - case A: phaseTotalLoad = totalLoad3Phase.a_0; break; - case B: phaseTotalLoad = totalLoad3Phase.b_1; break; - case C: phaseTotalLoad = totalLoad3Phase.c_2; break; - } - - } - else{ // TODO assuming three-phase balanced - phaseTotalLoad = this.getDStabBus().getInitLoad(); - - } - - pac = phaseTotalLoad.getReal()*this.loadPercent/100.0d; - qac = pac*Math.tan(Math.acos(this.powerFactor)); - - - // pac and qac is the initial power - this.setInitLoadPQ(new Complex(pac,qac)); - this.setLoadPQ(new Complex(pac,qac)); - - // if mva is not defined and loading factor is available - if(this.getMVABase()==0.0){ - if(this.loadFactor >0 && this.loadFactor<=1.0) - IpssLogger.getLogger().fine("AC motor MVABase will be calculated based on load factor"); - else - this.loadFactor = 1.0; - // phase mva base is the 1/3 of the system 3phaes mva base - double calcMva = this.pac*this.getDStabBus().getNetwork().getBaseMva()/3.0d/this.loadFactor; - this.setMVABase(calcMva); - } - - - - //Check whether a compensation is needed. If yes, calculate the compensation shuntY - - // if bus.loadQ < ld1pac.q, then compShuntB = ld1pac.q-bus.loadQ - if(qac >phaseTotalLoad.getImaginary()){ - double v = this.getBusPhaseVoltage().abs(); - double b = (qac - phaseTotalLoad.getImaginary())/v/v; - this.compensateShuntY = new Complex(0,b); - } - - - // update the Vstall and Vbrk if necessary - //Vstall(adj) = Vstall*(1+LFadj*(CompLF-1)) - //Vbrk(adj) = Vbrk*(1+LFadj*(CompLF-1)) - - // Calcuate the P0 and Q0 at stage 0 - P0 = 1 - Kp1*Math.pow((1-Vbrk),Np1); - Q0 = Math.sqrt(1 - this.powerFactor*this.powerFactor)/this.powerFactor - - this.Kq1*Math.pow((1.0-Vbrk),Nq1); - - Complex loadPQFactor = calcLoadCharacterFactor(); - p = pac/loadPQFactor.getReal(); - q = qac/loadPQFactor.getImaginary(); - - - //calculate the thermal protection equation coefficient - if(Th1t >0 && Th2t>Th1t){ - thEqnA = -1/(Th2t-Th1t); - thEqnB = Th2t/(Th2t-Th1t); - } - else{ - thEqnA = 0.0; - thEqnB = 0.0; - } - - this.equivY = this.getEquivY(); - - extended_device_Id = "ACMotor_"+this.getId()+"@"+this.getParentBus().getId()+"_phase"+this.getPhase(); - this.states.put(DStabOutSymbol.OUT_SYMBOL_BUS_DEVICE_ID, extended_device_Id); - - return flag; - } - - - - - /** - * The thermal protection heating increase is modeled as - * differential equation, thus it must be represented with the nextStep(); - * - * The stall timer as well as the recovery timer are also counted and updated in this method - */ - @Override - public boolean nextStep(double dt, DynamicSimuMethod method) { - boolean flag = true; - - // stage update - if(!this.disableInternalStallControl){ - if(acStallTimer>=Tstall){ - stage = 1; - } - } - - // switch to restart stage - if (stage == 1 && Frst>0.0 && acRestartTimer >= Trst) - stage = 2; - - // check whether the ac motor is stalled or not - double v = this.getBusPhaseVoltage().abs(); - - if(v<=this.Vstall){ - acStallTimer += dt; - } - else{ - acStallTimer = 0.0; - } - - - // update restart counter - if(stage == 1 && v>this.Vrst && Frst>0.0){ - acRestartTimer +=dt; - } - else - acRestartTimer = 0.0; - - - - // thermal overload protection - /* - * When the motor is stalled, the temperature of the motor is computed by - integrating I^2 R through the thermal time constant Tth. If the temperature reaches Th2t, all of the load is - tripped. If the temperature is between Th1t and Th2t, a linear fraction of the load is tripped. The - restartable and non-restartable portions of the load are computed separately. The fractions of the Frst - and 1-Frst parts of the load that have not been tripped by the thermal protection is output as fthA and fthB, respectively. - */ - - if(stage ==1){ - - - // Iac_pu = Vt/Zstall - Complex zstall = new Complex(this.Rstall,this.Xstall); - double Iac_pu = this.getBusPhaseVoltage().divide(zstall).abs(); - - //dTemp = (Ic*Ic*Rstall- Temp)/Tth - double dTemp = (Iac_pu* Iac_pu*this.Rstall)/this.Tth; - - this.temperature += dTemp*dt; - - if(this.temperature>=this.Th1t){ - if(this.thEqnA<0.0){ - this.remainFraction = this.temperature*this.thEqnA+this.thEqnB; - - if( this.remainFraction <0) this.remainFraction = 0.0; - - - // stage = -1, means it is tripped; - if(this.remainFraction <=0.0) stage = -1; - } - } - } - - - // contractor - /* - * Contactor--If the voltage drops to below Vc2off, all of the load is tripped; if the voltage is between - Vc1off and Vc2off, a linear fraction of the load is tripped. If the voltage later recovers to above Vc2on, all - of the motor is reconnected; if the voltage recovers to between Vc2on and Vc1on, a linear fraction of the - load is reconnected. The fraction of the load that has not been tripped by the contactor is output as fcon. - */ - - - //TODO the compensation current is only update once in order to solve the convergence issue. - - calculateCompensateCurInj(); - - //loadPQFactor = calcLoadCharacterFactor(); - - return flag; - } - - - private Complex calcLoadCharacterFactor(){ - // this can be replaced by a protected method getBusVoltageMag(), which is applicable to both pos-seq and single-phase - double v = getBusPhaseVoltage().abs(); - // exponential factor - - if(v>this.Vbrk & stage == 0){ - pfactor = P0 +Kp1*Math.pow((v-Vbrk),Np1); - qfactor = Q0 +Kq1*Math.pow((v-Vbrk),Nq1); - } - //TODO remove the constraint v> Vstall & - else if( v Vstall & stage == 0){ - pfactor = P0 +Kp2*Math.pow((Vbrk-v),Np2); - qfactor = Q0 +Kq2*Math.pow((Vbrk-v),Nq2); - pfactorStall = pfactor; - qfactorStall = qfactor; - } - //TODO how about v<= Vstall? modeled as a constant impedance Zstall?? - else if(v<= Vstall & stage == 0){ - - //TODO Need to be updated - pfactor = pfactorStall*(v/Vstall)*(v/Vstall); - qfactor = qfactorStall*(v/Vstall)*(v/Vstall); - } - - // consider the frequency dependence - if(pfactor !=0.0 ||qfactor!=0){ - double dFreq = getDStabBus().getFreq()-1.0; - pfactor = pfactor*(1+CmpKpf*dFreq); - qfactor = qfactor*(1+CmpKqf*dFreq/Math.sqrt(1-powerFactor*powerFactor)); - } - - return new Complex(pfactor,qfactor); - } - - - - - private double getMotor2SysMVARatio(){ - double ratio = this.remainFraction*this.mva*3.0d/this.getDStabBus().getNetwork().getBaseMva(); - return ratio; - } - - - @Override - public Complex getNortonCurInj() { - - if(this.nortonCurrInj == null) calculateCompensateCurInj(); - - Complex v = this.getBusPhaseVoltage(); - - //TODO based on the WECC Dynamic Composite Load Model (CMPLDW) Specifications published 01-27-2015 - // A/C are modeled as like "stalled A/C", if V getStates(Object ref) { - states.put(OUT_SYMBOL_P, this.getPac()); - states.put(OUT_SYMBOL_Q, this.getQac()); - states.put(OUT_SYMBOL_VT, this.getBusPhaseVoltage().abs()); - states.put(OUT_SYMBOL_STATE, stage==1?0:(stage ==-1? -1:1)); - states.put(OUT_SYMBOL_RemainFraction, this.remainFraction); - return this.states; - } - - @Override - public Complex getEquivY() { - if(this.equivY == null){ - Complex zstall = new Complex(this.Rstall,this.Xstall); - Complex y = new Complex(1.0,0).divide(zstall); - this.equivY = y.multiply(this.mva/this.getDStabBus().getNetwork().getBaseMva()*3.0d); - } - return this.equivY; - } - - - - @Override - public Complex getLoadPQ() { - - - return this.loadPQ = new Complex(getPac(),getQac()); - - } - - - @Override - public String getScripts() { - throw new UnsupportedOperationException(); - } - - @Override - public void setScripts(String value) { - throw new UnsupportedOperationException(); - - } - - - public double getPac() { - if(this.stage ==1){ - double vt = this.getBusPhaseVoltage().abs(); - Complex PQ =this.getEquivY().conjugate().multiply(vt*vt*this.remainFraction); - this.pac = PQ.getReal(); - this.qac = PQ.getImaginary(); - } - else if (stage ==-1) pac = 0.0; - - return pac; - } - - public void setPac(double pac) { - this.pac = pac; - } - - public double getQac() { - if(this.stage ==1){ - double vt = this.getBusPhaseVoltage().abs(); - Complex PQ =this.getEquivY().conjugate().multiply(vt*vt*this.remainFraction); - this.pac = PQ.getReal(); - this.qac = PQ.getImaginary(); - } - else if (stage ==-1) qac = 0.0; - return qac; - } - - public void setQac(double qac) { - this.qac = qac; - } - - public int getStage() { - return stage; - } - - public void setStage(int stage) { - this.stage = stage; - } - - public double getPowerFactor() { - return powerFactor; - } - - public void setPowerFactor(double powerFactor) { - this.powerFactor = powerFactor; - } - - public double getVstall() { - return Vstall; - } - - public void setVstall(double vstall) { - Vstall = vstall; - } - - public double getRstall() { - return Rstall; - } - - public void setRstall(double rstall) { - Rstall = rstall; - } - - public double getXstall() { - return Xstall; - } - - public void setXstall(double xstall) { - Xstall = xstall; - } - - public double getTstall() { - return Tstall; - } - - public void setTstall(double tstall) { - Tstall = tstall; - } - - public double getLFadj() { - return LFadj; - } - - public void setLFadj(double lFadj) { - LFadj = lFadj; - } - - public double getKp1() { - return Kp1; - } - - public void setKp1(double kp1) { - Kp1 = kp1; - } - - public double getNp1() { - return Np1; - } - - public void setNp1(double np1) { - Np1 = np1; - } - - public double getKq1() { - return Kq1; - } - - public void setKq1(double kq1) { - Kq1 = kq1; - } - - public double getNq1() { - return Nq1; - } - - public void setNq1(double nq1) { - Nq1 = nq1; - } - - public double getKp2() { - return Kp2; - } - - public void setKp2(double kp2) { - Kp2 = kp2; - } - - public double getNp2() { - return Np2; - } - - public void setNp2(double np2) { - Np2 = np2; - } - - public double getKq2() { - return Kq2; - } - - public void setKq2(double kq2) { - Kq2 = kq2; - } - - public double getNq2() { - return Nq2; - } - - public void setNq2(double nq2) { - Nq2 = nq2; - } - - public double getVbrk() { - return Vbrk; - } - - public void setVbrk(double vbrk) { - Vbrk = vbrk; - } - - public double getFrst() { - return Frst; - } - - public void setFrst(double frst) { - Frst = frst; - } - - public double getVrst() { - return Vrst; - } - - public void setVrst(double vrst) { - Vrst = vrst; - } - - public double getTrst() { - return Trst; - } - - public void setTrst(double trst) { - Trst = trst; - } - - public double getCmpKpf() { - return CmpKpf; - } - - public void setCmpKpf(double cmpKpf) { - CmpKpf = cmpKpf; - } - - public double getCmpKqf() { - return CmpKqf; - } - - public void setCmpKqf(double cmpKqf) { - CmpKqf = cmpKqf; - } - - public double getFuvr() { - return fuvr; - } - - public void setFuvr(double fuvr) { - this.fuvr = fuvr; - } - - public double getVtr1() { - return vtr1; - } - - public void setVtr1(double vtr1) { - this.vtr1 = vtr1; - } - - public double getTtr1() { - return ttr1; - } - - public void setTtr1(double ttr1) { - this.ttr1 = ttr1; - } - - public double getVtr2() { - return vtr2; - } - - public void setVtr2(double vtr2) { - this.vtr2 = vtr2; - } - - public double getTtr2() { - return ttr2; - } - - public void setTtr2(double ttr2) { - this.ttr2 = ttr2; - } - - public double getVc1off() { - return Vc1off; - } - - public void setVc1off(double vc1off) { - Vc1off = vc1off; - } - - public double getVc2off() { - return Vc2off; - } - - public void setVc2off(double vc2off) { - Vc2off = vc2off; - } - - public double getVc1on() { - return Vc1on; - } - - public void setVc1on(double vc1on) { - Vc1on = vc1on; - } - - public double getVc2on() { - return Vc2on; - } - - public void setVc2on(double vc2on) { - Vc2on = vc2on; - } - - public double getTth() { - return Tth; - } - - public void setTth(double tth) { - Tth = tth; - } - - public double getTh1t() { - return Th1t; - } - - public void setTh1t(double th1t) { - Th1t = th1t; - } - - public double getTh2t() { - return Th2t; - } - - public void setTh2t(double th2t) { - Th2t = th2t; - } - - public double getUVRelayTimer1() { - return UVRelayTimer1; - } - - public void setUVRelayTimer1(double uVRelayTimer1) { - UVRelayTimer1 = uVRelayTimer1; - } - - public double getUVRelayTimer2() { - return UVRelayTimer2; - } - - public void setUVRelayTimer2(double uVRelayTimer2) { - UVRelayTimer2 = uVRelayTimer2; - } - - - - public void disableInternalStallControl(boolean disableStallControl){ - this.disableInternalStallControl = disableStallControl; - } - - @Override - public double getAccumulatedLoadChangeFactor() { - // TODO Auto-generated method stub - return 0; - } - - @Override - public void setAccumulatedLoadChangeFactor(double value) { - // TODO Auto-generated method stub - - } - - @Override - public Complex getCompensateCurInj() { - // TODO Auto-generated method stub - return null; - } - - @Override - public void setCompensateCurInj(Complex value) { - // TODO Auto-generated method stub - - } - - - - - - - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java deleted file mode 100644 index 68e821a..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/IEEE_13BusFeeder_Test.java +++ /dev/null @@ -1,515 +0,0 @@ -package org.ipss.threePhase.test; - -import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; -import static org.junit.Assert.assertTrue; - -import java.util.logging.Level; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.IpssCorePlugin; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.IEEEFeederLineCode; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.junit.Test; - -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.acsc.XfrConnectCode; -import com.interpss.core.acsc.adpter.AcscXformer; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.BaseDStabBus; -import com.interpss.dstab.DStabBranch; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; - -public class IEEE_13BusFeeder_Test { - - private final double ft2mile = 1.0/5280.0; - - //@Test - public void test_ieee13feeder_powerflow() throws InterpssException{ - - IpssCorePlugin.init(); - IpssCorePlugin.setLoggerLevel(Level.INFO); - - DStabNetwork3Phase net = createIEEE13BusFeeder4DStab(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(net); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - for(BaseDStabBus bus: net.getBusList()){ - System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); - } - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); - System.out.println(DistPowerFlowOutFunc.busLfSummary(net)); - - } - - @Test - public void test_ieee13feeder_dstab() throws InterpssException{ - - IpssCorePlugin.init(); - IpssCorePlugin.setLoggerLevel(Level.INFO); - - DStabNetwork3Phase net = createIEEE13BusFeeder4DStab(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(net); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - for(BaseDStabBus bus: net.getBusList()){ - System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); - } - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); - System.out.println(DistPowerFlowOutFunc.busLfSummary(net)); - - // check Yabc of branches - for(DStabBranch bra: net.getBranchList()){ - - Branch3Phase bra3p = (Branch3Phase) bra; - System.out.println(bra.getId()+"锛� "+bra3p.getBranchYabc().toString()); - } - - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - //distNet.addDynamicEvent(create3PhaseFaultEvent("Bus2",distNet,0.2,0.05),"3phaseFault@Bus2"); - - - StateMonitor sm = new StateMonitor(); - //sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus2-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus684","Bus652"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - - - if(dstabAlgo.initialization()){ - //System.out.println(ThreePhaseAclfOutFunc.busLfSummary(net)); - System.out.println(net.getMachineInitCondition()); - - dstabAlgo.performSimulation(); - } - System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - - } - - public DStabNetwork3Phase createIEEE13BusFeeder4DStab() throws InterpssException{ - - double baseVolt115kV = 115000.0; - double baseVolt4160 = 4160.0; //4.16 kV - double baseVolt480 = 480.0; - double vabase = 1.0E6; // 1MW - double kvabase = 1000.0; - - double zBase4160 = baseVolt4160*baseVolt4160/vabase; - double zBase480 = baseVolt480*baseVolt480/vabase; - - double loadScaleFactor =3; - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - net.setBaseKva(kvabase); - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase source = ThreePhaseObjectFactory.create3PDStabBus("SubBus", net); - source.setAttributes("subsation bus", ""); - source.setBaseVoltage(baseVolt115kV); - // set the bus to a non-generator bus - source.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - source.setLoadCode(AclfLoadCode.NON_LOAD); - source.setVoltage(new Complex(1.0,0)); - //source.set3PhaseVoltages(new Complex()); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); - constantGen.setMvaBase(1.0); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - source.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "SubBus", "Source"); - - mach.setRating(1, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(baseVolt115kV); - mach.setH(50000.0); - mach.setXd1(0.05); - - - - Bus3Phase bus650 = ThreePhaseObjectFactory.create3PDStabBus("Bus650", net); - bus650.setAttributes("feeder 650", ""); - bus650.setBaseVoltage(baseVolt4160); - // set the bus to a non-generator bus - bus650.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - bus650.setLoadCode(AclfLoadCode.NON_LOAD); - - // voltage regulator bus RG60 - Bus3Phase busRG60 = ThreePhaseObjectFactory.create3PDStabBus("BusRG60", net); - busRG60.setAttributes("feeder RG60", ""); - busRG60.setBaseVoltage(baseVolt4160); - // set the bus to a non-generator bus - busRG60.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - busRG60.setLoadCode(AclfLoadCode.NON_LOAD); - - - Bus3Phase bus632 = ThreePhaseObjectFactory.create3PDStabBus("Bus632", net); - bus632.setAttributes("feeder 632", ""); - bus632.setBaseVoltage(baseVolt4160); - // set the bus to a non-generator bus - - // set the bus to a constant power load bus - bus632.setLoadCode(AclfLoadCode.NON_LOAD); - - - Bus3Phase bus633 = ThreePhaseObjectFactory.create3PDStabBus("Bus633", net); - bus633.setAttributes("feeder 633", ""); - bus633.setBaseVoltage(baseVolt4160); - - // set the bus to a constant power load bus - bus633.setLoadCode(AclfLoadCode.NON_LOAD); - - - Bus3Phase bus634 = ThreePhaseObjectFactory.create3PDStabBus("Bus634", net); - bus634.setAttributes("feeder 634", ""); - bus634.setBaseVoltage(baseVolt480); - // set the bus to a constant power load bus - bus634.setLoadCode(AclfLoadCode.CONST_P); - /* - * New Load.634a Bus1=634.1 Phases=1 Conn=Wye Model=1 kV=0.277 kW=160 kvar=110 - New Load.634b Bus1=634.2 Phases=1 Conn=Wye Model=1 kV=0.277 kW=120 kvar=90 - New Load.634c Bus1=634.3 Phases=1 Conn=Wye Model=1 kV=0.277 kW=120 kvar=90 - */ - Load3Phase load634 = new Load3PhaseImpl(); - load634.set3PhaseLoad( new Complex3x1(new Complex(0.160,0.11),new Complex(0.120,0.09),new Complex(0.120,0.090)).multiply(loadScaleFactor)); - bus634.getThreePhaseLoadList().add(load634); - - - - - Bus3Phase bus645 = ThreePhaseObjectFactory.create3PDStabBus("Bus645", net); - bus645.setAttributes("feeder 645", ""); - bus645.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus645.setLoadCode(AclfLoadCode.CONST_P); - //New Load.645 Bus1=645.2 Phases=1 Conn=Wye Model=1 kV=2.4 kW=170 kvar=125 - Load3Phase load645 = new Load3PhaseImpl(); - load645.set3PhaseLoad( new Complex3x1(new Complex(0.0),new Complex(0.170,0.125),new Complex(0)).multiply(loadScaleFactor)); - bus645.getThreePhaseLoadList().add(load645); - - - - - - Bus3Phase bus646 = ThreePhaseObjectFactory.create3PDStabBus("Bus646", net); - bus646.setAttributes("feeder 646", ""); - bus646.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - - bus646.setLoadCode(AclfLoadCode.CONST_P); - //New Load.646 Bus1=646.2.3 Phases=1 Conn=Delta Model=2 kV=4.16 kW=230 kvar=132 - Load3Phase load646 = new Load3PhaseImpl(); - load646.set3PhaseLoad( new Complex3x1(new Complex(0.0),new Complex(0.230/2,0.132/2),new Complex(0.230/2,0.132/2)).multiply(loadScaleFactor)); - bus646.getThreePhaseLoadList().add(load646); - - - - - Bus3Phase bus671 = ThreePhaseObjectFactory.create3PDStabBus("Bus671", net); - bus671.setAttributes("feeder 671", ""); - bus671.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus671.setLoadCode(AclfLoadCode.CONST_P); - // New Load.671 Bus1=671.1.2.3 Phases=3 Conn=Delta Model=1 kV=4.16 kW=1155 kvar=660 - Load3Phase load671 = new Load3PhaseImpl(); - load671.set3PhaseLoad(new Complex3x1(new Complex(1.155/3,0.660/3),new Complex(1.155/3,0.660/3),new Complex(1.155/3,0.660/3)).multiply(loadScaleFactor)); - bus671.getThreePhaseLoadList().add(load671); - - - - - Bus3Phase bus684 = ThreePhaseObjectFactory.create3PDStabBus("Bus684", net); - bus684.setAttributes("feeder 684", ""); - bus684.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus684.setLoadCode(AclfLoadCode.NON_LOAD); - - - Bus3Phase bus611 = ThreePhaseObjectFactory.create3PDStabBus("Bus611", net); - bus611.setAttributes("feeder 611", ""); - bus611.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus611.setLoadCode(AclfLoadCode.CONST_P); - //New Load.611 Bus1=611.3 Phases=1 Conn=Wye Model=5 kV=2.4 kW=170 kvar=80 - Load3Phase load611 = new Load3PhaseImpl(); - load611.set3PhaseLoad(new Complex3x1(new Complex(0),new Complex(0),new Complex(0.170,0.080)).multiply(loadScaleFactor)); - bus611.getThreePhaseLoadList().add(load611); - - - - - Bus3Phase bus652 = ThreePhaseObjectFactory.create3PDStabBus("Bus652", net); - bus652.setAttributes("feeder 652", ""); - bus652.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus652.setLoadCode(AclfLoadCode.CONST_P); - //New Load.652 Bus1=652.1 Phases=1 Conn=Wye Model=2 kV=2.4 kW=128 kvar=86 - Load3Phase load652 = new Load3PhaseImpl(); - load652.set3PhaseLoad(new Complex3x1(new Complex(0.128,0.086),new Complex(0),new Complex(0.,0.)).multiply(loadScaleFactor)); - bus652.getThreePhaseLoadList().add(load652); - - Bus3Phase bus680 = ThreePhaseObjectFactory.create3PDStabBus("Bus680", net); - bus680.setAttributes("feeder 680", ""); - bus680.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus680.setLoadCode(AclfLoadCode.NON_LOAD); - - - Bus3Phase bus692 = ThreePhaseObjectFactory.create3PDStabBus("Bus692", net); - bus692.setAttributes("feeder 692", ""); - bus692.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus692.setLoadCode(AclfLoadCode.CONST_P); - // New Load.692 Bus1=692.3.1 Phases=1 Conn=Delta Model=5 kV=4.16 kW=170 kvar=151 - Load3Phase load692 = new Load3PhaseImpl(); - load692.set3PhaseLoad(new Complex3x1(new Complex(0.170/2,0.151/2),new Complex(0),new Complex(0.170/2,0.151/2)).multiply(loadScaleFactor)); - bus692.getThreePhaseLoadList().add(load692); - - - - Bus3Phase bus675 = ThreePhaseObjectFactory.create3PDStabBus("Bus675", net); - bus675.setAttributes("feeder 675", ""); - bus675.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus675.setLoadCode(AclfLoadCode.CONST_P); - /* - * New Load.675a Bus1=675.1 Phases=1 Conn=Wye Model=1 kV=2.4 kW=485 kvar=190 - New Load.675b Bus1=675.2 Phases=1 Conn=Wye Model=1 kV=2.4 kW=68 kvar=60 - New Load.675c Bus1=675.3 Phases=1 Conn=Wye Model=1 kV=2.4 kW=290 kvar=212 - */ - - Load3Phase load675 = new Load3PhaseImpl(); - load675.set3PhaseLoad(new Complex3x1(new Complex(0.485,0.190),new Complex(0.068,0.06),new Complex(0.290,0.212)).multiply(loadScaleFactor)); - bus675.getThreePhaseLoadList().add(load675); - - - // !Bus 670 is the concentrated point load of the distributed load on line 632 to 671 located at 1/3 the distance from node 632 - Bus3Phase bus670 = ThreePhaseObjectFactory.create3PDStabBus("Bus670", net); - bus670.setAttributes("feeder 670", ""); - bus670.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus670.setLoadCode(AclfLoadCode.CONST_P); - /* - * New Load.670a Bus1=670.1 Phases=1 Conn=Wye Model=1 kV=2.4 kW=17 kvar=10 - New Load.670b Bus1=670.2 Phases=1 Conn=Wye Model=1 kV=2.4 kW=66 kvar=38 - New Load.670c Bus1=670.3 Phases=1 Conn=Wye Model=1 kV=2.4 kW=117 kvar=68 - */ - Load3Phase load670 = new Load3PhaseImpl(); - load670.set3PhaseLoad(new Complex3x1(new Complex(0.017,0.01),new Complex(0.066,0.038),new Complex(0.117,0.068)).multiply(loadScaleFactor)); - bus670.getThreePhaseLoadList().add(load670); - - ///////////////////////////////capacitors ///////////////////// - /* !CAPACITOR DEFINITIONS - New Capacitor.Cap1 Bus1=675 phases=3 kVAR=600 kV=4.16 - New Capacitor.Cap2 Bus1=611.3 phases=1 kVAR=100 kV=2.4 - */ - Load3Phase shunty675 = new Load3PhaseImpl(); - shunty675.set3PhaseLoad(new Complex3x1(new Complex(0,-0.2),new Complex(0.0,-0.2),new Complex(0.0,-0.2)).multiply(loadScaleFactor)); - bus675.getThreePhaseLoadList().add(shunty675); - - - Load3Phase shunty611 = new Load3PhaseImpl(); - shunty611.set3PhaseLoad(new Complex3x1(new Complex(0.0, 0.0),new Complex(0.0,0.0),new Complex(0.0,-0.1)).multiply(loadScaleFactor)); - bus611.getThreePhaseLoadList().add(shunty611); - - - ////////////////////////////////// transformers //////////////////////////////////////////////////////// - - Branch3Phase xfr1_2 = ThreePhaseObjectFactory.create3PBranch("SubBus", "Bus650", "0", net); - xfr1_2.setBranchCode(AclfBranchCode.XFORMER); - xfr1_2.setToTurnRatio(1.0); - xfr1_2.setZ( new Complex( 0.0, 0.0001 )); - - - AcscXformer xfr0 = acscXfrAptr.apply(xfr1_2); - xfr0.setFromConnectGroundZ(XfrConnectCode.DELTA11, new Complex(0.0,0.0), UnitType.PU); - xfr0.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - Branch3Phase xfr2_3 = ThreePhaseObjectFactory.create3PBranch( "Bus650", "BusRG60","0", net); - xfr2_3.setBranchCode(AclfBranchCode.XFORMER); - xfr2_3.setToTurnRatio(1.055); - xfr2_3.setZ( new Complex( 0.0, 0.00001 )); - - - AcscXformer xfr2 = acscXfrAptr.apply(xfr2_3); - xfr2.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - xfr2.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - Branch3Phase xfr633_634 = ThreePhaseObjectFactory.create3PBranch("Bus633", "Bus634", "0", net); - xfr633_634.setBranchCode(AclfBranchCode.XFORMER); - xfr633_634.setToTurnRatio(1.0); - xfr633_634.setZ( new Complex( 0.0, 0.02 )); - - - AcscXformer xfr3 = acscXfrAptr.apply(xfr633_634); - xfr3.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - xfr3.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - ///////////////////////////////////////////////////////// LINES //////////////////////////////////////// - - //!LINE DEFINITIONS - //New Line.650632 Phases=3 Bus1=RG60.1.2.3 Bus2=632.1.2.3 LineCode=mtx601 Length=2000 units=ft - Branch3Phase Line650_632 = ThreePhaseObjectFactory.create3PBranch("BusRG60", "Bus632", "0", net); - Line650_632.setBranchCode(AclfBranchCode.LINE); - - double length =2000.0*ft2mile; // convert to miles - Complex3x3 zabc_pu = IEEEFeederLineCode.zMtx601.multiply(length/zBase4160); - Line650_632.setZabc(zabc_pu); - - //New Line.632670 Phases=3 Bus1=632.1.2.3 Bus2=670.1.2.3 LineCode=mtx601 Length=667 units=ft - - Branch3Phase Line632_670 = ThreePhaseObjectFactory.create3PBranch("Bus632", "Bus670", "0", net); - Line632_670.setBranchCode(AclfBranchCode.LINE); - length =667.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx601.multiply(length/zBase4160); - Line632_670.setZabc(zabc_pu); - - - //New Line.670671 Phases=3 Bus1=670.1.2.3 Bus2=671.1.2.3 LineCode=mtx601 Length=1333 units=ft - Branch3Phase Line670_671 = ThreePhaseObjectFactory.create3PBranch("Bus670", "Bus671", "0", net); - Line670_671.setBranchCode(AclfBranchCode.LINE); - length =1333.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx601.multiply(length/zBase4160); - Line670_671.setZabc(zabc_pu); - - - //New Line.671680 Phases=3 Bus1=671.1.2.3 Bus2=680.1.2.3 LineCode=mtx601 Length=1000 units=ft - Branch3Phase Line671_680 = ThreePhaseObjectFactory.create3PBranch("Bus671", "Bus680", "0", net); - Line671_680.setBranchCode(AclfBranchCode.LINE); - length =1000.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx601.multiply(length/zBase4160); - Line671_680.setZabc(zabc_pu); - - - //New Line.632633 Phases=3 Bus1=632.1.2.3 Bus2=633.1.2.3 LineCode=mtx602 Length=500 units=ft - Branch3Phase Line632_633 = ThreePhaseObjectFactory.create3PBranch("Bus632", "Bus633", "0", net); - Line632_633.setBranchCode(AclfBranchCode.LINE); - length =500.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx602.multiply(length/zBase4160); - Line632_633.setZabc(zabc_pu); - - - - //New Line.632645 Phases=2 Bus1=632.3.2 Bus2=645.3.2 LineCode=mtx603 Length=500 units=ft - - Branch3Phase Line632_645 = ThreePhaseObjectFactory.create3PBranch("Bus632", "Bus645", "0", net); - Line632_645.setBranchCode(AclfBranchCode.LINE); - length =500.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx603.multiply(length/zBase4160); - Line632_645.setZabc(zabc_pu); - - - - - //New Line.645646 Phases=2 Bus1=645.3.2 Bus2=646.3.2 LineCode=mtx603 Length=300 units=ft - - Branch3Phase Line645_646 = ThreePhaseObjectFactory.create3PBranch("Bus645", "Bus646", "0", net); - Line645_646.setBranchCode(AclfBranchCode.LINE); - length = 300.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx603.multiply(length/zBase4160); - Line645_646.setZabc(zabc_pu); - - - - //New Line.692675 Phases=3 Bus1=692.1.2.3 Bus2=675.1.2.3 LineCode=mtx606 Length=500 units=ft - - Branch3Phase Line692_675 = ThreePhaseObjectFactory.create3PBranch("Bus692", "Bus675", "0", net); - Line692_675.setBranchCode(AclfBranchCode.LINE); - length = 500.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx606.multiply(length/zBase4160); - Line692_675.setZabc(zabc_pu); - - - // New Line.671684 Phases=2 Bus1=671.1.3 Bus2=684.1.3 LineCode=mtx604 Length=300 units=ft - - Branch3Phase Line671_684 = ThreePhaseObjectFactory.create3PBranch("Bus671", "Bus684", "0", net); - Line671_684.setBranchCode(AclfBranchCode.LINE); - length = 300.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx604.multiply(length/zBase4160); - Line671_684.setZabc(zabc_pu); - - - - // New Line.684611 Phases=1 Bus1=684.3 Bus2=611.3 LineCode=mtx605 Length=300 units=ft - - Branch3Phase Line684_611 = ThreePhaseObjectFactory.create3PBranch("Bus684", "Bus611", "0", net); - Line684_611.setBranchCode(AclfBranchCode.LINE); - length = 300.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx605.multiply(length/zBase4160); - Line684_611.setZabc(zabc_pu); - - // New Line.684652 Phases=1 Bus1=684.1 Bus2=652.1 LineCode=mtx607 Length=800 units=ft - - Branch3Phase Line684_652 = ThreePhaseObjectFactory.create3PBranch("Bus684", "Bus652", "0", net); - Line684_652.setBranchCode(AclfBranchCode.LINE); - length = 800.0*ft2mile; // convert to miles - zabc_pu = IEEEFeederLineCode.zMtx607.multiply(length/zBase4160); - Line684_652.setZabc(zabc_pu); - - - - //!SWITCH DEFINITIONS - //New Line.671692 Phases=3 Bus1=671 Bus2=692 Switch=y r1=1e-4 r0=1e-4 x1=0.000 x0=0.000 c1=0.000 c0=0.000 - - Branch3Phase Line671_692 = ThreePhaseObjectFactory.create3PBranch("Bus671", "Bus692", "0", net); - Line671_692.setBranchCode(AclfBranchCode.LINE); - zabc_pu = new Complex3x3(new Complex(1.0E-6,0),new Complex(1.0E-6,0),new Complex(1.0e-6,0)); - Line671_692.setZabc(zabc_pu); - - return net; - - } - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java deleted file mode 100644 index e1a0476..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test6BusFeeder.java +++ /dev/null @@ -1,279 +0,0 @@ -package org.ipss.threePhase.test; - -import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; -import static org.junit.Assert.assertTrue; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.IpssCorePlugin; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.junit.Test; - -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.acsc.XfrConnectCode; -import com.interpss.core.acsc.adpter.AcscXformer; -import com.interpss.core.acsc.fault.SimpleFaultCode; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.cache.StateMonitor.MonitorRecord; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; - -public class Test6BusFeeder { - - @Test - public void testFeederPowerflow() throws InterpssException{ - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createFeeder(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - System.out.println("power@source = "+distNet.getBus("Bus1").getContributeGen("Source").getGen().toString()); - } - - @Test - public void test6BusFeederDstabSim() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = this.createFeeder(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - distNet, IpssCorePlugin.getMsgHub()); - - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - distNet.addDynamicEvent(DStabObjectFactory.createBusFaultEvent("Bus1", distNet, SimpleFaultCode.GROUND_LG,new Complex(0,0.0),new Complex(0,0.0), 0.1,0.07), "SLG@Bus1"); - - - StateMonitor sm = new StateMonitor(); - //sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus2-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus2","Bus1"}); - sm.add3PhaseBusStdMonitor(new String[]{"Bus2","Bus1"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(distNet)); - System.out.println(distNet.getMachineInitCondition()); - - //dstabAlgo.performSimulation(); - while(dstabAlgo.getSimuTime()<=dstabAlgo.getTotalSimuTimeSec()){ - - dstabAlgo.solveDEqnStep(true); - - for(String busId: sm.getBusPhAVoltTable().keySet()){ - - sm.addBusPhaseVoltageMonitorRecord( busId,dstabAlgo.getSimuTime(), ((Bus3Phase)distNet.getBus(busId)).get3PhaseVotlages()); - } - - } - } - //System.out.println(sm.toCSVString(sm.getBusAngleTable())); - //System.out.println(sm.toCSVString(sm.getBusVoltTable())); - MonitorRecord rec1 = sm.getBusVoltTable().get("Bus2").get(1); - MonitorRecord rec20 = sm.getBusVoltTable().get("Bus2").get(20); - assertTrue(Math.abs(rec1.getValue()-rec20.getValue())<1.0E-4); - - - System.out.println(sm.toCSVString(sm.getBusPhAVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhBVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhCVoltTable())); - } - - - public DStabNetwork3Phase createFeeder() throws InterpssException{ - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - bus1.setAttributes("69 kV feeder source", ""); - bus1.setBaseVoltage(69000.0); - // set the bus to a non-generator bus - bus1.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - bus1.setLoadCode(AclfLoadCode.NON_LOAD); - bus1.setVoltage(new Complex(1.01,0)); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); - constantGen.setMvaBase(100); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - bus1.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "Bus1", "Source"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(69000.0); - mach.setH(50000.0); - mach.setXd1(0.05); - - - Bus3Phase bus2 = ThreePhaseObjectFactory.create3PDStabBus("Bus2", net); - bus2.setAttributes("feeder bus 2", ""); - bus2.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus2.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - bus2.setLoadCode(AclfLoadCode.CONST_P); - - - Branch3Phase xfr1_2 = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus2", "0", net); - xfr1_2.setBranchCode(AclfBranchCode.XFORMER); - xfr1_2.setToTurnRatio(1.02); - xfr1_2.setZ( new Complex( 0.0, 0.04 )); - //xfr1_2.setZabc(Complex3x3.createUnitMatrix().multiply(new Complex( 0.0, 0.04 ))); - //xfr1_2.setZ0( new Complex(0.0, 0.4 )); - - - AcscXformer xfr0 = acscXfrAptr.apply(xfr1_2); - xfr0.setFromConnectGroundZ(XfrConnectCode.DELTA11, new Complex(0.0,0.0), UnitType.PU); - xfr0.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - bus3.setAttributes("feeder bus 3", ""); - bus3.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus3.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus3.setLoadCode(AclfLoadCode.CONST_P); - - -// Gen3Phase gen1 = new Gen3PhaseImpl(); -// gen1.setParentBus(bus3); -// gen1.setId("PVGen"); -// gen1.setGen(new Complex(0.5,0)); // total gen power, system mva based -// -// bus3.getThreePhaseGenList().add(gen1); - - - Bus3Phase bus4 = ThreePhaseObjectFactory.create3PDStabBus("Bus4", net); - bus4.setAttributes("feeder bus 4", ""); - bus4.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus4.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus4.setLoadCode(AclfLoadCode.CONST_P); - - - Bus3Phase bus5 = ThreePhaseObjectFactory.create3PDStabBus("Bus5", net); - bus5.setAttributes("feeder bus 5", ""); - bus5.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus5.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus5.setLoadCode(AclfLoadCode.CONST_P); - - - Bus3Phase bus6 = ThreePhaseObjectFactory.create3PDStabBus("Bus6", net); - bus6.setAttributes("feeder bus 6", ""); - bus6.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus6.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus6.setLoadCode(AclfLoadCode.CONST_P); - - - for(int i =2;i<=6;i++){ - Bus3Phase loadBus = (Bus3Phase) net.getBus("Bus"+i); - Load3Phase load1 = new Load3PhaseImpl(); - load1.set3PhaseLoad(new Complex3x1(new Complex(0.01,0.001),new Complex(0.01,0.001),new Complex(0.01,0.001))); - loadBus.getThreePhaseLoadList().add(load1); - - } - - for(int i =2;i<6;i++){ - Branch3Phase Line2_3 = ThreePhaseObjectFactory.create3PBranch("Bus"+i, "Bus"+(i+1), "0", net); - Line2_3.setBranchCode(AclfBranchCode.LINE); - Complex3x3 zabcActual = this.getFeederZabc601().multiply(5.28); - Double zbase = net.getBus("Bus"+i).getBaseVoltage()*net.getBus("Bus"+i).getBaseVoltage()/net.getBaseMva()/1.0E6; - Line2_3.setZabc(zabcActual.multiply(1/zbase)); - - } - - - - return net; - - - - } - - //TODO 1 Mile = 5280 feets - //ohms per 1000ft - /* - * New linecode.601 nphases=3 BaseFreq=60 - ~ rmatrix = [0.065625 | 0.029545455 0.063920455 | 0.029924242 0.02907197 0.064659091] - ~ xmatrix = [0.192784091 | 0.095018939 0.19844697 | 0.080227273 0.072897727 0.195984848] - ~ cmatrix = [3.164838036 | -1.002632425 2.993981593 | -0.632736516 -0.372608713 2.832670203] - - unit: per 1000 ft - */ - private Complex3x3 getFeederZabc601(){ - Complex3x3 zabc= new Complex3x3(); - zabc.aa = new Complex(0.065625,0.192784091); - zabc.ab = new Complex( 0.029545455,0.095018939); - zabc.ac = new Complex(0.029924242,0.080227273); - zabc.ba = zabc.ab; - zabc.bb = new Complex(0.063920455, 0.19844697); - zabc.bc = new Complex(0.02907197,0.072897727); - zabc.ca = zabc.ac; - zabc.cb = zabc.bc; - zabc.cc = new Complex(0.064659091,0.195984848); - - return zabc; - - } - - private Complex3x3 getFeederYabc601(){ - return new Complex3x3(); - } - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java deleted file mode 100644 index 8e9ae60..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/Test8BusFeeder.java +++ /dev/null @@ -1,196 +0,0 @@ -package org.ipss.threePhase.test; - -import static org.junit.Assert.assertTrue; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.IpssCorePlugin; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.IEEEFeederLineCode; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.junit.Test; - -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.cache.StateMonitor.MonitorRecord; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; - -public class Test8BusFeeder { - - @Test - public void testPowerFlow() throws InterpssException{ - IpssCorePlugin.init(); - double baseVolt = 12470; - int feederBusNum = 8; - double totalLoad = 100; - double loadPF = 0.90; - double loadUnbalanceFactor = 0.0; - double [] loadDistribution = new double[]{0.25,0.20,0.15,0.15,0.1,0.1,0.05}; - double [] feederSectionLenghth = new double[]{0.5,0.5,1.0,1.0,1.5,2,2}; // unit in mile - //double [] feederSectionLenghth = new double[]{0.5,0.5,1.0,1.5,0.5,0.5, 1}; // unit in mile - DStabNetwork3Phase net = createFeeder(baseVolt,feederBusNum,totalLoad,loadPF,loadDistribution,loadUnbalanceFactor,feederSectionLenghth); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(net); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); - - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - //distNet.addDynamicEvent(create3PhaseFaultEvent("Bus2",distNet,0.2,0.05),"3phaseFault@Bus2"); - - - StateMonitor sm = new StateMonitor(); - //sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus2-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus2","Bus1"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(net)); - System.out.println(net.getMachineInitCondition()); - - dstabAlgo.performSimulation(); - } - System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - MonitorRecord rec1 = sm.getBusVoltTable().get("Bus2").get(1); - MonitorRecord rec20 = sm.getBusVoltTable().get("Bus2").get(20); - assertTrue(Math.abs(rec1.getValue()-rec20.getValue())<1.0E-4); - } - - - /** - * The first bus is feeder sending end, no load is connected; all the loads are connected at bus [2,...BusNum]; - * - * The base case of the feeder is assumed to serve 8 MW load, feeder impedances are re-scaled based on the totalMW - * @param totalMW - * @return - * @throws InterpssException - */ -public DStabNetwork3Phase createFeeder(double baseVolt, int BusNum, double totalMW, double loadPF, double[] loadPercentAry, double loadUnbalanceFactor, double[] sectionLength) throws InterpssException{ - - double scaleFactor = totalMW; - double zscaleFactor = totalMW/8.0; - double q2pfactor = Math.tan(Math.acos(loadPF)); - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - bus1.setAttributes("feeder source", ""); - bus1.setBaseVoltage(baseVolt); - // set the bus to a non-generator bus - bus1.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - bus1.setLoadCode(AclfLoadCode.NON_LOAD); - bus1.setVoltage(new Complex(1.02,0)); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); - constantGen.setMvaBase(100); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - bus1.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "Bus1", "Source"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(baseVolt); - mach.setH(50000.0); - mach.setXd1(0.05); - - - - for(int i =2;i<=BusNum;i++){ - Bus3Phase bus = ThreePhaseObjectFactory.create3PDStabBus("Bus"+i, net); - bus.setAttributes("feeder bus "+i, ""); - bus.setBaseVoltage(baseVolt); - // set the bus to a non-generator bus - bus.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus.setLoadCode(AclfLoadCode.CONST_P); - - Load3Phase load1 = new Load3PhaseImpl(); - Complex3x1 load3Phase = new Complex3x1(new Complex(0.01,0.01*q2pfactor),new Complex(0.01,0.01*q2pfactor).multiply(1-loadUnbalanceFactor),new Complex(0.01,0.01*q2pfactor).multiply(1+loadUnbalanceFactor)); - load1.set3PhaseLoad(load3Phase.multiply(scaleFactor*loadPercentAry[i-2])); - bus.getThreePhaseLoadList().add(load1); - - if(i ==3 || i == 5 || i==7){ - Load3Phase Shuntload = new Load3PhaseImpl(); - Complex3x1 shuntY = new Complex3x1(new Complex(0,-0.0005),new Complex(0.0,-0.0005),new Complex(0.0,-0.0005)); - Shuntload.set3PhaseLoad(shuntY.multiply(scaleFactor)); - bus.getThreePhaseLoadList().add(Shuntload); - } - - } - - int k =0; - for(int i =1;i=3 && k<5) - zabcActual = IEEEFeederLineCode.zMtx602; - else if (k>=5) - zabcActual = IEEEFeederLineCode.zMtx606; - - zabcActual = zabcActual.multiply(sectionLength[k]/zscaleFactor); - - Double zbase = net.getBus("Bus"+i).getBaseVoltage()*net.getBus("Bus"+i).getBaseVoltage()/net.getBaseMva()/1.0E6; - Line2_3.setZabc(zabcActual.multiply(1/zbase)); - - - k++; - } - - - - return net; - - - - } - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java deleted file mode 100644 index 159f736..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestBase.java +++ /dev/null @@ -1,256 +0,0 @@ -package org.ipss.threePhase.test; - -import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; - -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.acsc.XfrConnectCode; -import com.interpss.core.acsc.adpter.AcscXformer; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; - -public class TestBase { - - - public DStabNetwork3Phase create2BusSys() throws InterpssException{ - - DStabNetwork3Phase net = new DStabNetwork3phaseImpl(); - - double baseKva = 100000.0; - - // set system basekva for loadflow calculation - net.setBaseKva(baseKva); - - //Bus 1 - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - // set bus name and description attributes - bus1.setAttributes("Bus 1", ""); - // set bus base voltage - bus1.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus1.setGenCode(AclfGenCode.NON_GEN); - // adapt the bus object to a swing bus object - bus1.setLoadCode(AclfLoadCode.CONST_P); - - //bus1.setLoadPQ(new Complex(1.0,0.2)); - - Load3Phase load1 = new Load3PhaseImpl(); - load1.set3PhaseLoad(new Complex3x1(new Complex(1.0,0.2),new Complex(1.0,0.2),new Complex(1.0,0.2))); - bus1.getThreePhaseLoadList().add(load1); - - - - // Bus 3 - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - // set bus name and description attributes - bus3.setAttributes("Bus 3", ""); - // set bus base voltage - bus3.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus3.setGenCode(AclfGenCode.SWING); - - bus3.setSortNumber(1); - bus3.setVoltage(new Complex(1.025,0)); - - Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); - gen2.setMvaBase(100.0); - gen2.setDesiredVoltMag(1.025); - //gen2.setGen(new Complex(0.7164,0.2710)); - gen2.setPosGenZ(new Complex(0.02,0.2)); - gen2.setNegGenZ(new Complex(0.02,0.2)); - gen2.setZeroGenZ(new Complex(0.000,1.0E9)); - - //add to contributed gen list - bus3.getContributeGenList().add(gen2); - - EConstMachine mach2 = (EConstMachine)DStabObjectFactory. - createMachine("1", "Mach-1", MachineModelType.ECONSTANT, net, "Bus3", "Gen2"); - - mach2.setRating(100, UnitType.mVA, net.getBaseKva()); - mach2.setRatedVoltage(230000.0); - mach2.calMultiFactors(); - mach2.setH(5.0E6); - mach2.setD(0.01); - mach2.setRa(0.02); - mach2.setXd1(0.20); - - - - Branch3Phase bra = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus3", "0", net); - bra.setBranchCode(AclfBranchCode.LINE); - bra.setZ( new Complex(0.000, 0.100)); - bra.setHShuntY(new Complex(0, 0.200/2)); - bra.setZ0( new Complex(0.0, 0.3)); - bra.setHB0(0.200/2); - - - //net.setBusNumberArranged(true); - return net; - - } - - public DStabNetwork3Phase create6BusFeeder() throws InterpssException{ - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - bus1.setAttributes("69 kV feeder source", ""); - bus1.setBaseVoltage(69000.0); - // set the bus to a non-generator bus - bus1.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - bus1.setLoadCode(AclfLoadCode.NON_LOAD); - bus1.setVoltage(new Complex(1.01,0)); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); - constantGen.setMvaBase(100); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - bus1.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "Bus1", "Source"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(69000.0); - mach.setH(50000.0); - mach.setXd1(0.05); - - - Bus3Phase bus2 = ThreePhaseObjectFactory.create3PDStabBus("Bus2", net); - bus2.setAttributes("feeder bus 2", ""); - bus2.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus2.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - bus2.setLoadCode(AclfLoadCode.CONST_P); - - - Branch3Phase xfr1_2 = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus2", "0", net); - xfr1_2.setBranchCode(AclfBranchCode.XFORMER); - xfr1_2.setToTurnRatio(1.02); - xfr1_2.setZ( new Complex( 0.0, 0.04 )); - //xfr1_2.setZabc(Complex3x3.createUnitMatrix().multiply(new Complex( 0.0, 0.04 ))); - //xfr1_2.setZ0( new Complex(0.0, 0.4 )); - - - AcscXformer xfr0 = acscXfrAptr.apply(xfr1_2); - xfr0.setFromConnectGroundZ(XfrConnectCode.DELTA11, new Complex(0.0,0.0), UnitType.PU); - xfr0.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - bus3.setAttributes("feeder bus 3", ""); - bus3.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus3.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus3.setLoadCode(AclfLoadCode.CONST_P); - - -// Gen3Phase gen1 = new Gen3PhaseImpl(); -// gen1.setParentBus(bus3); -// gen1.setId("PVGen"); -// gen1.setGen(new Complex(0.5,0)); // total gen power, system mva based -// -// bus3.getThreePhaseGenList().add(gen1); - - - Bus3Phase bus4 = ThreePhaseObjectFactory.create3PDStabBus("Bus4", net); - bus4.setAttributes("feeder bus 4", ""); - bus4.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus4.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus4.setLoadCode(AclfLoadCode.CONST_P); - - - Bus3Phase bus5 = ThreePhaseObjectFactory.create3PDStabBus("Bus5", net); - bus5.setAttributes("feeder bus 5", ""); - bus5.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus5.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus5.setLoadCode(AclfLoadCode.CONST_P); - - - Bus3Phase bus6 = ThreePhaseObjectFactory.create3PDStabBus("Bus6", net); - bus6.setAttributes("feeder bus 6", ""); - bus6.setBaseVoltage(12500.0); - // set the bus to a non-generator bus - bus6.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus6.setLoadCode(AclfLoadCode.CONST_P); - - - for(int i =2;i<=6;i++){ - Bus3Phase loadBus = (Bus3Phase) net.getBus("Bus"+i); - Load3Phase load1 = new Load3PhaseImpl(); - load1.set3PhaseLoad(new Complex3x1(new Complex(0.3,0.05),new Complex(0.3,0.05),new Complex(0.3,0.05))); - loadBus.getThreePhaseLoadList().add(load1); - - } - - for(int i =2;i<6;i++){ - Branch3Phase Line2_3 = ThreePhaseObjectFactory.create3PBranch("Bus"+i, "Bus"+(i+1), "0", net); - Line2_3.setBranchCode(AclfBranchCode.LINE); - Complex3x3 zabcActual = this.getFeederZabc601().multiply(5.28).multiply(0.05); - Double zbase = net.getBus("Bus"+i).getBaseVoltage()*net.getBus("Bus"+i).getBaseVoltage()/net.getBaseMva()/1.0E6; - Line2_3.setZabc(zabcActual.multiply(1/zbase)); - - } - - - - return net; - - - - } - - //TODO 1 Mile = 5280 feets - //ohms per 1000ft - private Complex3x3 getFeederZabc601(){ - Complex3x3 zabc= new Complex3x3(); - zabc.aa = new Complex(0.0882,0.2074); - zabc.ab = new Complex(0.0312,0.0935); - zabc.ac = new Complex(0.0306,0.0760); - zabc.ba = zabc.ab; - zabc.bb = new Complex(0.0902, 0.2008); - zabc.bc = new Complex(0.0316,0.0856); - zabc.ca = zabc.ac; - zabc.cb = zabc.bc; - zabc.cc = new Complex(0.0890,0.2049); - - return zabc; - - } - - private Complex3x3 getFeederYabc601(){ - return new Complex3x3(); - } -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java deleted file mode 100644 index bfbb48d..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestPVDistGen3Phase.java +++ /dev/null @@ -1,576 +0,0 @@ -package org.ipss.threePhase.test; - -import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; -import static org.junit.Assert.assertTrue; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.IpssCorePlugin; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.impl.Gen3PhaseImpl; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.interpss.threePhase.dynamic.model.PVDistGen3Phase; -import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.junit.Test; - -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.acsc.XfrConnectCode; -import com.interpss.core.acsc.adpter.AcscXformer; -import com.interpss.core.acsc.fault.SimpleFaultCode; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.DStabGen; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.cache.StateMonitor.DynDeviceType; -import com.interpss.dstab.cache.StateMonitor.MonitorRecord; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; - -public class TestPVDistGen3Phase { - - //@Test - public void testYMatrix3Phase() throws InterpssException{ - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createDistNetNoDG(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - - assertTrue(distNet.initDStabNet()); - - System.out.println(distNet.net2String()); - - // check the YMatrix - //NOTE: YMatrix formed during initDStabNet(); - - ISparseEqnComplexMatrix3x3 ymatrix = distNet.getYMatrixABC(); - - Complex3x3 yiibus1 = ymatrix.getA(0, 0); - - /* - * yijbus12 = - aa = (-0.0, 24.509803921568626),ab = (0.0, 0.0),ac = (0.0, 0.0) - ba = (0.0, 0.0),bb = (-0.0, 24.509803921568626),bc = (0.0, 0.0) - ca = (0.0, 0.0),cb = (0.0, 0.0),cc = (-0.0, 24.509803921568626) - - yiibus2 = - aa = (1.428751220055992, -24.124469612386697),ab = (0.0, 0.0),ac = (0.0, 0.0) - ba = (0.0, -6.462348535570529E-27),bb = (1.428751220055992, -24.124469612386697),bc = (-6.462348535570529E-27, 0.0) - ca = (0.0, -6.462348535570529E-27),cb = (-6.462348535570529E-27, 0.0),cc = (1.4287512200559913, -24.124469612386697) - - yijbus21 = - aa = (-0.0, 24.509803921568626),ab = (0.0, 0.0),ac = (0.0, 0.0) - ba = (0.0, 0.0),bb = (-0.0, 24.509803921568626),bc = (0.0, 0.0) - ca = (0.0, 0.0),cb = (0.0, 0.0),cc = (-0.0, 24.509803921568626) - */ - - Complex3x3 yiibus2 = ymatrix.getA(1, 1); - - Complex3x3 yijbus12 = ymatrix.getA(0, 1); - // bus1 side is the delta 11, leading 30 degrees related to wye side (bus2) - System.out.println("yijbus12 = \n"+ yijbus12); - - System.out.println("yiibus2 = \n"+ yiibus2); - - Complex3x3 yijbus21 = ymatrix.getA(1, 0); - - System.out.println("yijbus21 = \n"+ yijbus21); - - //Complex3x3 yiiBus2Load = yiibus2.add(yijbus21); - - //System.out.println(yiiBus2Load.toString()); - - } - - //@Test - public void testPVDistGen3Model() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createDistNetWithDG(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - DStabGen gen = (DStabGen) distNet.getBus("Bus3").getContributeGen("PVGen"); - PVDistGen3Phase pv =(PVDistGen3Phase) gen.getDynamicGenDevice(); - assertTrue(pv!=null); - - //assertTrue(distNet.initDStabNet()); - pv.initStates(distNet.getBus("Bus3")); - - // TEST positiveSeqGenPQ - assertTrue(pv.getPosSeqGenPQ().subtract(new Complex(0.5,0)).abs() <1.0E-6); - - // run one step - - - // test the injectCurrent, check whether it can produce the same positive sequence genPQ - - - Complex vpos = distNet.getBus("Bus3").getThreeSeqVoltage().b_1; - - // Ip part equals to 0.5/vmag - double ip= pv.getPosSeqGenPQ().getReal()/vpos.abs(); - - // since reactive power is zero, the Iq part must be zero; - - assertTrue(pv.getPosSeqIpq().subtract(new Complex(ip,0)).abs()<1.0E-5); - - Complex ipos = pv.getPosSeqGenCurSource(); - - Complex calcPower = vpos.multiply(ipos.conjugate()); - - assertTrue(pv.getPosSeqGenPQ().subtract(calcPower).abs()<1.0E-5); - - - - } - - //@Test - public void testNetworkSolutionWithPVDistGen3Phase() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createDistNetWithDG(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - DStabGen gen = (DStabGen) distNet.getBus("Bus3").getContributeGen("PVGen"); - PVDistGen3Phase pv =(PVDistGen3Phase) gen.getDynamicGenDevice(); - assertTrue(pv!=null); - - assertTrue(distNet.initDStabNet()); - - - - // check the YMatrix - //NOTE: YMatrix formed during initDStabNet(); - - ISparseEqnComplexMatrix3x3 ymatrix = distNet.getYMatrixABC(); - - // check ymatrix; - System.out.println(ymatrix.toString()); - - //TODO need to check the function of YiiABC(); - - //MatrixOutputUtil.matrixToMatlabMFile("ymatrixABC.m", ymatrix.getSparseEqnComplex()); - - //ymatrix.setBi(new Complex3x1, i); - //check the network solution - assertTrue(distNet.solveNetEqn()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - - } - - - //@Test - public void testNetworkSolutionNOPV() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createDistNetNoDG(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - - assertTrue(distNet.initDStabNet()); - - - - // check the YMatrix - //NOTE: YMatrix formed during initDStabNet(); - - ISparseEqnComplexMatrix3x3 ymatrix = distNet.getYMatrixABC(); - - Complex3x3 yiibus2 = ymatrix.getA(1, 1); - - System.out.println("yiibus2 ="+yiibus2.toString()); - - // check ymatrix; - System.out.println(ymatrix.toString()); - - //TODO need to check the function of YiiABC(); - - //MatrixOutputUtil.matrixToMatlabMFile("ymatrixABC.m", ymatrix.getSparseEqnComplex()); - - //ymatrix.setBi(new Complex3x1, i); - //check the network solution - assertTrue(distNet.solveNetEqn()); -// assertTrue(distNet.solveNetEqn()); -// assertTrue(distNet.solveNetEqn()); -// assertTrue(distNet.solveNetEqn()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - - } - - /* - * ==================Distribtuion power flow results============ - - Bus results: - Bus1,1.01,0.0,1.01,4.188790204786391,1.01,2.0943951023931953,1.0100 + j0.0000 -0.5050 + j-0.87469 -0.5050 + j0.87469 - Bus2,1.0250634873088649,-0.5614946229613161,1.0256661283173656,3.6386959124997253,1.0254803079127308,1.5405036404753871,0.86768 + j-0.5458 -0.90153 + j-0.48912 0.03106 + j1.02501 - Bus3,1.0247543585963361,-0.5424625749134737,1.025579290014406,3.6577169143658015,1.025319427432163,1.5595283176961696,0.87764 + j-0.52903 -0.89199 + j-0.50614 0.01155 + j1.02525 - - Branch results: - Bus1->Bus2(0), Iabc (from) = 0.83441 + j-0.22313 -0.45888 + j-0.5949 -0.37552 + j0.81803, Iabc (to) = 0.76743 + j-0.6126 -0.64947 + j-0.2337 0.12975 + j0.7765 - Bus2->Bus3(0), Iabc (from) = -0.41928 + j0.24913 0.42539 + j0.23854 -0.00611 + j-0.48767, Iabc (to) = -0.41928 + j0.24913 0.42539 + j0.23854 -0.00611 + j-0.48767 - - */ - - //@Test - public void testTwoBusLoadOnlyDstabSim() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createDistNetNoDG(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - distNet, IpssCorePlugin.getMsgHub()); - - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - //distNet.addDynamicEvent(create3PhaseFaultEvent("Bus2",distNet,0.2,0.05),"3phaseFault@Bus2"); - - - StateMonitor sm = new StateMonitor(); - //sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus2-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus2","Bus1"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(distNet)); - System.out.println(distNet.getMachineInitCondition()); - - dstabAlgo.performSimulation(); - } - System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - MonitorRecord rec1 = sm.getBusVoltTable().get("Bus2").get(1); - MonitorRecord rec20 = sm.getBusVoltTable().get("Bus2").get(20); - assertTrue(Math.abs(rec1.getValue()-rec20.getValue())<1.0E-4); - } - - - @Test - public void testThreeBusWithPVDstabSim() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase distNet = createDistNetWithDG(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(distNet); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(distNet)); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - distNet, IpssCorePlugin.getMsgHub()); - - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - distNet.addDynamicEvent(DStabObjectFactory.createBusFaultEvent("Bus2",distNet, SimpleFaultCode.GROUND_3P, new Complex(0,0), null, 0.2, 0.05),"fault@bus2"); - - - StateMonitor sm = new StateMonitor(); - //sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus2-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus2","Bus1"}); - - sm.addDynDeviceMonitor(DynDeviceType.PVGen, "PVGen3Phase_1@Bus3"); - - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(distNet)); - System.out.println(distNet.getMachineInitCondition()); - - dstabAlgo.performSimulation(); - } - - //System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - MonitorRecord rec1 = sm.getBusVoltTable().get("Bus2").get(1); - MonitorRecord rec20 = sm.getBusVoltTable().get("Bus2").get(20); - assertTrue(Math.abs(rec1.getValue()-rec20.getValue())<1.0E-4); - - System.out.println(sm.toCSVString(sm.getPvGenPTable())); - System.out.println(sm.toCSVString(sm.getPvGenQTable())); - System.out.println(sm.toCSVString(sm.getPvGenIpTable())); - } - - private DStabNetwork3Phase createDistNetWithDG() throws InterpssException{ - - - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - bus1.setAttributes("69 kV feeder source", ""); - bus1.setBaseVoltage(69000.0); - // set the bus to a non-generator bus - bus1.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - bus1.setLoadCode(AclfLoadCode.NON_LOAD); - bus1.setVoltage(new Complex(1.01,0)); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); - constantGen.setMvaBase(100); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - bus1.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "Bus1", "Source"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(69000.0); - mach.setH(50000.0); - mach.setXd1(0.05); - - - Bus3Phase bus2 = ThreePhaseObjectFactory.create3PDStabBus("Bus2", net); - bus2.setAttributes("13.8 V feeder bus 2", ""); - bus2.setBaseVoltage(13800.0); - // set the bus to a non-generator bus - bus2.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - bus2.setLoadCode(AclfLoadCode.CONST_P); - - Load3Phase load1 = new Load3PhaseImpl(); - load1.set3PhaseLoad(new Complex3x1(new Complex(1.5,0.1),new Complex(1.5,0.1),new Complex(1.5,0.1))); - bus2.getThreePhaseLoadList().add(load1); - - - - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - bus3.setAttributes("13.8 V feeder bus 3", ""); - bus3.setBaseVoltage(13800.0); - // set the bus to a non-generator bus - bus3.setGenCode(AclfGenCode.GEN_PQ); - // set the bus to a constant power load bus - bus3.setLoadCode(AclfLoadCode.NON_LOAD); - - - Gen3Phase gen1 = new Gen3PhaseImpl(); - gen1.setParentBus(bus3); - gen1.setId("PVGen"); - gen1.setGen(new Complex(0.5,0)); // total gen power, system mva based - - bus3.getThreePhaseGenList().add(gen1); - - gen1.setMvaBase(100); // for dynamic simulation only - gen1.setPosGenZ(new Complex(0,1.0E-1)); // assuming open-circuit - gen1.setNegGenZ(new Complex(0,1.0E-1)); - gen1.setZeroGenZ(new Complex(0,1.0E-1)); - //create the PV Distributed gen model - PVDistGen3Phase pv = new PVDistGen3Phase(gen1); - pv.setId("1"); - - - - - - Branch3Phase xfr1_2 = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus2", "0", net); - xfr1_2.setBranchCode(AclfBranchCode.XFORMER); - xfr1_2.setToTurnRatio(1.02); - xfr1_2.setZ( new Complex( 0.0, 0.04 )); - //xfr1_2.setZabc(Complex3x3.createUnitMatrix().multiply(new Complex( 0.0, 0.04 ))); - //xfr1_2.setZ0( new Complex(0.0, 0.4 )); - - - AcscXformer xfr0 = acscXfrAptr.apply(xfr1_2); - xfr0.setFromConnectGroundZ(XfrConnectCode.DELTA11, new Complex(0.0,0.0), UnitType.PU); - xfr0.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - // for testing connection and from-to relationship only - // xfr0.setToConnectGroundZ(XfrConnectCode.DELTA, new Complex(0.0,0.0), UnitType.PU); - // xfr0.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - Branch3Phase Line2_3 = ThreePhaseObjectFactory.create3PBranch("Bus2", "Bus3", "0", net); - Line2_3.setBranchCode(AclfBranchCode.LINE); - Line2_3.setZ( new Complex( 0.0, 0.04 )); - Line2_3.setZ0( new Complex(0.0, 0.08 )); - - - - - return net; - } - -private DStabNetwork3Phase createDistNetNoDG() throws InterpssException{ - - - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - bus1.setAttributes("69 kV feeder source", ""); - bus1.setBaseVoltage(69000.0); - // set the bus to a non-generator bus - bus1.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - bus1.setLoadCode(AclfLoadCode.NON_LOAD); - bus1.setVoltage(new Complex(1.01,0)); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("Source"); - constantGen.setMvaBase(100); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - bus1.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "Bus1", "Source"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(69000.0); - mach.setH(50000.0); - mach.setXd1(0.05); - - - Bus3Phase bus2 = ThreePhaseObjectFactory.create3PDStabBus("Bus2", net); - bus2.setAttributes("13.8 V feeder bus 2", ""); - bus2.setBaseVoltage(13800.0); - // set the bus to a non-generator bus - bus2.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - bus2.setLoadCode(AclfLoadCode.CONST_P); - - Load3Phase load1 = new Load3PhaseImpl(); - load1.set3PhaseLoad(new Complex3x1(new Complex(1.5,0.1),new Complex(1.5,0.1),new Complex(1.5,0.1))); - bus2.getThreePhaseLoadList().add(load1); - - - -// Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); -// bus3.setAttributes("13.8 V feeder bus 3", ""); -// bus3.setBaseVoltage(13800.0); -// // set the bus to a non-generator bus -// bus3.setGenCode(AclfGenCode.GEN_PQ); -// // set the bus to a constant power load bus -// bus3.setLoadCode(AclfLoadCode.NON_LOAD); -// -// -// Gen3Phase gen1 = new Gen3PhaseImpl(); -// gen1.setParentBus(bus3); -// gen1.setId("PVGen"); -// gen1.setGen(new Complex(0.5,0)); // total gen power, system mva based -// -// bus3.getThreePhaseGenList().add(gen1); -// -// gen1.setMvaBase(100); // for dynamic simulation only -// gen1.setPosGenZ(new Complex(0,1.0E-1)); // assuming open-circuit -// gen1.setNegGenZ(new Complex(0,1.0E-1)); -// gen1.setZeroGenZ(new Complex(0,1.0E-1)); -// //create the PV Distributed gen model -// PVDistGen3Phase pv = new PVDistGen3Phase(gen1); - - - - - - Branch3Phase xfr1_2 = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus2", "0", net); - xfr1_2.setBranchCode(AclfBranchCode.XFORMER); - xfr1_2.setToTurnRatio(1.02); - xfr1_2.setZ( new Complex( 0.0, 0.04 )); - //xfr1_2.setZabc(Complex3x3.createUnitMatrix().multiply(new Complex( 0.0, 0.04 ))); - //xfr1_2.setZ0( new Complex(0.0, 0.4 )); - - - AcscXformer xfr0 = acscXfrAptr.apply(xfr1_2); - xfr0.setFromConnectGroundZ(XfrConnectCode.DELTA11, new Complex(0.0,0.0), UnitType.PU); - xfr0.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - // for testing connection and from-to relationship only - // xfr0.setToConnectGroundZ(XfrConnectCode.DELTA, new Complex(0.0,0.0), UnitType.PU); - // xfr0.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - -// Branch3Phase Line2_3 = ThreePhaseObjectFactory.create3PBranch("Bus2", "Bus3", "0", net); -// Line2_3.setBranchCode(AclfBranchCode.LINE); -// Line2_3.setZ( new Complex( 0.0, 0.04 )); -// Line2_3.setZ0( new Complex(0.0, 0.08 )); - - - - - return net; - } - -} - - diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java deleted file mode 100644 index 52e7592..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TestSinglePhaseACMotorModel.java +++ /dev/null @@ -1,331 +0,0 @@ -package org.ipss.threePhase.test; - -import static org.junit.Assert.assertTrue; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.IpssCorePlugin; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.numeric.util.NumericUtil; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.ipss.threePhase.dynamic.model.impl.SinglePhaseACMotor; -import org.junit.Test; - -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.acsc.PhaseCode; -import com.interpss.core.acsc.fault.SimpleFaultCode; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.cache.StateMonitor.DynDeviceType; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; - -public class TestSinglePhaseACMotorModel { - - @Test - public void test_dstab_1PAC() throws InterpssException{ - IpssCorePlugin.init(); - - DStabNetwork3Phase net = create2BusSys(); - - net.setNetworkType(NetworkType.DISTRIBUTION); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(net); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); - - - /* - * create the 1-phase AC model - */ - - Bus3Phase bus1 = (Bus3Phase) net.getBus("Bus1"); - - SinglePhaseACMotor ac1 = new SinglePhaseACMotor(bus1,"1"); - ac1.setLoadPercent(25); - ac1.setPhase(PhaseCode.A); - ac1.setMVABase(25); - bus1.getPhaseADynLoadList().add(ac1); - - - - SinglePhaseACMotor ac2 = new SinglePhaseACMotor(bus1,"2"); - ac2.setLoadPercent(30); - ac2.setPhase(PhaseCode.B); - ac2.setMVABase(30); - bus1.getPhaseBDynLoadList().add(ac2); - - - - SinglePhaseACMotor ac3 = new SinglePhaseACMotor(bus1,"3"); - ac3.setLoadPercent(20); - ac3.setPhase(PhaseCode.C); - ac3.setMVABase(20); - bus1.getPhaseCDynLoadList().add(ac3); - - // run dstab to test 1-phase ac model - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation // net.initContributeGenLoad(); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(.2); - - StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"Bus3-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus3","Bus1"}); - sm.add3PhaseBusStdMonitor("Bus1"); - - // AC MOTOR extended Id - //"ACMotor_"+this.getId()+"@"+this.getParentBus().getId()+"_phase"+this.getPhase(); - sm.addMultiDynDeviceMonitor(DynDeviceType.ACMotor, new String[]{"ACMotor_1@Bus1_phaseA","ACMotor_2@Bus1_phaseB"}); - - - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - net.addDynamicEvent(DStabObjectFactory.createBusFaultEvent("Bus1", net, SimpleFaultCode.GROUND_3P,new Complex(0,0.1),null, 0.1,0.06), "SLG@Bus1"); - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.print(net.getYMatrixABC().getSparseEqnComplex().toString()); - while(dstabAlgo.getSimuTime()<=dstabAlgo.getTotalSimuTimeSec()){ - System.out.print("\n\n time = "+dstabAlgo.getSimuTime()+"\n"); - dstabAlgo.solveDEqnStep(true); - sm.addBusPhaseVoltageMonitorRecord("Bus1", dstabAlgo.getSimuTime(), bus1.get3PhaseVotlages()); - } - } - - - //System.out.println(sm.toCSVString(sm.getBusAngleTable())); -// System.out.println(sm.toCSVString(sm.getBusVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhAVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhBVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhCVoltTable())); - System.out.println(sm.toCSVString(sm.getAcMotorPTable())); - System.out.println(sm.toCSVString( sm.getAcMotorRemainFractionTable())); - - - - assertTrue(Math.abs(sm.getBusAngleTable().get("Bus1").get(1).getValue()- - sm.getBusAngleTable().get("Bus1").get(10).getValue())<1.0E-1); - assertTrue(Math.abs(sm.getBusVoltTable().get("Bus1").get(1).getValue()- - sm.getBusVoltTable().get("Bus1").get(10).getValue())<1.0E-3); - assertTrue(Math.abs(sm.getAcMotorPTable().get("ACMotor_1@Bus1_phaseA").get(1).getValue()- - sm.getAcMotorPTable().get("ACMotor_1@Bus1_phaseA").get(10).getValue())<1.0E-3); - - assertTrue(Math.abs(sm.getBusPhAVoltTable().get("Bus1").get(1).getValue()- - sm.getBusPhAVoltTable().get("Bus1").get(10).getValue())<1.0E-3); - } - - //@Test - public void test1PAC() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase net = create2BusSys(); - net.setNetworkType(NetworkType.DISTRIBUTION); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(net); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); - - /* - * create the 1-phase AC model - */ - - Bus3Phase bus1 = (Bus3Phase) net.getBus("Bus1"); - - SinglePhaseACMotor ac1 = new SinglePhaseACMotor(bus1,"1"); - ac1.setLoadPercent(50); - ac1.setPhase(PhaseCode.A); - ac1.setMVABase(50); - bus1.getPhaseADynLoadList().add(ac1); - - - - SinglePhaseACMotor ac2 = new SinglePhaseACMotor(bus1,"2"); - ac2.setLoadPercent(50); - ac2.setPhase(PhaseCode.B); - ac2.setMVABase(50); - bus1.getPhaseBDynLoadList().add(ac2); - - - - SinglePhaseACMotor ac3 = new SinglePhaseACMotor(bus1,"3"); - ac3.setLoadPercent(50); - ac3.setPhase(PhaseCode.C); - ac3.setMVABase(50); - bus1.getPhaseCDynLoadList().add(ac3); - - // run dstab to test 1-phase ac model - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation // net.initContributeGenLoad(); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.01); - - StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"Bus3-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus3","Bus1"}); - - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - if(dstabAlgo.initialization()){ - - // check init load - Complex loadPQ = new Complex(0.5,0.5*Math.tan(Math.acos(0.97))); - assertTrue( NumericUtil.equals(ac1.getInitLoadPQ(),loadPQ,1.0E-5)); - - // check the calculated loadPQ - assertTrue(NumericUtil.equals(ac1.getLoadPQ(),loadPQ,1.0E-5)); - - //check only 50% load left as static load - Complex remainLoadPQ = new Complex(1,0.2).subtract(loadPQ); - assertTrue( NumericUtil.equals(bus1.get3PhaseNetLoadResults().a_0,remainLoadPQ,1.0E-5)); - - // correct equivY = 1/(0.124+j0.114) - Complex y = new Complex(1.5,0).divide(new Complex(ac1.getRstall(),ac1.getXstall())); - assertTrue( NumericUtil.equals(ac1.getEquivY(),y,1.0E-5)); - - - - double v = 0.599; - bus1.get3PhaseVotlages().a_0 = new Complex(v,0.0); - //Tstall = 0.033; - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - - // check the power before stalling - System.out.println(ac1.getLoadPQ()); - - // check the current injection compensation under normal running condition - Complex Iinj = ac1.getLoadPQ().subtract(ac1.getEquivY().multiply(v*v).conjugate()); - Iinj = Iinj.divide( bus1.get3PhaseVotlages().a_0).conjugate().multiply(-1.0); - assertTrue(ac1.getNortonCurInj().subtract(Iinj).abs()<1.0E-6); - - - ac1.nextStep(0.005, DynamicSimuMethod.MODIFIED_EULER); - // check the stall status - assertTrue(ac1.getStage() ==1); - - System.out.println(ac1.getLoadPQ()); - - // check the current injection compesation under stalling condition - assertTrue(ac1.getNortonCurInj().abs()==0.0); - } - } - - - private DStabNetwork3Phase create2BusSys() throws InterpssException{ - - DStabNetwork3Phase net = new DStabNetwork3phaseImpl(); - - double baseKva = 100000.0; - - // set system basekva for loadflow calculation - net.setBaseKva(baseKva); - - //Bus 1 - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - // set bus name and description attributes - bus1.setAttributes("Bus 1", ""); - // set bus base voltage - bus1.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus1.setGenCode(AclfGenCode.NON_GEN); - // adapt the bus object to a swing bus object - bus1.setLoadCode(AclfLoadCode.CONST_P); - - //bus1.setLoadPQ(new Complex(1.0,0.2)); - Load3Phase load1 = new Load3PhaseImpl(); - load1.set3PhaseLoad(new Complex3x1(new Complex(1.0,0.2),new Complex(1.0,0.2),new Complex(1.0,0.2))); - bus1.getThreePhaseLoadList().add(load1); - //bus1.setScLoadShuntY2( new Complex (1.0,0.2)); - //bus1.setScLoadShuntY0( new Complex (1.0,0.2)); - - - // Bus 3 - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - // set bus name and description attributes - bus3.setAttributes("Bus 3", ""); - // set bus base voltage - bus3.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus3.setGenCode(AclfGenCode.SWING); - - bus3.setSortNumber(1); - - Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); - gen2.setMvaBase(100.0); - gen2.setDesiredVoltMag(1.025); - //gen2.setGen(new Complex(0.7164,0.2710)); - gen2.setPosGenZ(new Complex(0.002,0.02)); - gen2.setNegGenZ(new Complex(0.002,0.02)); - gen2.setZeroGenZ(new Complex(0.000,1.0E9)); - - //add to contributed gen list - bus3.getContributeGenList().add(gen2); - - EConstMachine mach2 = (EConstMachine)DStabObjectFactory. - createMachine("1", "Mach-1", MachineModelType.ECONSTANT, net, "Bus3", "Gen2"); - - mach2.setRating(100, UnitType.mVA, net.getBaseKva()); - mach2.setRatedVoltage(230000.0); - mach2.calMultiFactors(); - mach2.setH(5.0E6); - mach2.setD(0.01); - mach2.setRa(0.0020); - mach2.setXd1(0.020); - - - Branch3Phase bra = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus3", "0", net); - bra.setBranchCode(AclfBranchCode.LINE); - bra.setZ( new Complex(0.000, 0.0500)); - bra.setHShuntY(new Complex(0, 0.200/2)); - bra.setZ0( new Complex(0.0, 0.15)); - bra.setHB0(0.200/2); - - - //net.setBusNumberArranged(true); - return net; - - } - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java deleted file mode 100644 index 39f2aad..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/ThreeBus_3Phase_Test.java +++ /dev/null @@ -1,833 +0,0 @@ -package org.ipss.threePhase.test; - -import static com.interpss.core.funcImpl.AcscFunction.acscXfrAptr; -import static org.interpss.threePhase.util.ThreePhaseUtilFunction.threePhaseXfrAptr; -import static org.junit.Assert.assertTrue; - -import java.util.logging.Level; - -import org.apache.commons.math3.complex.Complex; -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.dstab.DStabModelParser; -import org.interpss.IpssCorePlugin; -import org.interpss.display.AclfOutFunc; -import org.interpss.mapper.odm.ODMDStabParserMapper; -import org.interpss.numeric.NumericConstant; -import org.interpss.numeric.datatype.Complex3x1; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; -import org.interpss.numeric.util.NumericUtil; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.basic.IEEEFeederLineCode; -import org.interpss.threePhase.basic.Load3Phase; -import org.interpss.threePhase.basic.Transformer3Phase; -import org.interpss.threePhase.basic.impl.Load3PhaseImpl; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.algo.DynamicEventProcessor3Phase; -import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.interpss.threePhase.powerflow.DistributionPowerFlowAlgorithm; -import org.interpss.threePhase.powerflow.impl.DistPowerFlowOutFunc; -import org.interpss.threePhase.util.ThreePhaseAclfOutFunc; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.junit.Test; - -import com.interpss.CoreObjectFactory; -import com.interpss.DStabObjectFactory; -import com.interpss.SimuObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.common.util.IpssLogger; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.aclf.AclfLoadCode; -import com.interpss.core.acsc.XfrConnectCode; -import com.interpss.core.acsc.adpter.AcscXformer; -import com.interpss.core.acsc.fault.AcscBusFault; -import com.interpss.core.acsc.fault.SimpleFaultCode; -import com.interpss.core.algo.LoadflowAlgorithm; -import com.interpss.core.net.NetworkType; -import com.interpss.dstab.BaseDStabBus; -import com.interpss.dstab.BaseDStabNetwork; -import com.interpss.dstab.DStabBranch; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.devent.DynamicEvent; -import com.interpss.dstab.devent.DynamicEventType; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; -import com.interpss.dstab.mach.RoundRotorMachine; -import com.interpss.simu.SimuContext; -import com.interpss.simu.SimuCtxType; - -public class ThreeBus_3Phase_Test { - - @Test - public void testYMatrixabc() throws Exception{ - - IpssCorePlugin.init(); - IpssLogger.getLogger().setLevel(Level.INFO); - - DStabNetwork3Phase net = create3BusSys(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - - //create a load flow algorithm object - LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); - //run load flow using default setting - - - - assertTrue(algo.loadflow()) ; - - net.initDStabNet(); - - ISparseEqnComplexMatrix3x3 Yabc = net.getYMatrixABC(); - - //System.out.println(Yabc.getSparseEqnComplex()); - // MatrixOutputUtil.matrixToMatlabMFile("output/ThreeBusYabc.m", Yabc.getSparseEqnComplex()); - - BaseDStabBus bus1 = net.getBus("Bus1"); - Bus3Phase bus13p = (Bus3Phase) bus1; - Gen3Phase gen1 = (Gen3Phase) bus1.getContributeGen("Gen1"); - Complex3x3 yg1abc= gen1.getYabc(false); - - /* - * Gen1 yabc = - aa = (0.049988758448491294, -3.332583699594674),ab = (-0.024994379224245654, 1.6662918492973369),ac = (-0.024994379224245647, 1.6662918492973375) - ba = (-0.024994379224245643, 1.6662918492973369),bb = (0.0499887584784707, -3.3325837005937737),bc = (-0.024994379254225044, 1.666291850296437) - ca = (-0.02499437922424565, 1.6662918492973369),cb = (-0.024994379254225044, 1.666291850296437),cc = (0.049988758478470695, -3.332583700593774) - */ - System.out.println("Gen1 yabc = \n"+yg1abc); - - assertTrue(NumericUtil.equals(yg1abc.aa, new Complex(0.049988758448491294, -3.332583699594674),1.0E-5)); - assertTrue(NumericUtil.equals(yg1abc.ab, new Complex(-0.024994379224245654, 1.6662918492973369),1.0E-5)); - - Branch3Phase xfr = (Branch3Phase) net.getBranch("Bus2->Bus1(0)"); - System.out.println("xfr yabc = \n"+xfr.getBranchYabc()); - - - /* - * xfr yffabc = - aa = (0.0, -20.0),ab = (0.0, 0.0),ac = (0.0, 0.0) - ba = (0.0, 0.0),bb = (0.0, -20.0),bc = (0.0, 0.0) - ca = (0.0, 0.0),cb = (0.0, 0.0),cc = (0.0, -20.0) - */ - - Complex3x3 yffabc = xfr.getYffabc(); - System.out.println("xfr yffabc = \n"+yffabc); - - assertTrue(NumericUtil.equals(yffabc.aa, new Complex(0, -20.0),1.0E-5)); - assertTrue(NumericUtil.equals(yffabc.ab, new Complex(0, 0),1.0E-5)); - - /* - xfr yftabc = - aa = (-0.0, 11.547005383792515),ab = (0.0, -11.547005383792515),ac = (-0.0, -0.0) - ba = (-0.0, -0.0),bb = (-0.0, 11.547005383792515),bc = (0.0, -11.547005383792515) - ca = (0.0, -11.547005383792515),cb = (-0.0, -0.0),cc = (-0.0, 11.547005383792515) - */ - - Complex3x3 yftabc = xfr.getYftabc(); - System.out.println("xfr yftabc = \n"+yftabc ); - System.out.println("xfr yft120 = \n"+yftabc.To120() ); - assertTrue(NumericUtil.equals(yftabc.aa, new Complex(-0.0, 11.547005383792515),1.0E-5)); - assertTrue(NumericUtil.equals(yftabc.ab, new Complex(-0.0, -11.547005383792515),1.0E-5)); - assertTrue(NumericUtil.equals(yftabc.ba, new Complex(-0.0, 0),1.0E-5)); - assertTrue(NumericUtil.equals(yftabc.ca, new Complex(0.0, -11.547005383792515),1.0E-5)); - - /* - * xfr yttabc = - aa = (0.0, -13.333333333333334),ab = (-0.0, 6.666666666666667),ac = (-0.0, 6.666666666666667) - ba = (-0.0, 6.666666666666667),bb = (0.0, -13.333333333333334),bc = (-0.0, 6.666666666666667) - ca = (-0.0, 6.666666666666667),cb = (-0.0, 6.666666666666667),cc = (0.0, -13.333333333333334) - */ - Complex3x3 yttabc = xfr.getYttabc(); - System.out.println("xfr yttabc = \n"+yttabc); - - assertTrue(NumericUtil.equals(yttabc.aa, new Complex(0.0, -13.333333333333334),1.0E-5)); - assertTrue(NumericUtil.equals(yttabc.ab, new Complex(-0.0, 6.666666666666667),1.0E-5)); - assertTrue(NumericUtil.equals(yttabc.ba, new Complex(-0.0, 6.666666666666667),1.0E-5)); - - - /** - * xfr ytfabc = - * aa = (-0.0, 11.547005383792515),ab = (-0.0, -0.0),ac = (0.0, -11.547005383792515) - ba = (0.0, -11.547005383792515),bb = (-0.0, 11.547005383792515),bc = (-0.0, -0.0) - ca = (-0.0, -0.0),cb = (0.0, -11.547005383792515),cc = (-0.0, 11.547005383792515) - */ - Complex3x3 ytfabc = xfr.getYtfabc(); - System.out.println("xfr ytfabc = \n"+ytfabc); - - /* - * ytfabc = yftabc.transpose() - */ - assertTrue(NumericUtil.equals(ytfabc.aa, yftabc.aa,1.0E-5)); - assertTrue(NumericUtil.equals(ytfabc.ab, yftabc.ba,1.0E-5)); - assertTrue(NumericUtil.equals(ytfabc.ba, yftabc.ab,1.0E-5)); - - BaseDStabBus bus3 = net.getBus("Bus3"); - Bus3Phase bus33p = (Bus3Phase) bus3; - Gen3Phase gen2 = (Gen3Phase) bus3.getContributeGen("Gen2"); - Complex3x3 yg2abc= gen2.getYabc(false); - - /* - * yg2_012 = diag([0;1/(0.02+0.2i);1/(0.02+0.2i)]) - - yg2_012 = - - 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i - 0.0000 + 0.0000i 0.4950 - 4.9505i 0.0000 + 0.0000i - 0.0000 + 0.0000i 0.0000 + 0.0000i 0.4950 - 4.9505i - - >> yg2_abc=T*yg2_012*inv(T) - - yg2_abc = - - 0.3300 - 3.3003i -0.1650 + 1.6502i -0.1650 + 1.6502i - -0.1650 + 1.6502i 0.3300 - 3.3003i -0.1650 + 1.6502i - -0.1650 + 1.6502i -0.1650 + 1.6502i 0.3300 - 3.3003i - */ - System.out.println("Gen2@Bus3 yabc = \n"+yg2abc); - - - - Branch3Phase line23 = (Branch3Phase) net.getBranch("Bus2->Bus3(0)"); - - /* - * line23 yttabc = - aa = (1.8391102453069232E-32, -7.677777777777778),ab = (-3.697785493223493E-32, 2.2222222222222228),ac = (-3.697785493223493E-32, 2.2222222222222237) - ba = (-2.201062793585413E-32, 2.2222222222222228),bb = (-6.93889390390723E-16, -7.67777777777778),bc = (6.938893903907232E-16, 2.2222222222222223) - ca = (-2.3967128196818943E-32, 2.222222222222223),cb = (6.938893903907231E-16, 2.2222222222222223),cc = (-6.938893903907231E-16, -7.677777777777781) - - */ - Complex3x3 yttabc_line23 = line23.getYttabc(); - System.out.println("line23 yttabc = \n"+yttabc_line23); - - assertTrue(NumericUtil.equals(yttabc_line23.ba, new Complex(0.0, 2.2222222222222228),1.0E-5)); - assertTrue(NumericUtil.equals(yttabc_line23.bb, new Complex(0.0, -7.6777777777777),1.0E-5)); - } - - - @Test - public void testDstab3Phase() throws Exception{ - - IpssCorePlugin.init(); - IpssLogger.getLogger().setLevel(Level.INFO); - DStabNetwork3Phase net = create3BusSys(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - //create a load flow algorithm object - LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); - //run load flow using default setting - - - - assertTrue(algo.loadflow()) ; - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - net.addDynamicEvent(create3PhaseFaultEvent("Bus2",net,0.2,0.05),"3phaseFault@Bus2"); - - - StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus3-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus3","Bus1"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(net)); - System.out.println(net.getMachineInitCondition()); - - dstabAlgo.performSimulation(); - } - System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - } - - @Test - public void test_3busfeeder_unbalanced_dstab() throws Exception{ - - IpssCorePlugin.init(); - IpssLogger.getLogger().setLevel(Level.INFO); - DStabNetwork3Phase net = create3BusFeeder_unbalanced(); - - DistributionPowerFlowAlgorithm distPFAlgo = ThreePhaseObjectFactory.createDistPowerFlowAlgorithm(net); - //distPFAlgo.orderDistributionBuses(true); - - assertTrue(distPFAlgo.powerflow()); - - for(BaseDStabBus bus: net.getBusList()){ - System.out.println("id, sortNum: "+bus.getId()+","+bus.getSortNumber()); - } - - System.out.println(DistPowerFlowOutFunc.powerflowResultSummary(net)); - System.out.println(DistPowerFlowOutFunc.busLfSummary(net)); - - for(DStabBranch bra: net.getBranchList()){ - - Branch3Phase bra3p = (Branch3Phase) bra; - System.out.println(bra.getId()+"锛� "+bra3p.getBranchYabc().toString()); - } - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - - - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); -// net.addDynamicEvent(create3PhaseFaultEvent("Bus2",net,0.2,0.05),"3phaseFault@Bus2"); -// - - StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"SubBus-mach1"}); - sm.addBusStdMonitor(new String[]{"SubBus","Bus650"}); - sm.add3PhaseBusStdMonitor(new String[]{"Bus650","Bus611"}); - - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - - - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(net)); - System.out.println(net.getMachineInitCondition()); - - System.out.println(net.getYMatrixABC().toString()); - - //dstabAlgo.performSimulation(); - while(dstabAlgo.getSimuTime()<=dstabAlgo.getTotalSimuTimeSec()){ - - for(String busId: sm.getBusPhAVoltTable().keySet()){ - - sm.addBusPhaseVoltageMonitorRecord( busId,dstabAlgo.getSimuTime(), ((Bus3Phase) net.getBus(busId)).get3PhaseVotlages()); - } - - dstabAlgo.solveDEqnStep(true); - - - } - - } - System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhAVoltTable())); - System.out.println(sm.toCSVString(sm.getBusPhCVoltTable())); - } - - @Test - public void testDstabPosSeq() throws Exception{ - - IpssCorePlugin.init(); - IpssCorePlugin.setLoggerLevel(Level.INFO); - PSSEAdapter adapter = new PSSEAdapter(PsseVersion.PSSE_30); - assertTrue(adapter.parseInputFile(NetType.DStabNet, new String[]{ - "testData/threeBusSys.raw", - //"testData/adpter/psse/v30/IEEE9Bus/ieee9.seq", - "testData/threeBusSys.dyr" - })); - DStabModelParser parser =(DStabModelParser) adapter.getModel(); - - //System.out.println(parser.toXmlDoc()); - - - - SimuContext simuCtx = SimuObjectFactory.createSimuNetwork(SimuCtxType.DSTABILITY_NET); - if (!new ODMDStabParserMapper(IpssCorePlugin.getMsgHub()) - .map2Model(parser, simuCtx)) { - System.out.println("Error: ODM model to InterPSS SimuCtx mapping error, please contact support@interpss.com"); - return; - } - - - BaseDStabNetwork net =simuCtx.getDStabilityNet(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - //net.initContributeGenLoad(); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - - LoadflowAlgorithm aclfAlgo = dstabAlgo.getAclfAlgorithm(); - assertTrue(aclfAlgo.loadflow()); - System.out.println(AclfOutFunc.loadFlowSummary(net)); - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.5); - - dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - net.addDynamicEvent(create3PhaseFaultEvent("Bus2",net,0.2,0.05),"3phaseFault@Bus2"); - - - StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus3","Bus1"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - - //dstabAlgo.setDynamicEventHandler(new DynamicEventProcessor3Phase()); - - if(dstabAlgo.initialization()){ - System.out.println(net.getMachineInitCondition()); - dstabAlgo.performSimulation(); - } - - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - } - - @Test - public void testSolvNetwork() throws Exception{ - - IpssCorePlugin.init(); - IpssLogger.getLogger().setLevel(Level.INFO); - - DStabNetwork3Phase net = create3BusSys(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - - //create a load flow algorithm object - LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); - //run load flow using default setting - - - - assertTrue(algo.loadflow()) ; - System.out.println(AclfOutFunc.loadFlowSummary(net)); - - - // net.initThreePhaseFromLfResult(); - - -// for(DStabBus bus: net.getBusList()){ -// if(bus instanceof Bus3Phase){ -// Bus3Phase ph3Bus = (Bus3Phase) bus; -// -// System.out.println(bus.getId() +": Vabc = "+ph3Bus.get3PhaseVotlages()); -// } - - - - net.initDStabNet(); - - for(BaseDStabBus bus: net.getBusList()){ - if(bus instanceof Bus3Phase){ - Bus3Phase ph3Bus = (Bus3Phase) bus; - - System.out.println(bus.getId() +": Vabc = "+ph3Bus.get3PhaseVotlages()); - } - } - - // ISparseEqnComplexMatrix3x3 Yabc = net.getYMatrixABC(); - // System.out.println(Yabc.getSparseEqnComplex()); - // MatrixOutputUtil.matrixToMatlabMFile("output/ThreeBusYabc.m", Yabc.getSparseEqnComplex()); - /** - * Xfr :Wye-g Wye-g connection - * - * Bus, Igen:Bus1,1.29185 + j-5.1606 -5.11514 + j1.46152 3.82329 + j3.69908 ->abs(Ia) =5.3198 - Bus, Igen:Bus3,-0.1915 + j-4.87234 -4.12382 + j2.60201 4.31532 + j2.27032 ->abs(Ig2_c) =4.8761 - - - - Xfr: Delta-Wye-g - Bus, Igen:Bus1,-1.46152 + j-5.11514 -3.69908 + j3.82329 5.1606 + j1.29185 ->>Same mag, phase shifted 30 deg - Bus, Igen:Bus3,-0.1915 + j-4.87234 -4.12382 + j2.60201 4.31532 + j2.27032 - */ - - net.solveNetEqn(); - - System.out.println(ThreePhaseAclfOutFunc.busLfSummary(net)); - - for(BaseDStabBus bus: net.getBusList()){ - if(bus instanceof Bus3Phase){ - Bus3Phase bus3p = (Bus3Phase) bus; - - if(bus.getId().equals("Bus1")){ - System.out.println("Bus1 Vabc =:"+bus3p.get3PhaseVotlages()); - assertTrue(NumericUtil.equals(bus3p.get3PhaseVotlages().a_0, new Complex(0.90406,-0.51407 ),1.0E-4)); - } - else if(bus.getId().equals("Bus3")){ - assertTrue(NumericUtil.equals(bus3p.get3PhaseVotlages().a_0, new Complex(1.0250,0),1.0E-4)); - } - } - } - - - } - - private DStabNetwork3Phase create3BusFeeder_unbalanced() throws InterpssException{ - double ft2mile = 1.0/5280.0; - double baseVolt115kV = 115000.0; - double baseVolt4160 = 4160.0; //4.16 kV - double baseVolt480 = 480.0; - double vabase = 1.0E6; // 1MW - double kvabase = 1000.0; - - double zBase4160 = baseVolt4160*baseVolt4160/vabase; - double zBase480 = baseVolt480*baseVolt480/vabase; - - double loadScaleFactor =3; - - DStabNetwork3Phase net = ThreePhaseObjectFactory.create3PhaseDStabNetwork(); - - net.setBaseKva(kvabase); - // identify this is a distribution network - net.setNetworkType(NetworkType.DISTRIBUTION); - - Bus3Phase source = ThreePhaseObjectFactory.create3PDStabBus("SubBus", net); - source.setAttributes("subsation bus", ""); - source.setBaseVoltage(baseVolt115kV); - // set the bus to a non-generator bus - source.setGenCode(AclfGenCode.SWING); - // set the bus to a constant power load bus - source.setLoadCode(AclfLoadCode.NON_LOAD); - source.setVoltage(new Complex(1.0,0)); - //source.set3PhaseVoltages(new Complex()); - - Gen3Phase constantGen = ThreePhaseObjectFactory.create3PGenerator("1"); - constantGen.setMvaBase(1.0); - constantGen.setPosGenZ(new Complex(0.0,0.05)); - constantGen.setNegGenZ(new Complex(0.0,0.05)); - constantGen.setZeroGenZ(new Complex(0.0,0.05)); - source.getContributeGenList().add(constantGen); - - - EConstMachine mach = (EConstMachine)DStabObjectFactory. - createMachine("MachId", "MachName", MachineModelType.ECONSTANT, net, "SubBus", "1"); - - mach.setRating(1, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(baseVolt115kV); - mach.setH(50000.0); - mach.setXd1(0.05); - - - - Bus3Phase bus650 = ThreePhaseObjectFactory.create3PDStabBus("Bus650", net); - bus650.setAttributes("feeder 650", ""); - bus650.setBaseVoltage(baseVolt4160); - // set the bus to a non-generator bus - bus650.setGenCode(AclfGenCode.NON_GEN); - // set the bus to a constant power load bus - bus650.setLoadCode(AclfLoadCode.NON_LOAD); - - - -// Bus3Phase bus632 = ThreePhaseObjectFactory.create3PDStabBus("Bus632", net); -// bus632.setAttributes("feeder 632", ""); -// bus632.setBaseVoltage(baseVolt4160); -// // set the bus to a non-generator bus -// -// // set the bus to a constant power load bus -// bus632.setLoadCode(AclfLoadCode.NON_LOAD); - - -// Bus3Phase bus633 = ThreePhaseObjectFactory.create3PDStabBus("Bus633", net); -// bus633.setAttributes("feeder 633", ""); -// bus633.setBaseVoltage(baseVolt4160); -// -// // set the bus to a constant power load bus -// bus633.setLoadCode(AclfLoadCode.NON_LOAD); -// -// -// Bus3Phase bus634 = ThreePhaseObjectFactory.create3PDStabBus("Bus634", net); -// bus634.setAttributes("feeder 634", ""); -// bus634.setBaseVoltage(baseVolt480); -// // set the bus to a constant power load bus -// bus634.setLoadCode(AclfLoadCode.CONST_P); -// /* -// * New Load.634a Bus1=634.1 Phases=1 Conn=Wye Model=1 kV=0.277 kW=160 kvar=110 -// New Load.634b Bus1=634.2 Phases=1 Conn=Wye Model=1 kV=0.277 kW=120 kvar=90 -// New Load.634c Bus1=634.3 Phases=1 Conn=Wye Model=1 kV=0.277 kW=120 kvar=90 -// */ -// Load3Phase load634 = new Load3PhaseImpl(); -// load634.set3PhaseLoad( new Complex3x1(new Complex(0.160,0.11),new Complex(0.120,0.09),new Complex(0.120,0.090)).multiply(loadScaleFactor)); -// bus634.getThreePhaseLoadList().add(load634); -// -// -// -// -// Bus3Phase bus645 = ThreePhaseObjectFactory.create3PDStabBus("Bus645", net); -// bus645.setAttributes("feeder 645", ""); -// bus645.setBaseVoltage(baseVolt4160); -// // set the bus to a constant power load bus -// bus645.setLoadCode(AclfLoadCode.CONST_P); -// //New Load.645 Bus1=645.2 Phases=1 Conn=Wye Model=1 kV=2.4 kW=170 kvar=125 -// Load3Phase load645 = new Load3PhaseImpl(); -// load645.set3PhaseLoad( new Complex3x1(new Complex(0.0),new Complex(0.170,0.125),new Complex(0)).multiply(loadScaleFactor)); -// bus645.getThreePhaseLoadList().add(load645); -// -// -// -// -// -// Bus3Phase bus646 = ThreePhaseObjectFactory.create3PDStabBus("Bus646", net); -// bus646.setAttributes("feeder 646", ""); -// bus646.setBaseVoltage(baseVolt4160); -// // set the bus to a constant power load bus -// -// bus646.setLoadCode(AclfLoadCode.CONST_P); -// //New Load.646 Bus1=646.2.3 Phases=1 Conn=Delta Model=2 kV=4.16 kW=230 kvar=132 -// Load3Phase load646 = new Load3PhaseImpl(); -// load646.set3PhaseLoad( new Complex3x1(new Complex(0.0),new Complex(0.230/2,0.132/2),new Complex(0.230/2,0.132/2)).multiply(loadScaleFactor)); -// bus646.getThreePhaseLoadList().add(load646); -// -// -// -// -// Bus3Phase bus671 = ThreePhaseObjectFactory.create3PDStabBus("Bus671", net); -// bus671.setAttributes("feeder 671", ""); -// bus671.setBaseVoltage(baseVolt4160); -// // set the bus to a constant power load bus -// bus671.setLoadCode(AclfLoadCode.CONST_P); -// // New Load.671 Bus1=671.1.2.3 Phases=3 Conn=Delta Model=1 kV=4.16 kW=1155 kvar=660 -// Load3Phase load671 = new Load3PhaseImpl(); -// load671.set3PhaseLoad(new Complex3x1(new Complex(1.155/3,0.660/3),new Complex(1.155/3,0.660/3),new Complex(1.155/3,0.660/3)).multiply(loadScaleFactor)); -// bus671.getThreePhaseLoadList().add(load671); -// -// -// -// -// Bus3Phase bus684 = ThreePhaseObjectFactory.create3PDStabBus("Bus684", net); -// bus684.setAttributes("feeder 684", ""); -// bus684.setBaseVoltage(baseVolt4160); -// // set the bus to a constant power load bus -// bus684.setLoadCode(AclfLoadCode.NON_LOAD); -// - - Bus3Phase bus611 = ThreePhaseObjectFactory.create3PDStabBus("Bus611", net); - bus611.setAttributes("feeder 611", ""); - bus611.setBaseVoltage(baseVolt4160); - // set the bus to a constant power load bus - bus611.setLoadCode(AclfLoadCode.CONST_P); - //New Load.611 Bus1=611.3 Phases=1 Conn=Wye Model=5 kV=2.4 kW=170 kvar=80 - Load3Phase load611 = new Load3PhaseImpl(); - load611.set3PhaseLoad(new Complex3x1(new Complex(0),new Complex(0),new Complex(0.170,0.080)).multiply(loadScaleFactor)); - bus611.getThreePhaseLoadList().add(load611); - - - - - ////////////////////////////////// transformers //////////////////////////////////////////////////////// - - Branch3Phase xfr1_2 = ThreePhaseObjectFactory.create3PBranch("SubBus", "Bus650", "0", net); - xfr1_2.setBranchCode(AclfBranchCode.XFORMER); - xfr1_2.setToTurnRatio(1.0); - xfr1_2.setZ( new Complex( 0.0, 0.04 )); - - - AcscXformer xfr0 = acscXfrAptr.apply(xfr1_2); - xfr0.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - xfr0.setToConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - - ///////////////////////////////////////////////////////// LINES //////////////////////////////////////// - - - - // New Line.684611 Phases=1 Bus1=684.3 Bus2=611.3 LineCode=mtx605 Length=300 units=ft - - Branch3Phase Line650_611 = ThreePhaseObjectFactory.create3PBranch("Bus650", "Bus611", "0", net); - Line650_611.setBranchCode(AclfBranchCode.LINE); - double length = 300.0*ft2mile; // convert to miles - Complex3x3 zabc_pu = IEEEFeederLineCode.zMtx605.multiply(length/zBase4160); - Line650_611.setZabc(zabc_pu); - - - - - return net; - - } - -private DStabNetwork3Phase create3BusSys() throws InterpssException{ - - DStabNetwork3Phase net = new DStabNetwork3phaseImpl(); - - double baseKva = 100000.0; - - // set system basekva for loadflow calculation - net.setBaseKva(baseKva); - - //Bus 1 - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - // set bus name and description attributes - bus1.setAttributes("Bus 1", ""); - // set bus base voltage - bus1.setBaseVoltage(16500.0); - // set bus to be a swing bus - bus1.setGenCode(AclfGenCode.GEN_PV); - // adapt the bus object to a swing bus object - - // create contribute generator - // MVABase, power, sourceZ1/2/0 - - Gen3Phase gen1 = ThreePhaseObjectFactory.create3PGenerator("Gen1"); - gen1.setMvaBase(100.0); - gen1.setDesiredVoltMag(1.04); - gen1.setGen(new Complex(0.7164,0.2710)); - gen1.setPosGenZ(new Complex(0.003,0.2)); - gen1.setNegGenZ(new Complex(0.003,0.2)); - gen1.setZeroGenZ(new Complex(0,1.0E9)); - - //add to contributed gen list - bus1.getContributeGenList().add(gen1); - bus1.setSortNumber(0); - - RoundRotorMachine mach = (RoundRotorMachine)DStabObjectFactory. - createMachine("1", "Mach-1", MachineModelType.EQ11_ED11_ROUND_ROTOR, net, "Bus1", "Gen1"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(16500.0); - mach.calMultiFactors(); - mach.setH(5.0); - mach.setD(0.00); - mach.setRa(0.003); - mach.setXl(0.14); - mach.setXd(1.1); - mach.setXq(1.08); - mach.setXd1(0.23); - mach.setTd01(5.6); - mach.setXq1(0.23); - mach.setTq01(1.5); - mach.setXd11(0.2); - mach.setTq011(0.05); - mach.setXq11(0.2); - mach.setTd011(0.03); - mach.setSliner(2.0); // no saturation - mach.setSe100(0.0); // no saturation - mach.setSe120(0.0); - - - - // Bus 2 - Bus3Phase bus2 = ThreePhaseObjectFactory.create3PDStabBus("Bus2", net); - // set bus name and description attributes - bus2.setAttributes("Bus 2", ""); - // set bus base voltage - bus2.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus2.setGenCode(AclfGenCode.NON_GEN); - bus2.setLoadCode(AclfLoadCode.CONST_P); - - //TODO Three-sequence load - //AclfLoad load = CoreObjectFactory.createAclfLoad("1"); - bus2.setLoadPQ(new Complex(1.0,0.20)); - - - bus2.setSortNumber(1); - - - - - // Bus 3 - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - // set bus name and description attributes - bus3.setAttributes("Bus 2", ""); - // set bus base voltage - bus3.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus3.setGenCode(AclfGenCode.SWING); - - bus3.setSortNumber(2); - - Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); - gen2.setMvaBase(100.0); - gen2.setDesiredVoltMag(1.025); - //gen2.setGen(new Complex(0.7164,0.2710)); - gen2.setPosGenZ(new Complex(0.02,0.2)); - gen2.setNegGenZ(new Complex(0.02,0.2)); - gen2.setZeroGenZ(new Complex(0,1.0E9)); - - //add to contributed gen list - bus3.getContributeGenList().add(gen2); - - EConstMachine mach2 = (EConstMachine)DStabObjectFactory. - createMachine("1", "Mach-1", MachineModelType.ECONSTANT, net, "Bus3", "Gen2"); - - mach2.setRating(100, UnitType.mVA, net.getBaseKva()); - mach2.setRatedVoltage(230000.0); - mach2.calMultiFactors(); - mach2.setH(5.0E6); - mach2.setD(0.01); - mach2.setRa(0.02); - mach2.setXd1(0.20); - - - - - //////////////////transformers/////////////////////////////////////////// - Branch3Phase xfr12 = ThreePhaseObjectFactory.create3PBranch("Bus2", "Bus1", "0", net); - xfr12.setBranchCode(AclfBranchCode.XFORMER); - xfr12.setZ( new Complex( 0.0, 0.05 )); - xfr12.setZ0( new Complex(0.0, 0.05 )); - Transformer3Phase xfr = threePhaseXfrAptr.apply(xfr12); - //TODO change for testing - xfr.setToConnectGroundZ(XfrConnectCode.DELTA, new Complex(0.0,0.0), UnitType.PU); - //xfr.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - xfr.setFromConnectGroundZ(XfrConnectCode.WYE_SOLID_GROUNDED, new Complex(0.0,0.0), UnitType.PU); - - - Branch3Phase bra23 = ThreePhaseObjectFactory.create3PBranch("Bus2", "Bus3", "0", net); - bra23.setBranchCode(AclfBranchCode.LINE); - bra23.setZ( new Complex(0.000, 0.100)); - bra23.setHShuntY(new Complex(0, 0.200/2)); - bra23.setZ0( new Complex(0.0, 0.3)); - bra23.setHB0(0.200/2); - - - //net.setBusNumberArranged(true); - return net; - - } - - private DynamicEvent create3PhaseFaultEvent(String faultBusId, BaseDStabNetwork net,double startTime, double durationTime){ - // define an event, set the event id and event type. - DynamicEvent event1 = DStabObjectFactory.createDEvent("BusFault3P@"+faultBusId, "Bus Fault 3P@"+faultBusId, - DynamicEventType.BUS_FAULT, net); - event1.setStartTimeSec(startTime); - event1.setDurationSec(durationTime); - - // define a bus fault - BaseDStabBus faultBus = net.getDStabBus(faultBusId); - AcscBusFault fault = CoreObjectFactory.createAcscBusFault("Bus Fault 3P@"+faultBusId, net); - fault.setBus(faultBus); - fault.setFaultCode(SimpleFaultCode.GROUND_3P); - fault.setZLGFault(NumericConstant.SmallScZ); - - // add this fault to the event, must be consist with event type definition before. - event1.setBusFault(fault); - return event1; - } - -} diff --git a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java deleted file mode 100644 index 20666de..0000000 --- a/ipss.plugin.3phase/src/org/ipss/threePhase/test/TwoBus_3Phase_Test.java +++ /dev/null @@ -1,380 +0,0 @@ -package org.ipss.threePhase.test; - -import static org.junit.Assert.assertTrue; - -import java.util.logging.Level; - -import org.apache.commons.math3.complex.Complex; -import org.interpss.IpssCorePlugin; -import org.interpss.display.AclfOutFunc; -import org.interpss.numeric.datatype.Complex3x3; -import org.interpss.numeric.datatype.Unit.UnitType; -import org.interpss.numeric.sparse.ISparseEqnComplexMatrix3x3; -import org.interpss.numeric.util.NumericUtil; -import org.interpss.threePhase.basic.Branch3Phase; -import org.interpss.threePhase.basic.Bus3Phase; -import org.interpss.threePhase.basic.Gen3Phase; -import org.interpss.threePhase.dynamic.DStabNetwork3Phase; -import org.interpss.threePhase.dynamic.impl.DStabNetwork3phaseImpl; -import org.interpss.threePhase.util.ThreePhaseObjectFactory; -import org.junit.Test; - -import com.interpss.CoreObjectFactory; -import com.interpss.DStabObjectFactory; -import com.interpss.common.exp.InterpssException; -import com.interpss.common.util.IpssLogger; -import com.interpss.core.aclf.AclfBranchCode; -import com.interpss.core.aclf.AclfGenCode; -import com.interpss.core.algo.LoadflowAlgorithm; -import com.interpss.dstab.BaseDStabBus; -import com.interpss.dstab.algo.DynamicSimuAlgorithm; -import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.mach.EConstMachine; -import com.interpss.dstab.mach.MachineModelType; -import com.interpss.dstab.mach.RoundRotorMachine; - -public class TwoBus_3Phase_Test { - - //@Test - public void test3PhaseTransformerYabc(){ - - } - - - //@Test - public void testInitBasedOnLF() throws InterpssException{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase net = create2BusSys(); - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - - //create a load flow algorithm object - LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); - //run load flow using default setting - - - assertTrue(algo.loadflow()) ; - //output load flow summary result - /* - * - BusID Code Volt(pu) Angle(deg) P(pu) Q(pu) Bus Name - ------------------------------------------------------------------------------------------- - Bus1 PV 1.04000 3.85 0.7164 0.0719 Bus 1 - Bus3 Swing 1.02500 0.00 -0.7164 -0.2347 Bus 2 - */ - System.out.println(AclfOutFunc.loadFlowSummary(net)); - - net.initThreePhaseFromLfResult(); - - for(BaseDStabBus bus: net.getBusList()){ - if(bus instanceof Bus3Phase){ - Bus3Phase ph3Bus = (Bus3Phase) bus; - - System.out.println(bus.getId() +": Vabc = "+ph3Bus.get3PhaseVotlages()); - /* - *Bus1: Vabc = 1.03765 + j0.06989 -0.57935 + j0.86368 -0.4583 + j-0.93358 - - Bus3: Vabc = 1.0250 + j0.0000 -0.5125 + j0.88768 -0.5125 + j-0.88768 - */ - if(bus.getId().equals("Bus1")){ - - //phase a: 5.77 - 30 = -24.23 - assertTrue(ph3Bus.get3PhaseVotlages().a_0.subtract(new Complex(1.03765,0.06989)).abs()<5.0E-5); - - } - } - } - - } - - @Test - public void testYMatrixabc() throws Exception{ - - IpssCorePlugin.init(); - - DStabNetwork3Phase net = create2BusSys(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - -// //create a load flow algorithm object -// LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); -// //run load flow using default setting -// -// -// -// assertTrue(algo.loadflow()) ; - - ISparseEqnComplexMatrix3x3 Yabc = net.formYMatrixABC(); - - // System.out.println(Yabc.getSparseEqnComplex()); - // MatrixUtil.matrixToMatlabMFile("output/twoBusYabc.m", Yabc.getSparseEqnComplex()); - - /** - * y12_012 = diag([-3.33i,-10i,-10i]) - - y12_012 = - - 0.0000 - 3.3300i 0.0000 + 0.0000i 0.0000 + 0.0000i - 0.0000 + 0.0000i 0.0000 -10.0000i 0.0000 + 0.0000i - 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 -10.0000i - - >> y12ABC=T*y12_012*inv(T) - - y12ABC = - - 0.0000 - 7.7777i -0.0000 + 2.2222i -0.0000 + 2.2222i - 0.0000 + 2.2222i 0.0000 - 7.7777i -0.0000 + 2.2222i - -0.0000 + 2.2222i 0.0000 + 2.2222i 0.0000 - 7.7777i - */ - - Complex3x3 y12 = Yabc.getA(0, 1); - assertTrue(NumericUtil.equals(y12.aa, new Complex(0.0000, 7.7777),5.0E-4)); - assertTrue(NumericUtil.equals(y12.ab, new Complex(0.0000, -2.2222),5.0E-4)); - /* - * yABC_bus1_gen = - * 0.0000 - 3.3333i -0.0000 + 1.6667i -0.0000 + 1.6667i - 0.0000 + 1.6667i 0.0000 - 3.3333i -0.0000 + 1.6667i - -0.0000 + 1.6667i -0.0000 + 1.6667i 0.0000 - 3.3333i - */ - - - Complex3x3 y11 = Yabc.getA(0, 0); - //System.out.println("y11 = \n"+y11); - assertTrue(NumericUtil.equals(y11.aa, new Complex(0.04999,-11.01036),1.0E-4)); - assertTrue(NumericUtil.equals(y11.ab, new Complex(-0.02499,3.88851),1.0E-4)); - - - /* - * yABC_bus2_gen = - - 0.3300 - 3.3003i -0.1650 + 1.6502i -0.1650 + 1.6502i - -0.1650 + 1.6502i 0.3300 - 3.3003i -0.1650 + 1.6502i - -0.1650 + 1.6502i -0.1650 + 1.6502i 0.3300 - 3.3003i - */ - } - - @Test - public void testSolvNetwork() throws Exception{ - - IpssCorePlugin.init(); - IpssLogger.getLogger().setLevel(Level.INFO); - DStabNetwork3Phase net = create2BusSys(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - //create a load flow algorithm object - LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); - //run load flow using default setting - - - - assertTrue(algo.loadflow()) ; - - - assertTrue(dstabAlgo.initialization()); - //assertTrue(net.initDStabNet()); - assertTrue(net.solveNetEqn()); - - for(BaseDStabBus bus: net.getBusList()){ - if(bus instanceof Bus3Phase){ - Bus3Phase ph3Bus = (Bus3Phase) bus; - - System.out.println(bus.getId() +": Vabc = "+ph3Bus.get3PhaseVotlages()); - /* - *Bus1: Vabc = 1.03765 + j0.06989 -0.4583 + j-0.93358 -0.57935 + j0.86368 - - Bus3: Vabc = 1.0250 + j0.0000 -0.5125 + j-0.88768 -0.5125 + j0.88768 - */ - if(bus.getId().equals("Bus1")){ - - //phase a: 5.77 - 30 = -24.23 - assertTrue(ph3Bus.get3PhaseVotlages().a_0.subtract(new Complex(1.03765,0.06989)).abs()<5.0E-5); - assertTrue(Math.abs(ph3Bus.getThreeSeqVoltage().b_1.abs()-1.040)<1.0E-4); - assertTrue(ph3Bus.getThreeSeqVoltage().b_1.subtract(new Complex(1.0376487360089972, 0.0698927284775248)).abs()<5.0E-5); - } - - if(bus.getId().equals("Bus3")){ - - //phase a: 5.77 - 30 = -24.23 - assertTrue(ph3Bus.get3PhaseVotlages().b_1.subtract(new Complex(-0.5125, -0.88768)).abs()<5.0E-5); - assertTrue(Math.abs(ph3Bus.getThreeSeqVoltage().b_1.abs()-1.025)<1.0E-4); - assertTrue(ph3Bus.getThreeSeqVoltage().b_1.subtract(new Complex(1.025, 0.0)).abs()<5.0E-5); - - } - } - } - - - // ISparseEqnComplexMatrix3x3 Yabc = net.getYMatrixABC(); - // System.out.println(Yabc.getSparseEqnComplex()); - // MatrixUtil.matrixToMatlabMFile("output/twoBusYabc.m", Yabc.getSparseEqnComplex()); - - - } - - @Test - public void testDstab() throws Exception{ - - IpssCorePlugin.init(); - IpssLogger.getLogger().setLevel(Level.INFO); - DStabNetwork3Phase net = create2BusSys(); - - - // initGenLoad-- summarize the effects of contributive Gen/Load to make equivGen/load for power flow calculation - net.initContributeGenLoad(); - - DynamicSimuAlgorithm dstabAlgo =DStabObjectFactory.createDynamicSimuAlgorithm( - net, IpssCorePlugin.getMsgHub()); - - //create a load flow algorithm object - LoadflowAlgorithm algo = CoreObjectFactory.createLoadflowAlgorithm(net); - //run load flow using default setting - - - - assertTrue(algo.loadflow()) ; - - dstabAlgo.setSimuMethod(DynamicSimuMethod.MODIFIED_EULER); - dstabAlgo.setSimuStepSec(0.005d); - dstabAlgo.setTotalSimuTimeSec(0.005); - - //dstabAlgo.setRefMachine(net.getMachine("Bus3-mach1")); - //net.addDynamicEvent(create3PhaseFaultEvent("Bus5",net,1.0d,0.05),"3phaseFault@Bus5"); - - - StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus3-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus3","Bus1"}); - // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); - if(dstabAlgo.initialization()){ - - dstabAlgo.performSimulation(); - } - System.out.println(sm.toCSVString(sm.getBusAngleTable())); - System.out.println(sm.toCSVString(sm.getBusVoltTable())); - } - -private DStabNetwork3Phase create2BusSys() throws InterpssException{ - - DStabNetwork3Phase net = new DStabNetwork3phaseImpl(); - - double baseKva = 100000.0; - - // set system basekva for loadflow calculation - net.setBaseKva(baseKva); - - //Bus 1 - Bus3Phase bus1 = ThreePhaseObjectFactory.create3PDStabBus("Bus1", net); - // set bus name and description attributes - bus1.setAttributes("Bus 1", ""); - // set bus base voltage - bus1.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus1.setGenCode(AclfGenCode.GEN_PV); - // adapt the bus object to a swing bus object - - // create contribute generator - // MVABase, power, sourceZ1/2/0 - - Gen3Phase gen1 = ThreePhaseObjectFactory.create3PGenerator("Gen1"); - gen1.setMvaBase(100.0); - gen1.setDesiredVoltMag(1.04); - gen1.setGen(new Complex(0.7164,0.2710)); - gen1.setPosGenZ(new Complex(0.003,0.2)); - gen1.setNegGenZ(new Complex(0.003,0.2)); - gen1.setZeroGenZ(new Complex(0.000,1.0E9)); - - //add to contributed gen list - bus1.getContributeGenList().add(gen1); - bus1.setSortNumber(0); - - RoundRotorMachine mach = (RoundRotorMachine)DStabObjectFactory. - createMachine("1", "Mach-1", MachineModelType.EQ11_ED11_ROUND_ROTOR, net, "Bus1", "Gen1"); - - mach.setRating(100, UnitType.mVA, net.getBaseKva()); - mach.setRatedVoltage(230000.0); - mach.setH(5.0); - mach.setD(0.01); - mach.setRa(0.003); - mach.setXl(0.14); - mach.setXd(1.1); - mach.setXq(1.08); - mach.setXd1(0.23); - mach.setTd01(5.6); - mach.setXq1(0.23); - mach.setTq01(1.5); - mach.setXd11(0.20); - mach.setTq011(0.05); - mach.setXq11(0.20); - mach.setTd011(0.03); - mach.setSliner(2.0); // no saturation - mach.setSe100(0.0); // no saturation - mach.setSe120(0.0); - - - - // Bus 3 - Bus3Phase bus3 = ThreePhaseObjectFactory.create3PDStabBus("Bus3", net); - // set bus name and description attributes - bus3.setAttributes("Bus 3", ""); - // set bus base voltage - bus3.setBaseVoltage(230000.0); - // set bus to be a swing bus - bus3.setGenCode(AclfGenCode.SWING); - - bus3.setSortNumber(1); - - Gen3Phase gen2 = ThreePhaseObjectFactory.create3PGenerator("Gen2"); - gen2.setMvaBase(100.0); - gen2.setDesiredVoltMag(1.025); - //gen2.setGen(new Complex(0.7164,0.2710)); - gen2.setPosGenZ(new Complex(0.02,0.2)); - gen2.setNegGenZ(new Complex(0.02,0.2)); - gen2.setZeroGenZ(new Complex(0.000,1.0E9)); - - //add to contributed gen list - bus3.getContributeGenList().add(gen2); - - EConstMachine mach2 = (EConstMachine)DStabObjectFactory. - createMachine("1", "Mach-1", MachineModelType.ECONSTANT, net, "Bus3", "Gen2"); - - mach2.setRating(100, UnitType.mVA, net.getBaseKva()); - mach2.setRatedVoltage(230000.0); - mach2.calMultiFactors(); - mach2.setH(5.0E6); - mach2.setD(0.01); - mach2.setRa(0.02); - mach2.setXd1(0.20); - - - - Branch3Phase bra = ThreePhaseObjectFactory.create3PBranch("Bus1", "Bus3", "0", net); - bra.setBranchCode(AclfBranchCode.LINE); - bra.setZ( new Complex(0.000, 0.100)); - bra.setHShuntY(new Complex(0, 0.200/2)); - bra.setZ0( new Complex(0.0, 0.3)); - bra.setHB0(0.200/2); - - - //net.setBusNumberArranged(true); - return net; - - } - - - - -} From e33da83cd65c6cf58189716908c04e3987fb77f2 Mon Sep 17 00:00:00 2001 From: thuang Date: Wed, 8 Jan 2020 14:31:35 -0800 Subject: [PATCH 18/19] update codes and test cases to latest InterPSS Core and plugin 1/8/2020 --- ipss.plugin.3phase/.classpath | 1 + .../basic/impl/Transformer3PhaseImpl.java | 2 +- .../model/InductionMotor3PhaseAdapter.java | 8 ++++++- .../dynamic/model/PVDistGen3Phase.java | 3 ++- .../model/impl/SinglePhaseACMotor.java | 24 +++++-------------- .../test/Test3PhaseInductionMotor.java | 5 ++-- .../Test6BusFeederCompositeLoadModel.java | 10 ++++---- .../test/TestDistributionPowerflowAlgo.java | 4 ++-- .../test/TestODM3PhaseDstabMapper.java | 12 +++++----- .../threePhase/test/TwoBus_3Phase_Test.java | 14 +++++++---- 10 files changed, 44 insertions(+), 39 deletions(-) diff --git a/ipss.plugin.3phase/.classpath b/ipss.plugin.3phase/.classpath index 5d78617..8f02c78 100644 --- a/ipss.plugin.3phase/.classpath +++ b/ipss.plugin.3phase/.classpath @@ -21,5 +21,6 @@ + diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java index ca6ac88..1a70511 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/basic/impl/Transformer3PhaseImpl.java @@ -89,7 +89,7 @@ public Complex3x3 getYabc() { ////////////////////////////////////////////////////////////////////////////////////////////////////////////// @Override - public Complex3x3 getYffabc() { + public Complex3x3 getYffabc() { Complex3x3 yffabc = null; //Yg if(this.ph3Branch.getXfrFromConnectCode() == XfrConnectCode.WYE_SOLID_GROUNDED){ diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java index 3338457..f6b6b2d 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/InductionMotor3PhaseAdapter.java @@ -9,7 +9,7 @@ import org.interpss.threePhase.basic.Bus3Phase; import com.interpss.dstab.algo.DynamicSimuMethod; -import com.interpss.dstab.dynLoad.InductionMotor; +import org.interpss.dstab.dynLoad.InductionMotor; /** @@ -162,5 +162,11 @@ public Hashtable getStates(Object ref) { return this.indMotor.getStates(ref); } + + //TODO to implement + @Override + public boolean updateAttributes(boolean netChange) { + return true; + } } diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java index a62a257..e28a456 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/PVDistGen3Phase.java @@ -339,5 +339,6 @@ public double getOverFreqTripAll() { public void setOverFreqTripAll(double overFreqTripAll) { this.overFreqTripAll = overFreqTripAll; } - + + } diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java index aba98b8..6406f75 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/model/impl/SinglePhaseACMotor.java @@ -427,24 +427,6 @@ public Complex getNortonCurInj() { Complex v = this.getBusPhaseVoltage(); - //TODO based on the WECC Dynamic Composite Load Model (CMPLDW) Specifications published 01-27-2015 - // A/C are modeled as like "stalled A/C", if V getStates(Object ref) { states.put(OUT_SYMBOL_P, this.getPac()); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java index 7e253e7..9d50103 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test3PhaseInductionMotor.java @@ -18,7 +18,8 @@ import com.interpss.dstab.algo.DynamicSimuAlgorithm; import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; -import com.interpss.dstab.dynLoad.InductionMotor; +import org.interpss.dstab.dynLoad.InductionMotor; +import org.interpss.dstab.dynLoad.impl.InductionMotorImpl; public class Test3PhaseInductionMotor extends TestBase{ @@ -62,7 +63,7 @@ public void testIndMotor() throws InterpssException{ */ Bus3Phase bus1 = (Bus3Phase) net.getBus("Bus1"); - InductionMotor indMotor= DStabObjectFactory.createInductionMotor("1"); + InductionMotor indMotor= new InductionMotorImpl(bus1, "1"); indMotor.setDStabBus(bus1); indMotor.setXm(3.0); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java index 785ef4c..d5bab4d 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/Test6BusFeederCompositeLoadModel.java @@ -4,6 +4,7 @@ import org.apache.commons.math3.complex.Complex; import org.interpss.IpssCorePlugin; +import org.interpss.dstab.dynLoad.impl.InductionMotorImpl; import org.interpss.threePhase.basic.Bus3Phase; import org.interpss.threePhase.basic.Gen3Phase; import org.interpss.threePhase.basic.impl.Gen3PhaseImpl; @@ -27,7 +28,7 @@ import com.interpss.dstab.algo.DynamicSimuMethod; import com.interpss.dstab.cache.StateMonitor; import com.interpss.dstab.cache.StateMonitor.MonitorRecord; -import com.interpss.dstab.dynLoad.InductionMotor; +import org.interpss.dstab.dynLoad.InductionMotor; /** * This test case serves to test more detailed load modeling at the feeder level @@ -86,9 +87,10 @@ public void testFeederCompositeLoad() throws InterpssException{ // 3 phase motor, 20% - - InductionMotor indMotor= DStabObjectFactory.createInductionMotor("1"); - indMotor.setDStabBus(loadBus); + + //InductionMotor indMotor= DStabObjectFactory.createInductionMotor("1"); + //indMotor.setDStabBus(loadBus); + InductionMotor indMotor= new InductionMotorImpl(loadBus,"1"); indMotor.setXm(3.0); indMotor.setXl(0.07); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java index 381031a..9848830 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestDistributionPowerflowAlgo.java @@ -34,7 +34,7 @@ public class TestDistributionPowerflowAlgo { - //@Test + @Test public void testLineAndXfrGeneralizedMatrices() throws InterpssException { AclfNetwork3Phase net = createDistNetNoDG(); @@ -271,7 +271,7 @@ public void testDistBusOrdering() throws InterpssException { } - //@Test + @Test public void testDistBusPF() throws InterpssException { AclfNetwork3Phase net = createDistNetNoDG(); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java index a821030..8bb3ff2 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TestODM3PhaseDstabMapper.java @@ -163,9 +163,9 @@ public void test_IEEE9Bus_3phase_Dstab() throws InterpssException{ // System.out.println(sm.toCSVString(sm.getMachPeTable())); - FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_3Phase_SLG@bus5_machAngle.csv",sm.toCSVString(sm.getMachAngleTable())); - FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_3Phase_SLG@bus5_machSpd.csv",sm.toCSVString(sm.getMachSpeedTable())); - FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_3Phase_SLG@bus5_busVolt.csv",sm.toCSVString(sm.getBusVoltTable())); +// FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_3Phase_SLG@bus5_machAngle.csv",sm.toCSVString(sm.getMachAngleTable())); +// FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_3Phase_SLG@bus5_machSpd.csv",sm.toCSVString(sm.getMachSpeedTable())); +// FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_3Phase_SLG@bus5_busVolt.csv",sm.toCSVString(sm.getBusVoltTable())); // FileUtil.writeText2File("output/ieee9_bus5_machAngle_v5_03172015.csv",sm.toCSVString(sm.getMachAngleTable())); // FileUtil.writeText2File("output/ieee9_bus5_machSpd_v5_03172015.csv",sm.toCSVString(sm.getMachSpeedTable())); // FileUtil.writeText2File("output/ieee9_bus5_busVolt_v5_03172015.csv",sm.toCSVString(sm.getBusVoltTable())); @@ -249,9 +249,9 @@ public void test_IEEE9Bus_posSeq_Dstab() throws InterpssException{ System.out.println(sm.toCSVString(sm.getBusVoltTable())); - FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_pos_SLG@bus5_machAngle.csv",sm.toCSVString(sm.getMachAngleTable())); - FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_pos_SLG@bus5_machSpd.csv",sm.toCSVString(sm.getMachSpeedTable())); - FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_pos_SLG@bus5_busVolt.csv",sm.toCSVString(sm.getBusVoltTable())); +// FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_pos_SLG@bus5_machAngle.csv",sm.toCSVString(sm.getMachAngleTable())); +// FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_pos_SLG@bus5_machSpd.csv",sm.toCSVString(sm.getMachSpeedTable())); +// FileUtil.writeText2File("E://Dropbox//PhD project//test data and results//comprehensive_ch7//ieee9_pos_SLG@bus5_busVolt.csv",sm.toCSVString(sm.getBusVoltTable())); // FileUtil.writeText2File("output/ieee9_bus5_machPe_v5_03172015.csv",sm.toCSVString(sm.getMachPeTable())); // FileUtil.writeText2File("output/ieee9_bus5_machAngle_v5_03172015.csv",sm.toCSVString(sm.getMachAngleTable())); diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java index 17a4896..9c134da 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/test/TwoBus_3Phase_Test.java @@ -188,6 +188,12 @@ public void testSolvNetwork() throws Exception{ assertTrue(algo.loadflow()) ; + StateMonitor sm = new StateMonitor(); + //sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus2-mach1"}); + sm.addBusStdMonitor(new String[]{"Bus6","Bus2","Bus1"}); + // set the output handler + dstabAlgo.setSimuOutputHandler(sm); + assertTrue(dstabAlgo.initialization()); //assertTrue(net.initDStabNet()); @@ -261,11 +267,11 @@ public void testDstab() throws Exception{ StateMonitor sm = new StateMonitor(); - sm.addGeneratorStdMonitor(new String[]{"Bus1-mach1","Bus3-mach1"}); - sm.addBusStdMonitor(new String[]{"Bus3","Bus1"}); + sm.addBusStdMonitor(new String[]{"Bus1"}); // set the output handler - dstabAlgo.setSimuOutputHandler(sm); - dstabAlgo.setOutPutPerSteps(1); + dstabAlgo.setSimuOutputHandler(sm); + dstabAlgo.setOutPutPerSteps(1); + if(dstabAlgo.initialization()){ dstabAlgo.performSimulation(); From b2858be88a1a0c57a2f35cb84efd790d75eb85e9 Mon Sep 17 00:00:00 2001 From: thuang Date: Wed, 3 Jun 2020 22:57:53 -0700 Subject: [PATCH 19/19] update bus casting after core update --- .../threePhase/dynamic/impl/DStabNetwork3phaseImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java index b3eea01..0bef5d9 100644 --- a/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java +++ b/ipss.plugin.3phase/src/org/interpss/threePhase/dynamic/impl/DStabNetwork3phaseImpl.java @@ -205,13 +205,13 @@ private void BFSSubTransmission (double phaseShiftDeg, Queue onceVisi onceVisitedBuses.add((Bus3Phase) findBus); // update the phase voltage - Complex vpos = ((AclfBus)findBus).getVoltage(); + Complex vpos = ((BaseDStabBus)findBus).getVoltage(); Complex va = vpos.multiply(phaseShiftCplxFactor(phaseShiftDeg)); Complex vb = va.multiply(phaseShiftCplxFactor(-120.0d)); Complex vc = va.multiply(phaseShiftCplxFactor(120.0d)); ((Bus3Phase) findBus).set3PhaseVoltages(new Complex3x1(va,vb,vc)); - ((AclfBus)findBus).setVoltage(((Bus3Phase) findBus).getThreeSeqVoltage().b_1); + ((Bus3Phase)findBus).setVoltage(((Bus3Phase) findBus).getThreeSeqVoltage().b_1); } } catch (InterpssException e) {