First release of PowerSAS.m

pull/2/head
Rui Yao 4 years ago
commit 985517593c

12
.gitignore vendored

@ -0,0 +1,12 @@
envDependentScript.m
*.mat
*.m~
restoration/*
output/*
misc/*
*.fig
*.json
*.asv
*.raw
*/.gitignore

@ -0,0 +1,19 @@
Copyright © 2022, UChicago Argonne, LLC
All Rights Reserved
Software Name: PowerSAS.m
By: Argonne National Laboratory, University of Tennessee, Knoxville
OPEN SOURCE LICENSE
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
******************************************************************************************************
DISCLAIMER
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
***************************************************************************************************

@ -0,0 +1,12 @@
# PowerSAS.m
**PowerSAS.m** is a robust, efficient and scalable power grid analysis framework based on semi-analytical solutions (SAS) technology. The **PowerSAS.m** is the version for MATLAB/Octave users. It currently provides the following functionalities (more coming soon!):
* **Steady-state analysis**, including power flow (PF), continuation power flow (CPF), contingency analysis.
* **Dynamic security analysis**, including voltage stability analysis, transient stability analysis, and flexible user-defined simulation.
* **Hybrid extended-term simulation** provides adaptive QSS-dynamic hybrid simulation in extended term with high accuracy and efficiency.
### Key features
* **High numerical robustness.** Backed by the SAS approach, the PowerSAS tool provides much better convergence than the tools using traditional Newton-type algebraic equation solvers when solving algebraic equations (AE)/ordinary differential equations (ODE)/differential-algebraic equations(DAE).
* **Enhanced computational performance.** Due to the analytical nature, PowerSAS provides model-adaptive high-accuracy approximation, which brings significantly extended effective range and much larger steps for steady-state/dynamic analysis. PowerSAS has been used to solve large-scale system cases with 200,000+ buses.
* **Customizable and extensible.** PowerSAS supports flexible customization of grid analysis scenarios, including complex event sequences in extended simulation term.

@ -0,0 +1,98 @@
function res=calCPF(SysData,options,caseName,varargin)
%
% FUNCTION calCPF
%
% Function for calculating continuation power flow
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
res=[];
simSettings=getDefaultSimSettings();
if nargin<2
options=regulateOptions();
else
options=regulateOptions(options);
end
if nargin<3||isempty(caseName)
caseName=['d_~',num2str(size(SysData.bus,1))];
end
nVarargs=length(varargin);
if nVarargs<1
ME=MException('PowerSAS:invalidArgument','CPF should have arguments specifying load increase direction.');
throw(ME);
else
zipRamp=[];
pvRamp=[];
if nVarargs>=1
zipRamp=varargin{1};
end
if nVarargs>=2
pvRamp=varargin{2};
end
if nVarargs>=3
snapshot=varargin{3};
hotStart=1;
else
snapshot=[];
hotStart=0;
end
simSettings.eventList=[simSettings.eventList;[2 0.0000 options.simLen 50 1 0.0 0.0000]];
simSettings.evtDynZipRamp=zipRamp;
simSettings.evtDynPV=pvRamp;
simSettings.evtDyn=zeros(1,23); simSettings.evtDyn(1,1)=1;
simSettings.evtDyn(1,4)=1; simSettings.evtDyn(1,5)=size(pvRamp,1);
simSettings.evtDyn(1,12)=1; simSettings.evtDyn(1,13)=size(zipRamp,1);
options.hotStart=hotStart;
res=runDynamicSimulationExec(caseName,SysData,simSettings,options,snapshot);
end
end
function options=regulateOptions(options)
if nargin<1
options=[];
end
if ~isfield(options,'nlvl');options.nlvl=15;end
if ~isfield(options,'taylorN');options.taylorN=4;end
if ~isfield(options,'segAlpha');options.segAlpha=1;end
if ~isfield(options,'dAlpha');options.dAlpha=1;end
if ~isfield(options,'alphaTol');options.alphaTol=1e-3;end
if ~isfield(options,'diffTol');options.diffTol=1e-6;end
if ~isfield(options,'diffTolMax');options.diffTolMax=1e-2;end
if ~isfield(options,'method');options.method=0;end
if ~isfield(options,'simLen');options.simLen=200;end
if ~isfield(options,'diffTolCtrl');options.diffTolCtrl=1e-5;end
if ~isfield(options,'useNoMoveCtrl');options.useNoMoveCtrl=1;end
if ~isfield(options,'Efstd');options.Efstd=1.2;end
end

@ -0,0 +1,92 @@
function res=calCTG(SysData,options,caseName,varargin)
%
% FUNCTION calCTG
%
% Function for calculating contingencies
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
res=[];
simSettings=getDefaultSimSettings();
if nargin<2
options=regulateOptions();
else
options=regulateOptions(options);
end
if nargin<3||isempty(caseName)
caseName=['d_~',num2str(size(SysData.bus,1))];
end
nVarargs=length(varargin);
if nVarargs<1
ME=MException('PowerSAS:invalidArgument','CTG should have arguments specifying contingencies.');
throw(ME);
else
lineSpec=[];
if nVarargs>=1
lineSpec=varargin{1};
end
if nVarargs>=2
snapshot=varargin{2};
hotStart=1;
else
snapshot=[];
hotStart=0;
end
options.hotStart=hotStart;
evtLineSpec=zeros(length(lineSpec),5);
evtLineSpec(:,1)=lineSpec;
evtLineSpec(:,2)=1;
simSettings.evtLineSpec=evtLineSpec;
simSettings.evtLine=[1,1,length(lineSpec)];
simSettings.eventList=[simSettings.eventList;[2,0,0,7,1,simSettings.eventList(1,[6,7])]];
res=runDynamicSimulationExec(caseName,SysData,simSettings,options,snapshot);
end
end
function options=regulateOptions(options)
if nargin<1
options=[];
end
if ~isfield(options,'nlvl');options.nlvl=15;end
if ~isfield(options,'taylorN');options.taylorN=4;end
if ~isfield(options,'segAlpha');options.segAlpha=1;end
if ~isfield(options,'dAlpha');options.dAlpha=1;end
if ~isfield(options,'alphaTol');options.alphaTol=0.001;end
if ~isfield(options,'diffTol');options.diffTol=1e-6;end
if ~isfield(options,'diffTolMax');options.diffTolMax=1e-2;end
if ~isfield(options,'method');options.method=0;end
if ~isfield(options,'diffTolCtrl');options.diffTolCtrl=1e-5;end
if ~isfield(options,'Efstd');options.Efstd=1.2;end
end

@ -0,0 +1,68 @@
function res=calPF(SysData,options,caseName)
%
% FUNCTION calPF
%
% Function for calculating steady-state
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
simSettings=getDefaultSimSettings();
if nargin<2
options=regulateOptions();
else
options=regulateOptions(options);
end
if nargin<3||isempty(caseName)
caseName=['d_~',num2str(size(SysData.bus,1))];
end
simSettings.eventList=[...
1 0.0000 0.0000 0 1 0.0 0.0000
];
res=runDynamicSimulationExec(caseName,SysData,simSettings,options);
end
function options=regulateOptions(options)
if nargin<1
options=[];
end
if ~isfield(options,'nlvl');options.nlvl=25;end
if ~isfield(options,'taylorN');options.taylorN=4;end
if ~isfield(options,'segAlpha');options.segAlpha=1;end
if ~isfield(options,'dAlpha');options.dAlpha=1;end
if ~isfield(options,'alphaTol');options.alphaTol=0.001;end
if ~isfield(options,'diffTol');options.diffTol=1e-4;end
if ~isfield(options,'diffTolMax');options.diffTolMax=1e-2;end
if ~isfield(options,'method');options.method=0;end
if ~isfield(options,'diffTolCtrl');options.diffTolCtrl=1e-5;end
if ~isfield(options,'Efstd');options.Efstd=1.2;end
end

@ -0,0 +1,106 @@
function res=calTSA(SysData,options,caseName,varargin)
%
% FUNCTION calTSA
%
% Function for transient stability assessment
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
res=[];
simSettings=getDefaultSimSettings();
if nargin<2
options=regulateOptions();
else
options=regulateOptions(options);
end
if nargin<3||isempty(caseName)
caseName=['d_~',num2str(size(SysData.bus,1))];
end
nVarargs=length(varargin);
if nVarargs<1
ME=MException('PowerSAS:invalidArgument','TSA should have arguments specifying faults.');
throw(ME);
else
faultSpec=[];
if nVarargs>=1
faultSpec=varargin{1};
end
if nVarargs>=2
snapshot=varargin{2};
hotStart=1;
else
snapshot=[];
hotStart=0;
end
options.hotStart=hotStart;
faultSpec=faultSpec((faultSpec(:,end)-faultSpec(:,end-1)>0),:);
faultAdd=[faultSpec(:,1:end-2),zeros(size(faultSpec,1),1),faultSpec(:,end-1)];
faultClear=[faultSpec(:,1:end-2),ones(size(faultSpec,1),1),faultSpec(:,end)];
faultEvents=[faultAdd;faultClear];
faultEvents=faultEvents(faultEvents(:,end)>=0&faultEvents(:,end)<=options.simLen,:);
[~,isort]=sort(faultEvents(:,end),'ascend');
faultEventsSort=faultEvents(isort,:);
faultEvtTime=[0;faultEventsSort(:,end)];
dFaultEvtTime=faultEvtTime(2:end)-faultEvtTime(1:end-1);
aggFaultIdxAux=[find(dFaultEvtTime~=0);size(faultEvtTime,1)];
nAggFault=size(aggFaultIdxAux,1)-1;
simSettings.evtFault=[(1:nAggFault)',aggFaultIdxAux(1:nAggFault),aggFaultIdxAux(2:nAggFault+1)-1];
simSettings.evtFaultSpec=faultEventsSort(:,1:end-1);
simSettings.eventList=[simSettings.eventList;[(2:nAggFault+1)',faultEventsSort(aggFaultIdxAux(1:nAggFault),end),...
zeros(nAggFault,1),6*ones(nAggFault,1),(1:nAggFault)',repmat(simSettings.eventList(1,[6,7]),nAggFault,1)]];
simSettings.eventList=[simSettings.eventList;[nAggFault+2,options.simLen,0,99,0,simSettings.eventList(1,[6,7])]];
res=runDynamicSimulationExec(caseName,SysData,simSettings,options,snapshot);
end
end
function options=regulateOptions(options)
if nargin<1
options=[];
end
if ~isfield(options,'nlvl');options.nlvl=15;end
if ~isfield(options,'taylorN');options.taylorN=4;end
if ~isfield(options,'segAlpha');options.segAlpha=0.15;end
if ~isfield(options,'dAlpha');options.dAlpha=1;end
if ~isfield(options,'alphaTol');options.alphaTol=0.001;end
if ~isfield(options,'diffTol');options.diffTol=1e-6;end
if ~isfield(options,'diffTolMax');options.diffTolMax=1e-2;end
if ~isfield(options,'method');options.method=0;end
if ~isfield(options,'simLen');options.simLen=10;end
if ~isfield(options,'diffTolCtrl');options.diffTolCtrl=1e-5;end
if ~isfield(options,'Efstd');options.Efstd=1.2;end
end

@ -0,0 +1,40 @@
function cnt=clearAllTempFiles()
% Deletes all the '*_dyn.mat' intermediate files
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% FUNCTION clearAllTempFiles
%
filelist=dir;
cnt=0;
for i=1:length(filelist)
if (~isempty(strfind(filelist(i).name,'_dyn.mat'))||~isempty(strfind(filelist(i).name,'_init.mat')))&&~filelist(i).isdir
disp(['Cleared file ',filelist(i).name])
delete(filelist(i).name);
cnt=cnt+1;
end
end
end

@ -0,0 +1,48 @@
% 3-bus test system
Bus.con = [ ...
1 100.00 1.00000 0.00000 1 1;
2 100.00 1.00000 -0.09646 1 1;
3 100.00 1.00000 -0.13938 1 1;
];
SW.con = [ ...
2 100.0 100.00 1.00000 0.00000 99.00000 -99.00000 1.1 0.9 0 1 1 1;
];
PV.con = [ ...
3 100.0 100.00 0.50000 1.00000 0.20000 -0.10000 1.1 0.9 1 1;
];
PQ.con = [ ...
1 100.0 100.00 1.00000 0.20000 2.0 0.0 0 1;
];
Shunt.con = [ ...
1 100.0 100.00 60 0.00000 0.19000 1;
3 100.0 100.00 60 0.00000 0.04300 1;
];
Line.con = [ ...
1 2 100.00 100.00 60 0 0.0000 0.01920 0.20000 0.05280 0.00000 0.00000 1.000 0.000 0.000 1;
1 3 100.00 100.00 60 0 0.0000 0.04520 0.20000 0.04080 0.00000 0.00000 1.000 0.000 0.000 1;
2 3 100.00 100.00 60 0 0.0000 0.05700 0.20000 0.03680 0.00000 0.00000 1.000 0.000 0.000 1;
];
Ltc.con=[ ...
];
Demand.con = [ ...
];
Supply.con = [ ...
];
Ind.con = [...
];
Bus.names = { ...
'bus-1 '; 'bus-2 '; 'bus-3 '};

@ -0,0 +1,50 @@
% 3-bus test system with induction motor
Bus.con = [ ...
1 100.00 1.00000 0.00000 1 1;
2 100.00 1.00000 -0.09646 1 1;
3 100.00 1.00000 -0.13938 1 1;
];
SW.con = [ ...
2 100.0 100.00 1.06000 0.00000 99.00000 -99.00000 1.1 0.9 0 1 1 1;
];
PV.con = [ ...
3 100.0 100.00 0.50000 1.03000 0.20000 -0.10000 1.1 0.9 1 1;
];
PQ.con = [ ...
1 100.0 100.00 1.00000 0.20000 2.0 0.0 0 1;
3 100.0 100.00 0.30000 0.10000 1.1 0.9 1 1;
];
Shunt.con = [ ...
1 100.0 100.00 60 0.00000 0.19000 1;
3 100.0 100.00 60 0.00000 0.04300 1;
];
Line.con = [ ...
1 2 100.00 100.00 60 0 0.0000 0.01920 0.20000 0.05280 0.00000 0.00000 1.000 0.000 0.000 1;
1 3 100.00 100.00 60 0 0.0000 0.04520 0.20000 0.04080 0.00000 0.00000 1.000 0.000 0.000 1;
2 3 100.00 100.00 60 0 0.0000 0.05700 0.20000 0.03680 0.00000 0.00000 1.000 0.000 0.000 1;
];
Ltc.con=[ ...
];
Demand.con = [ ...
];
Supply.con = [ ...
];
Ind.con = [...
2 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 3 0.0 0.26 -0.13 0 0 1;
];
Bus.names = { ...
'bus-1 '; 'bus-2 '; 'bus-3 '};

@ -0,0 +1,62 @@
% 3-bus test system with induction motor and ZIP load models
Bus.con = [ ...
1 100.00 1.00000 0.00000 1 1;
2 100.00 1.00000 -0.09646 1 1;
3 100.00 1.00000 -0.13938 1 1;
];
SW.con = [ ...
% 1 100.0 100.00 1.06000 0.00000 9999.00000 -999.90000 1.1 0.9 2.61033 1 1 1;
2 100.0 100.00 1.00000 0.00000 99.00000 -99.00000 1.1 0.9 0 1 1 1;
];
PV.con = [ ...
3 100.0 100.00 0.50000 1.01000 0.20000 -0.10000 1.1 0.9 1 1;
];
PQ.con = [ ...
1 100.0 100.00 0.40000 0.08000 2.0 0.0 0 1;
3 100.0 100.00 0.12000 0.04000 1.1 0.9 0 1;
];
Pl.con=[...
1 100.0 100.0 60.0 0.03 0.20 0.40 0.01 0.03 0.09 0 1;
3 100.0 100.0 60.0 0.06 0.03 0.09 0.02 0.01 0.03 0 1;
];
Shunt.con = [ ...
1 100.0 100.00 60 0.03000 0.19000 1;
3 100.0 100.00 60 0.01000 0.04300 1;
];
Line.con = [ ...
1 2 100.00 100.00 60 0 0.0000 0.01920 0.20000 0.05280 0.00000 0.00000 1.000 0.000 0.000 1;
1 3 100.00 100.00 60 0 0.0000 0.04520 0.20000 0.04080 0.00000 0.00000 1.000 0.000 0.000 1;
2 3 100.00 100.00 60 0 0.0000 0.05700 0.20000 0.03680 0.00000 0.00000 1.000 0.000 0.000 1;
];
Ltc.con=[ ...
];
Demand.con = [ ...
%6 100 0.2 0.066666 0.2 1e-05 0 0 9.5 0 0 0 0 0 0 0 0 1;
%5 100 0.1 0.07 0.1 1e-05 0 0 10.5 0 0 0 0 0 0 0 0 1;
%4 100 0.25 0.166665 0.25 1e-05 0 0 12 0 0 0 0 0 0 0 0 1;
];
Supply.con = [ ...
% 2 100 0.20 2 0 0 0 9.7 0.1 0 0 0 0 0 1 0.50000 -0.40000 0 0 1;
% 3 100 0.25 2 0 0 0 8.8 0.1 0 0 0 0 0 1 0.40000 -0.40000 0 0 1;
];
Ind.con = [...
1 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 3 0.13 0 0 0 0 1;
3 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 3 0.13 0 0 0 0 1;
];
Bus.names = { ...
'bus-1 '; 'bus-2 '; 'bus-3 '};

@ -0,0 +1,66 @@
% 3-bus test system with synchronous generators (with controllers), const-impedance load and induction motors
Bus.con = [ ...
1 100.00 1.00000 0.00000 1 1;
2 100.00 1.00000 -0.09646 1 1;
3 100.00 1.00000 -0.13938 1 1;
];
SW.con = [ ...
2 100.0 100.00 1.00000 0.00000 99.00000 -99.00000 1.1 0.9 0 1 1 1;
];
PV.con = [ ...
3 100.0 100.00 0.50000 1.00000 0.20000 -0.10000 1.1 0.9 1 1;
];
PQ.con = [ ...
1 100.0 100.00 0.00000 0.00000 2.0 0.0 0 1;
];
Shunt.con = [ ...
1 100.0 100.00 60 1.00000 0.20000 1;
3 100.0 100.00 60 0.40000 0.10000 1;
];
Line.con = [ ...
1 2 100.00 100.00 60 0 0.0000 0.01920 0.20000 0.05280 0.00000 0.00000 1.000 0.000 0.000 1;
1 3 100.00 100.00 60 0 0.0000 0.04520 0.20000 0.04080 0.00000 0.00000 1.000 0.000 0.000 1;
2 3 100.00 100.00 60 0 0.0000 0.05700 0.20000 0.03680 0.00000 0.00000 1.000 0.000 0.000 1;
];
Ltc.con=[ ...
];
Demand.con = [ ...
];
Supply.con = [ ...
];
Syn.con = [ ... xl ra xd xd' xd" Td' Td" xq xq' xq" Tq' Tq" M D |-> optional
2 100 100 60 3 0.05 0.01 0.50 0.30 0.23 7.4 0.03 0.69 0.446 0.4 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
3 100 100 60 3 0.00 0.01 0.35 0.20 0.13 6.1 0.04 0.50 0.360 0.13 0.3 0.099 3.080 2 0 0 1 1 0 0 0;
];
Ind.con = [...
1 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 0.08 0.35 0 0 0 0 1;
2 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 2.25 0.33 0 0 0 0 1;
];
Tg.con = [ ...
1 2 0 0.05 10 -10 0.1 0.3;
2 2 0 0.05 10 -10 0.1 0.3
];
Exc.con = [ ...
2 3 5 -5 20 0.02 0.02 1.2 1.0 0.004 0.15 0 0 1;
1 3 5 -5 20 0.02 0.02 1.2 1.0 0.004 0.15 0 0 1;
];
Bus.names = { ...
'bus-1 '; 'bus-2 '; 'bus-3 '};

@ -0,0 +1,103 @@
% 4-bus test system with automatic generation control (AGC) model
% Author: Rui Yao <ruiyao@ieee.org>
Bus.con = [ ...
1 100.00 1.00000 0.00000 1 1;
2 100.00 1.00000 0.00000 1 1;
3 100.00 1.00000 0.00000 1 1;
4 100.00 1.00000 0.00000 1 1;
];
SW.con = [ ...
1 100.0 100.00 1.00000 0.00000 99.00000 -99.00000 1.1 0.9 0.4 1 1 1;
];
PV.con = [ ...
% 2 100.0 100.00 0.00000 1.00000 0.20000 -0.10000 1.1 0.9 1 1;
% 3 100.0 100.00 0.00000 1.00000 0.20000 -0.10000 1.1 0.9 1 1;
4 100.0 100.00 0.40000 1.00000 0.20000 -0.10000 1.1 0.9 1 1;
];
PQ.con = [ ...
2 100.0 100.00 0.30000 0.1000 2.0 0.0 0 1;
3 100.0 100.00 0.30000 0.1000 1.1 0.9 1 1;
];
%
Shunt.con = [ ...
1 100.0 100.00 60 0.20000 0.05000 1;
2 100.0 100.00 60 0.20000 0.05000 1;
3 100.0 100.00 60 0.20000 0.05000 1;
4 100.0 100.00 60 0.20000 0.05000 1;
];
Line.con = [ ...
1 2 100.00 100.00 60 0 0.0000 0.01000 0.20000 0.00000 0.00000 0.00000 1.000 0.000 0.000 1;
2 3 100.00 100.00 60 0 0.0000 0.01100 0.22000 0.00000 0.00000 0.00000 1.000 0.000 0.000 1;
3 4 100.00 100.00 60 0 0.0000 0.01000 0.20000 0.00000 0.00000 0.00000 1.000 0.000 0.000 1;
4 1 100.00 100.00 60 0 0.0000 0.01100 0.22000 0.01000 0.00000 0.00000 1.000 0.000 0.000 1;
2 4 100.00 100.00 60 0 0.0000 0.01200 0.24000 0.01000 0.00000 0.00000 1.000 0.000 0.000 1;
];
Ltc.con=[ ...
];
Demand.con = [ ...
%6 100 0.2 0.066666 0.2 1e-05 0 0 9.5 0 0 0 0 0 0 0 0 1;
%5 100 0.1 0.07 0.1 1e-05 0 0 10.5 0 0 0 0 0 0 0 0 1;
%4 100 0.25 0.166665 0.25 1e-05 0 0 12 0 0 0 0 0 0 0 0 1;
];
Supply.con = [ ...
% 2 100 0.20 2 0 0 0 9.7 0.1 0 0 0 0 0 1 0.50000 -0.40000 0 0 1;
% 3 100 0.25 2 0 0 0 8.8 0.1 0 0 0 0 0 1 0.40000 -0.40000 0 0 1;
];
Syn.con = [ ... xl ra xd xd' xd" Td' Td" xq xq' xq" Tq' Tq" M D |-> optional
1 100 100 60 3 0.05 0.01 0.501 0.30 0.23 7.4 0.03 0.69 0.446 0.4 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
% 2 100 100 60 3 0.05 0.01 0.502 0.30 0.23 7.4 0.03 0.69 0.446 0.4 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
% 3 100 100 60 3 0.05 0.01 0.503 0.30 0.23 7.4 0.03 0.69 0.446 0.4 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
4 100 100 60 3 0.05 0.01 0.504 0.30 0.23 7.4 0.03 0.69 0.446 0.4 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
];
%ZIP Data: 11
Pl.con = [...
1 100 100 60 0.05 0.05 0.05 0.02 0.02 0.02 0 1
% 2 100 100 60 0.05 0.05 0.05 0.02 0.02 0.02 0 1
% 3 100 100 60 0.05 0.05 0.05 0.02 0.02 0.02 0 1
4 100 100 60 0.05 0.05 0.05 0.02 0.02 0.02 0 1
];
%Induction motor Data: 11
Ind.con = [...
1 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 0.3 0.0 0.26 -0.13 0 0 1;
2 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 0.3 0.0 0.26 -0.13 0 0 1;
3 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 3.0 0.0 0.26 -0.13 0 0 1;
4 100 100 60 3 0 0.01 0.15 0.05 0.15 0.001 0.04 500 0.3 0.0 0.26 -0.13 0 0 1;
];
%TG:4
Tg.con = [ ...
1 2 0 0.051 10 -10 0.1 0.3;
2 2 0 0.052 10 -10 0.1 0.3;
% 3 2 0 0.053 10 -10 0.1 0.3;
% 4 2 0 0.054 10 -10 0.1 0.3
];
Exc.con = [ ...
2 3 5 -5 20 0.02 0.02 1.2 1.02 0.004 0.15 0 0 1;
1 3 5 -5 20 0.02 0.02 1.2 1.01 0.004 0.15 0 0 1;
];
Agc.con=[...
% Bus,1/R, D, 1/Tg
1 0.0 0 0.2;
2 0.0 0 0.0;
3 0.0 0 0.0;
4 0.0 0 0.2;
];
Bus.names = { ...
'bus-1 ';'bus-2 ';'bus-3 ';'bus-4 '};

@ -0,0 +1,93 @@
% Modified IEEE 14-bus test system
% Added induction motors models onto original IEEE 14-bus test system
% Original IEEE 14-bus test system
% is from Power Systems Test Case Archive, University of Washington
% https://labs.ece.uw.edu/pstca/pf14/pg_tca14bus.htm
%
Bus.con = [ ...
1 69 1 0 4 1;
2 69 1 0 4 1;
3 69 1 0 4 1;
4 69 1 0 4 1;
5 69 1 0 4 1;
6 13.8 1 0 2 1;
7 13.8 1 0 2 1;
8 18 1 0 3 1;
9 13.8 1 0 2 1;
10 13.8 1 0 2 1;
11 13.8 1 0 2 1;
12 13.8 1 0 2 1;
13 13.8 1 0 2 1;
14 13.8 1 0 2 1;
];
Line.con = [ ...
2 5 100 69 60 0 0 0.05695 0.17388 0.034 0 0 0 0 0 1;
6 12 100 13.8 60 0 0 0.12291 0.25581 0 0 0 0 0 0 1;
12 13 100 13.8 60 0 0 0.22092 0.19988 0 0 0 0 0 0 1;
6 13 100 13.8 60 0 0 0.06615 0.13027 0 0 0 0 0 0 1;
6 11 100 13.8 60 0 0 0.09498 0.1989 0 0 0 0 0 0 1;
11 10 100 13.8 60 0 0 0.08205 0.19207 0 0 0 0 0 0 1;
9 10 100 13.8 60 0 0 0.03181 0.0845 0 0 0 0 0 0 1;
9 14 100 13.8 60 0 0 0.12711 0.27038 0 0 0 0 0 0 1;
14 13 100 13.8 60 0 0 0.17093 0.34802 0 0 0 0 0 0 1;
7 9 100 13.8 60 0 0 0 0.11001 0 0 0 0 0 0 1;
1 2 100 69 60 0 0 0.01938 0.05917 0.0528 0 0 0 0 0 1;
3 2 100 69 60 0 0 0.04699 0.19797 0.0438 0 0 0 0 0 1;
3 4 100 69 60 0 0 0.06701 0.17103 0.0346 0 0 0 0 0 1;
1 5 100 69 60 0 0 0.05403 0.22304 0.0492 0 0 0 0 0 1;
5 4 100 69 60 0 0 0.01335 0.04211 0.0128 0 0 0 0 0 1;
2 4 100 69 60 0 0 0.05811 0.17632 0.0374 0 0 0 0 0 1;
4 9 100 69 60 0 5 0.005 0.55618 0 0.969 5 0 0 0 1;
5 6 100 69 60 0 5 0 0.25202 0 0.932 0 0 0 0 1;
4 7 100 69 60 0 5 0 0.20912 0 0.978 0 0 0 0 1;
8 7 100 18 60 0 1.304348 0 0.17615 0 0 0 0 0 0 1;
];
SW.con = [ ...
1 100 69 1.06 0 9.9 -9.9 1.2 0.8 2.324 1 1 1;
];
PV.con = [ ...
2 100 69 0.4 1.045 0.5 -0.4 1.2 0.8 1 1;
6 100 13.8 0 1.07 0.24 -0.06 1.2 0.8 1 1;
3 100 69 0 1.01 0.4 0 1.2 0.8 1 1;
8 100 18 0 1.09 0.24 -0.06 1.2 0.8 1 1;
];
PQ.con = [ ...
11 100 13.8 0.04323 0.02398 1.2 0.8 0 1
13 100 13.8 0.08986 0.06564 1.2 0.8 0 1
3 100 69 0.571 0.1411 1.2 0.8 0 1
5 100 69 0.05965 0.004145 1.2 0.8 0 1
2 100 69 0.1583 0.1285 1.2 0.8 0 1
6 100 13.8 0.08286 0.08853 1.2 0.8 0 1
4 100 69 0.471 -0.03029 1.2 0.8 0 1
14 100 13.8 0.1194 0.05634 1.2 0.8 0 1
12 100 13.8 0.06955 0.01832 1.2 0.8 0 1
10 100 13.8 0.06892 0.06741 1.2 0.8 0 1
9 100 13.8 0.3651 0.2145 1.2 0.8 0 1
];
Ind.con=[...
11 100 13.8 60 3 0 3.883 14.1 1.508 22.45 0 0 1095 0.7949 0.005775 0 0 0 0 1
13 100 13.8 60 3 0 0.1038 0.8203 0.1612 0.8219 0 0 29.93 0.8766 0.09914 0 0 0 0 1
3 100 69 60 3 0 0.01848 0.1394 0.02127 0.07911 0 0 1.911 1.424 0.7478 0 0 0 0 1
5 100 69 60 3 0 0.5743 3.188 0.4526 3.863 0 0 94.56 1.21 0.04675 0 0 0 0 1
2 100 69 60 3 0 0.2113 1.161 0.1908 1.048 0 0 29.05 1.027 0.1455 0 0 0 0 1
6 100 13.8 60 3 0 0.3217 1.34 0.1289 1.872 0 0 84.67 1.746 0.07394 0 0 0 0 1
4 100 69 60 3 0 0.1815 1.01 0.1051 0.7456 0 0 20.6 1.378 0.1982 0 0 0 0 1
14 100 13.8 60 3 0 0.1142 0.7012 0.1551 0.9428 0 0 41.89 1.325 0.08923 0 0 0 0 1
12 100 13.8 60 3 0 1.594 8.158 1.396 8.1 0 0 221.2 1.876 0.01585 0 0 0 0 1
10 100 13.8 60 3 0 0.384 2.232 0.3892 1.756 0 0 84.05 0.9288 0.05708 0 0 0 0 1
9 100 13.8 60 3 0 0.4216 4.232 0.5213 2.624 0 0 80.02 1.636 0.04787 0 0 0 0 1
];
Bus.names = {...
'Bus 01'; 'Bus 02'; 'Bus 03'; 'Bus 04'; 'Bus 05';
'Bus 06'; 'Bus 07'; 'Bus 08'; 'Bus 09'; 'Bus 10';
'Bus 11'; 'Bus 12'; 'Bus 13'; 'Bus 14'};

@ -0,0 +1,119 @@
% Modified IEEE 14-bus test system
% Added induction motors and ZIP load models onto original IEEE 14-bus test system
% Original IEEE 14-bus test system
% is from Power Systems Test Case Archive, University of Washington
% https://labs.ece.uw.edu/pstca/pf14/pg_tca14bus.htm
%
%bus data: 14
Bus.con = [...
1 69.0000 1.0000 0.0000 4 1
2 69.0000 1.0000 0.0000 4 1
3 69.0000 1.0000 0.0000 4 1
4 69.0000 1.0000 0.0000 4 1
5 69.0000 1.0000 0.0000 4 1
6 13.8000 1.0000 0.0000 2 1
7 13.8000 1.0000 0.0000 2 1
8 18.0000 1.0000 0.0000 3 1
9 13.8000 1.0000 0.0000 2 1
10 13.8000 1.0000 0.0000 2 1
11 13.8000 1.0000 0.0000 2 1
12 13.8000 1.0000 0.0000 2 1
13 13.8000 1.0000 0.0000 2 1
14 13.8000 1.0000 0.0000 2 1
];
%SW data: 1
SW.con = [...
1 100.0000 69.0000 1.0600 0.0000 9.9000 -9.9000 1.2000 0.8000 2.3240 1.0000 1 1
];
%PV data: 4
PV.con = [...
2 100.0000 69.0000 0.4000 1.0450 0.5000 -0.4000 1.2000 0.8000 1.0000 1
6 100.0000 13.8000 0.0000 1.0700 0.2400 -0.0600 1.2000 0.8000 1.0000 1
3 100.0000 69.0000 0.0000 1.0100 0.4000 0.0000 1.2000 0.8000 1.0000 1
8 100.0000 18.0000 0.0000 1.0900 0.2400 -0.0600 1.2000 0.8000 1.0000 1
];
%PQ data: 11
PQ.con = [...
11 100.0000 13.8000 0.0059 0.0102 1.2000 0.8000 0 1
13 100.0000 13.8000 0.0246 0.0408 1.2000 0.8000 0 1
3 100.0000 69.0000 0.6070 0.0457 1.2000 0.8000 0 1
5 100.0000 69.0000 0.0255 0.0002 1.2000 0.8000 0 1
2 100.0000 69.0000 0.2129 0.1487 1.2000 0.8000 0 1
6 100.0000 13.8000 0.0791 0.0593 1.2000 0.8000 0 1
4 100.0000 69.0000 0.1064 -0.0026 1.2000 0.8000 0 1
14 100.0000 13.8000 0.0512 0.0185 1.2000 0.8000 0 1
12 100.0000 13.8000 0.0110 0.0033 1.2000 0.8000 0 1
10 100.0000 13.8000 0.0430 0.0297 1.2000 0.8000 0 1
9 100.0000 13.8000 0.3201 0.1860 1.2000 0.8000 0 1
];
%Shunt data: 0
Shunt.con = [...
];
%Line Data: 20
Line.con = [...
2 5 100.00000 69.00000 60.00000 0 0.00000 0.05695 0.17388 0.03400 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
6 12 100.00000 13.80000 60.00000 0 0.00000 0.12291 0.25581 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
12 13 100.00000 13.80000 60.00000 0 0.00000 0.22092 0.19988 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
6 13 100.00000 13.80000 60.00000 0 0.00000 0.06615 0.13027 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
6 11 100.00000 13.80000 60.00000 0 0.00000 0.09498 0.19890 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
11 10 100.00000 13.80000 60.00000 0 0.00000 0.08205 0.19207 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
9 10 100.00000 13.80000 60.00000 0 0.00000 0.03181 0.08450 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
9 14 100.00000 13.80000 60.00000 0 0.00000 0.12711 0.27038 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
14 13 100.00000 13.80000 60.00000 0 0.00000 0.17093 0.34802 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
7 9 100.00000 13.80000 60.00000 0 0.00000 0.00000 0.11001 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
1 2 100.00000 69.00000 60.00000 0 0.00000 0.01938 0.05917 0.05280 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
3 2 100.00000 69.00000 60.00000 0 0.00000 0.04699 0.19797 0.04380 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
3 4 100.00000 69.00000 60.00000 0 0.00000 0.06701 0.17103 0.03460 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
1 5 100.00000 69.00000 60.00000 0 0.00000 0.05403 0.22304 0.04920 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
5 4 100.00000 69.00000 60.00000 0 0.00000 0.01335 0.04211 0.01280 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
2 4 100.00000 69.00000 60.00000 0 0.00000 0.05811 0.17632 0.03740 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
4 9 100.00000 69.00000 60.00000 0 5.00000 0.00500 0.55618 0.00000 0.96900 0.00000 0.00000 0.00000 0.00000 1.00000
5 6 100.00000 69.00000 60.00000 0 5.00000 0.00000 0.25202 0.00000 0.93200 0.00000 0.00000 0.00000 0.00000 1.00000
4 7 100.00000 69.00000 60.00000 0 5.00000 0.00000 0.20912 0.00000 0.97800 0.00000 0.00000 0.00000 0.00000 1.00000
8 7 100.00000 18.00000 60.00000 0 1.30435 0.00000 0.17615 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
];
Hvdc.con = [];
Bus.names = {...
'Bus 01 ';'Bus 02 ';'Bus 03 ';'Bus 04 ';'Bus 05 ';
'Bus 06 ';'Bus 07 ';'Bus 08 ';'Bus 09 ';'Bus 10 ';
'Bus 11 ';'Bus 12 ';'Bus 13 ';'Bus 14 '};
%ZIP Data: 11
Pl.con = [...
11 100 13.8 60 0.002414 0.001108 0.001679 0.001737 0.002321 0.004956 0 1
13 100 13.8 60 0.0009102 0.004045 0.003728 0.009326 0.00482 0.0002665 0 1
3 100 69 60 0.03911 0.124 0.01987 0.006084 0.001754 0.005936 0 1
5 100 69 60 0.006088 0.008313 0.001275 1.696e-05 4.977e-05 4.454e-05 0 1
2 100 69 60 0.007133 0.007049 0.004504 0.004451 0.001283 0.007316 0 1
6 100 13.8 60 0.005931 0.01365 0.01817 0.004357 0.02172 0.002221 0 1
4 100 69 60 0.05497 0.03711 0.06305 -0.001485 -0.001328 -0.000986 0 1
14 100 13.8 60 0.01969 0.07417 0.0105 0.006543 0.02479 0.006466 0 1
12 100 13.8 60 0.009119 0.002805 0.005582 0.002271 0.0002714 0.002777 0 1
10 100 13.8 60 0.01428 0.03089 0.01915 0.01961 0.01259 0.01227 0 1
9 100 13.8 60 0.01098 0.04211 0.0006649 0.01324 0.001887 0.01611 0 1
];
%Induction motor Data: 11
Ind.con = [...
11 100 13.8 60 3 0 0.2708 2.14 0.3736 2.144 0 0 54.58 1.27 0.03789 0 0 0 0 1
13 100 13.8 60 3 0 0.09339 0.7043 0.1035 0.3998 0 0 11.16 1.103 0.1558 0 0 0 0 1
3 100 69 60 3 0 0.05154 0.2861 0.02469 0.3467 0 0 8.447 0.614 0.5289 0 0 0 0 1
5 100 69 60 3 0 0.4337 2.383 0.4278 2.151 0 0 51.79 0.8599 0.06521 0 0 0 0 1
2 100 69 60 3 0 0.3141 1.308 0.234 1.828 0 0 84.22 0.685 0.07225 0 0 0 0 1
6 100 13.8 60 3 0 1.037 5.772 0.3714 4.259 0 0 159.3 0.7759 0.0399 0 0 0 0 1
4 100 69 60 3 0 0.02511 0.1541 0.01793 0.2072 0 0 7.562 0.8599 0.4077 0 0 0 0 1
14 100 13.8 60 3 0 0.4316 2.209 0.302 2.193 0 0 53.39 1.126 0.05304 0 0 0 0 1
12 100 13.8 60 3 0 0.4126 2.398 0.4176 1.886 0 0 86 0.5745 0.05693 0 0 0 0 1
10 100 13.8 60 3 0 1.077 10.81 1.711 6.702 0 0 259.1 1.854 0.01872 0 0 0 0 1
9 100 13.8 60 3 0 0.5017 5.476 0.3529 3.11 0 0 94.95 1.917 0.03917 0 0 0 0 1
];

@ -0,0 +1,148 @@
% Modified IEEE 14-bus test system
% Added synchronous generators, induction motors and ZIP load models onto original IEEE 14-bus test system
% Original IEEE 14-bus test system
% is from Power Systems Test Case Archive, University of Washington
% https://labs.ece.uw.edu/pstca/pf14/pg_tca14bus.htm
%
%bus data: 14
Bus.con = [...
1 69.0000 1.0000 0.0000 4 1
2 69.0000 1.0000 0.0000 4 1
3 69.0000 1.0000 0.0000 4 1
4 69.0000 1.0000 0.0000 4 1
5 69.0000 1.0000 0.0000 4 1
6 13.8000 1.0000 0.0000 2 1
7 13.8000 1.0000 0.0000 2 1
8 18.0000 1.0000 0.0000 3 1
9 13.8000 1.0000 0.0000 2 1
10 13.8000 1.0000 0.0000 2 1
11 13.8000 1.0000 0.0000 2 1
12 13.8000 1.0000 0.0000 2 1
13 13.8000 1.0000 0.0000 2 1
14 13.8000 1.0000 0.0000 2 1
];
%SW data: 1
SW.con = [...
1 100.0000 69.0000 1.0600 0.0000 9.9000 -9.9000 1.2000 0.8000 2.3240 1.0000 1 1
];
%PV data: 4
PV.con = [...
2 100.0000 69.0000 0.4000 1.0450 0.5000 -0.4000 1.2000 0.8000 1.0000 1
6 100.0000 13.8000 0.2000 1.0700 0.2400 -0.0600 1.2000 0.8000 1.0000 1
3 100.0000 69.0000 0.2000 1.0100 0.4000 0.0000 1.2000 0.8000 1.0000 1
8 100.0000 18.0000 0.2000 1.0900 0.2400 -0.0600 1.2000 0.8000 1.0000 1
];
%PQ data: 11
PQ.con = [...
11 100.0000 13.8000 0.0059 0.0102 1.2000 0.8000 0 1
13 100.0000 13.8000 0.0246 0.0408 1.2000 0.8000 0 1
3 100.0000 69.0000 0.6070 0.0457 1.2000 0.8000 0 1
5 100.0000 69.0000 0.0255 0.0002 1.2000 0.8000 0 1
2 100.0000 69.0000 0.2129 0.1487 1.2000 0.8000 0 1
6 100.0000 13.8000 0.0791 0.0593 1.2000 0.8000 0 1
4 100.0000 69.0000 0.1064 -0.0026 1.2000 0.8000 0 1
14 100.0000 13.8000 0.0512 0.0185 1.2000 0.8000 0 1
12 100.0000 13.8000 0.0110 0.0033 1.2000 0.8000 0 1
10 100.0000 13.8000 0.0430 0.0297 1.2000 0.8000 0 1
9 100.0000 13.8000 0.3201 0.1860 1.2000 0.8000 0 1
];
%Shunt data: 0
Shunt.con = [...
];
%Line Data: 20
Line.con = [...
2 5 100.00000 69.00000 60.00000 0 0.00000 0.05695 0.17388 0.03400 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
6 12 100.00000 13.80000 60.00000 0 0.00000 0.12291 0.25581 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
12 13 100.00000 13.80000 60.00000 0 0.00000 0.22092 0.19988 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
6 13 100.00000 13.80000 60.00000 0 0.00000 0.06615 0.13027 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
6 11 100.00000 13.80000 60.00000 0 0.00000 0.09498 0.19890 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
11 10 100.00000 13.80000 60.00000 0 0.00000 0.08205 0.19207 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
9 10 100.00000 13.80000 60.00000 0 0.00000 0.03181 0.08450 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
9 14 100.00000 13.80000 60.00000 0 0.00000 0.12711 0.27038 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
14 13 100.00000 13.80000 60.00000 0 0.00000 0.17093 0.34802 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
7 9 100.00000 13.80000 60.00000 0 0.00000 0.00000 0.11001 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
1 2 100.00000 69.00000 60.00000 0 0.00000 0.01938 0.05917 0.05280 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
3 2 100.00000 69.00000 60.00000 0 0.00000 0.04699 0.19797 0.04380 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
3 4 100.00000 69.00000 60.00000 0 0.00000 0.06701 0.17103 0.03460 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
1 5 100.00000 69.00000 60.00000 0 0.00000 0.05403 0.22304 0.04920 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
5 4 100.00000 69.00000 60.00000 0 0.00000 0.01335 0.04211 0.01280 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
2 4 100.00000 69.00000 60.00000 0 0.00000 0.05811 0.17632 0.03740 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
4 9 100.00000 69.00000 60.00000 0 5.00000 0.00500 0.55618 0.00000 0.96900 0.00000 0.00000 0.00000 0.00000 1.00000
5 6 100.00000 69.00000 60.00000 0 5.00000 0.00000 0.25202 0.00000 0.93200 0.00000 0.00000 0.00000 0.00000 1.00000
4 7 100.00000 69.00000 60.00000 0 5.00000 0.00000 0.20912 0.00000 0.97800 0.00000 0.00000 0.00000 0.00000 1.00000
8 7 100.00000 18.00000 60.00000 0 1.30435 0.00000 0.17615 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000
];
Hvdc.con = [];
Ltc.con=[];
Bus.names = {...
'Bus 01 ';'Bus 02 ';'Bus 03 ';'Bus 04 ';'Bus 05 ';
'Bus 06 ';'Bus 07 ';'Bus 08 ';'Bus 09 ';'Bus 10 ';
'Bus 11 ';'Bus 12 ';'Bus 13 ';'Bus 14 '};
Syn.con = [ ... xl ra xd xd' xd" Td' Td" xq xq' xq" Tq' Tq" M D |-> optional
1 100 100 60 3 0.05 0.01 0.201 0.20 0.13 7.4 0.03 0.39 0.346 0.3 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
2 100 100 60 3 0.05 0.01 0.202 0.20 0.13 7.4 0.03 0.39 0.346 0.3 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
3 100 100 60 3 0.05 0.01 0.203 0.20 0.13 7.4 0.03 0.39 0.346 0.3 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
6 100 100 60 3 0.05 0.01 0.204 0.20 0.13 7.4 0.03 0.39 0.346 0.3 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
8 100 100 60 3 0.05 0.01 0.204 0.20 0.13 7.4 0.03 0.39 0.346 0.3 0.3 0.033 2.296 2 0 0 1 1 0 0 0;
];
%TG:4
Tg.con = [ ...
1 2 0 0.051 10 -10 0.1 0.3;
2 2 0 0.052 10 -10 0.1 0.3;
3 2 0 0.053 10 -10 0.1 0.3;
4 2 0 0.054 10 -10 0.1 0.3;
5 2 0 0.054 10 -10 0.1 0.3
];
Exc.con = [ ...
1 3 5 -5 20 0.02 0.02 1.2 1.01 0.004 0.15 0 0 1;
2 3 5 -5 20 0.02 0.02 1.2 1.02 0.004 0.15 0 0 1;
3 3 5 -5 20 0.02 0.02 1.2 1.02 0.004 0.15 0 0 1;
4 3 5 -5 20 0.02 0.02 1.2 1.02 0.004 0.15 0 0 1;
5 3 5 -5 20 0.02 0.02 1.2 1.02 0.004 0.15 0 0 1;
];
%ZIP Data: 11
Pl.con = [...
11 100 13.8 60 0.002414 0.001108 0.001679 0.001737 0.002321 0.004956 0 1
13 100 13.8 60 0.0009102 0.004045 0.003728 0.009326 0.00482 0.0002665 0 1
3 100 69 60 0.03911 0.124 0.01987 0.006084 0.001754 0.005936 0 1
5 100 69 60 0.006088 0.008313 0.001275 1.696e-05 4.977e-05 4.454e-05 0 1
2 100 69 60 0.007133 0.007049 0.004504 0.004451 0.001283 0.007316 0 1
1 100 69 60 0.007133 0.007049 0.004504 0.004451 0.001283 0.007316 0 1
6 100 13.8 60 0.005931 0.01365 0.01817 0.004357 0.02172 0.002221 0 1
4 100 69 60 0.05497 0.03711 0.06305 -0.001485 -0.001328 -0.000986 0 1
14 100 13.8 60 0.01969 0.07417 0.0105 0.006543 0.02479 0.006466 0 1
12 100 13.8 60 0.009119 0.002805 0.005582 0.002271 0.0002714 0.002777 0 1
10 100 13.8 60 0.01428 0.03089 0.01915 0.01961 0.01259 0.01227 0 1
9 100 13.8 60 0.01098 0.04211 0.0006649 0.01324 0.001887 0.01611 0 1
];
%Induction motor Data: 11
Ind.con = [...
11 100 13.8 60 3 0 0.2708 2.14 0.3736 2.144 0 0 54.58 1.27 0.03789 0 0 0 0 1
13 100 13.8 60 3 0 0.09339 0.7043 0.1035 0.3998 0 0 11.16 1.103 0.1558 0 0 0 0 1
3 100 69 60 3 0 0.05154 0.2861 0.02469 0.3467 0 0 8.447 0.614 0.5289 0 0 0 0 1
5 100 69 60 3 0 0.4337 2.383 0.4278 2.151 0 0 51.79 0.8599 0.06521 0 0 0 0 1
2 100 69 60 3 0 0.3141 1.308 0.234 1.828 0 0 84.22 0.685 0.07225 0 0 0 0 1
1 100 69 60 3 0 0.3141 1.308 0.234 1.828 0 0 84.22 0.685 0.07225 0 0 0 0 1
6 100 13.8 60 3 0 0.237 1.772 0.3714 1.259 0 0 159.3 0.7759 0.0299 0 0 0 0 1
4 100 69 60 3 0 0.02511 0.1541 0.01793 0.2072 0 0 7.562 0.8599 0.4077 0 0 0 0 1
14 100 13.8 60 3 0 0.4316 2.209 0.302 2.193 0 0 53.39 1.126 0.05304 0 0 0 0 1
12 100 13.8 60 3 0 0.4126 2.398 0.4176 1.886 0 0 86 0.5745 0.05693 0 0 0 0 1
10 100 13.8 60 3 0 1.077 10.81 1.711 6.702 0 0 259.1 1.854 0.01872 0 0 0 0 1
9 100 13.8 60 3 0 0.5017 5.476 0.3529 3.11 0 0 94.95 1.917 0.03917 0 0 0 0 1
];

@ -0,0 +1,197 @@
% Modified IEEE 39-bus test system
% Modified some synchronous generator parameters. Original steady-state parameters cannot lead to steady-state.
% Original IEEE 39-bus test system
% is obtained from Electric grid test case repository, Texas A&M University
% https://electricgrids.engr.tamu.edu/electric-grid-test-cases/new-england-ieee-39-bus-system/
%
Bus.con = [ ...
1 1 1.048 -0.1646 1 1;
2 1 1.051 -0.1203 1 1;
3 1 1.034 -0.1698 1 1;
4 1 1.012 -0.1838 1 1;
5 1 1.017 -0.1637 1 1;
6 1 1.017 -0.1515 1 1;
7 1 1.007 -0.1892 1 1;
8 1 1.006 -0.1979 1 1;
9 1 1.032 -0.1946 1 1;
10 1 1.024 -0.1101 1 1;
11 1 1.02 -0.1243 1 1;
12 1 1.007 -0.1246 1 1;
13 1 1.021 -0.1225 1 1;
14 1 1.018 -0.1511 1 1;
15 1 1.019 -0.1581 1 1;
16 1 1.035 -0.1337 1 1;
17 1 1.037 -0.151 1 1;
18 1 1.034 -0.1656 1 1;
19 1 1.051 -0.05306 1 1;
20 1 0.9914 -0.07767 1 1;
21 1 1.034 -0.0918 1 1;
22 1 1.051 -0.01431 1 1;
23 1 1.046 -0.0178 1 1;
24 1 1.04 -0.1316 1 1;
25 1 1.059 -0.09617 1 1;
26 1 1.054 -0.1182 1 1;
27 1 1.04 -0.1532 1 1;
28 1 1.051 -0.05707 1 1;
29 1 1.051 -0.00890 1 1;
30 1 1.048 -0.07802 1 1;
31 1 1.04 0 1 1;
32 1 0.9831 0.02845 1 1;
33 1 0.9972 0.03805 1 1;
34 1 1.012 0.01292 1 1;
35 1 1.049 0.07226 1 1;
36 1 1.063 0.1192 1 1;
37 1 1.028 0.02199 1 1;
38 1 1.027 0.1143 1 1;
39 1 1.03 -0.1913 1 1];
SW.con = [ ...
39 100 1 1.03 -0.1913 99 -99 2 0.5 0 1 1 1];
PV.con = [ ...
];
PQ.con = [ ...
3 100 1 3.22 0.024 1.2 0.8 1 1;
4 100 1 5 1.84 1.2 0.8 1 1;
7 100 1 2.338 0.84 1.2 0.8 1 1;
8 100 1 5.22 1.76 1.2 0.8 1 1;
12 100 1 0.075 0.88 1.2 0.8 1 1;
15 100 1 3.2 1.53 1.2 0.8 1 1;
16 100 1 3.29 0.323 1.2 0.8 1 1;
18 100 1 1.58 0.3 1.2 0.8 1 1;
20 100 1 6.8 1.03 1.2 0.8 1 1;
21 100 1 2.74 1.15 1.2 0.8 1 1;
23 100 1 2.475 0.846 1.2 0.8 1 1;
24 100 1 3.086 -0.922 1.2 0.8 1 1;
25 100 1 2.24 0.472 1.2 0.8 1 1;
26 100 1 1.39 0.17 1.2 0.8 1 1;
27 100 1 2.81 0.755 1.2 0.8 1 1;
28 100 1 2.06 0.276 1.2 0.8 1 1;
29 100 1 2.835 0.269 1.2 0.8 1 1;
31 100 1 0.092 0.046 1.2 0.8 1 1;
39 100 1 11.04 2.5 1.2 0.8 1 1];
Shunt.con=[];
Line.con = [ ...
1 2 100 1 60 0 0 0.0035 0.0411 0.6987 0 0 99.99 0.0 0.0 1;
1 39 100 1 60 0 0 0.001 0.025 0.75 0 0 99.99 0.0 0.0 1;
2 3 100 1 60 0 0 0.0013 0.0151 0.2572 0 0 99.99 0.0 0.0 1;
2 25 100 1 60 0 0 0.007 0.0086 0.146 0 0 99.99 0.0 0.0 1;
2 30 100 1 60 0 0 0 0.0181 0 1.025 0 99.99 0.0 0.0 1;
3 4 100 1 60 0 0 0.0013 0.0213 0.2214 0 0 99.99 0.0 0.0 1;
3 18 100 1 60 0 0 0.0011 0.0133 0.2138 0 0 99.99 0.0 0.0 1;
4 5 100 1 60 0 0 0.0008 0.0128 0.1342 0 0 99.99 0.0 0.0 1;
4 14 100 1 60 0 0 0.0008 0.0129 0.1382 0 0 99.99 0.0 0.0 1;
5 8 100 1 60 0 0 0.0008 0.0112 0.1476 0 0 99.99 0.0 0.0 1;
6 5 100 1 60 0 0 0.0002 0.0026 0.0434 0 0 99.99 0.0 0.0 1;
6 7 100 1 60 0 0 0.0006 0.0092 0.113 0 0 99.99 0.0 0.0 1;
6 11 100 1 60 0 0 0.0007 0.0082 0.1389 0 0 99.99 0.0 0.0 1;
6 31 100 1 60 0 0 0.0007 0.0082 0.1389 0 0 99.99 0.0 0.0 1;
7 8 100 1 60 0 0 0.0004 0.0046 0.078 0 0 99.99 0.0 0.0 1;
8 9 100 1 60 0 0 0.0023 0.0363 0.3804 0 0 99.99 0.0 0.0 1;
9 39 100 1 60 0 0 0.001 0.025 1.2 0 0 99.99 0.0 0.0 1;
10 11 100 1 60 0 0 0.0004 0.0043 0.0729 0 0 99.99 0.0 0.0 1;
10 13 100 1 60 0 0 0.0004 0.0043 0.0729 0 0 99.99 0.0 0.0 1;
10 32 100 1 60 0 0 0 0.02 0 1.07 0 99.99 0.0 0.0 1;
12 11 100 1 60 0 0 0.0016 0.0435 0 1.006 0 99.99 0.0 0.0 1;
12 13 100 1 60 0 0 0.0016 0.0435 0 1.006 0 99.99 0.0 0.0 1;
13 14 100 1 60 0 0 0.0009 0.0101 0.1723 0 0 99.99 0.0 0.0 1;
14 15 100 1 60 0 0 0.0018 0.0217 0.366 0 0 99.99 0.0 0.0 1;
15 16 100 1 60 0 0 0.0009 0.0094 0.171 0 0 99.99 0.0 0.0 1;
16 17 100 1 60 0 0 0.0007 0.0089 0.1342 0 0 99.99 0.0 0.0 1;
16 19 100 1 60 0 0 0.0016 0.0195 0.304 0 0 99.99 0.0 0.0 1;
16 21 100 1 60 0 0 0.0008 0.0135 0.2548 0 0 99.99 0.0 0.0 1;
16 24 100 1 60 0 0 0.0003 0.0059 0.068 0 0 99.99 0.0 0.0 1;
17 18 100 1 60 0 0 0.0007 0.0082 0.1319 0 0 99.99 0.0 0.0 1;
17 27 100 1 60 0 0 0.0013 0.0173 0.3216 0 0 99.99 0.0 0.0 1;
19 33 100 1 60 0 0 0.0007 0.0142 0 1.07 0 99.99 0.0 0.0 1;
19 20 100 1 60 0 0 0.0007 0.0138 0 1.06 0 99.99 0.0 0.0 1;
20 34 100 1 60 0 0 0.0009 0.018 0 1.009 0 99.99 0.0 0.0 1;
21 22 100 1 60 0 0 0.0008 0.014 0.2565 0 0 99.99 0.0 0.0 1;
22 23 100 1 60 0 0 0.0006 0.0096 0.1846 0 0 99.99 0.0 0.0 1;
22 35 100 1 60 0 0 0 0.0143 0 1.025 0 99.99 0.0 0.0 1;
23 24 100 1 60 0 0 0.0022 0.035 0.361 0 0 99.99 0.0 0.0 1;
23 36 100 1 60 0 0 0.0005 0.0272 0 1 0 99.99 0.0 0.0 1;
25 26 100 1 60 0 0 0.0032 0.0323 0.513 0 0 99.99 0.0 0.0 1;
25 37 100 1 60 0 0 0.0006 0.0232 0 1.025 0 99.99 0.0 0.0 1;
26 27 100 1 60 0 0 0.0014 0.0147 0.2396 0 0 99.99 0.0 0.0 1;
26 28 100 1 60 0 0 0.0043 0.0474 0.7802 0 0 99.99 0.0 0.0 1;
26 29 100 1 60 0 0 0.0057 0.0625 1.029 0 0 99.99 0.0 0.0 1;
28 29 100 1 60 0 0 0.0014 0.0151 0.249 0 0 99.99 0.0 0.0 1;
29 38 100 1 60 0 0 0.0008 0.0156 0 1.025 0 99.99 0.0 0.0 1];
%
% Ltc.con = [ ...
% 31 6 100 1 60 1 0 0.1 1.2 0.8 0.05 1 0.025 0 0 1];
Ltc.con=[];
Demand.con=[];
Supply.con=[];
Syn.con = [ ...
30 100 1 60 6 0.0125 0.000140 0.085 0.031 0.0170 10.2 0.95 0.069 0.008 0.0044 1.5 0.35 8.4 2.5 0 0 1 1 0 0 0;
31 100 1 60 6 0.0350 0.002700 0.085 0.0697 0.0308 6.56 0.46 0.082 0.07 0.0300 1.5 0.33 6.06 2.5 0 0 1 1 0 0 0;
32 100 1 60 6 0.0304 0.000386 0.0795 0.0531 0.0250 5.7 0.43 0.077 0.0476 0.0368 1.5 0.32 7.16 2.5 0 0 1 1 0 0 0;
33 100 1 60 6 0.0295 0.000222 0.0820 0.0436 0.0208 5.69 0.43 0.088 0.086 0.0784 1.5 0.38 5.72 2.5 0 0 1 1 0 0 0;
34 100 1 60 6 0.0540 0.000140 0.075 0.070 0.0610 5.4 0.41 0.072 0.067 0.0665 0.44 0.17 5.2 2.5 0 0 1 1 0 0 0;
35 100 1 60 6 0.0224 0.006150 0.074 0.05 0.0309 7.3 0.50 0.071 0.0514 0.0456 0.4 0.15 6.96 2.5 0 0 1 1 0 0 0;
36 100 1 60 6 0.0322 0.000268 0.065 0.049 0.0289 5.66 0.30 0.065 0.058 0.0446 1.5 0.29 5.28 2.5 0 0 1 1 0 0 0;
37 100 1 60 6 0.0280 0.000686 0.062 0.057 0.0338 6.7 0.33 0.060 0.0713 0.0382 0.41 0.09 4.86 2.5 0 0 1 1 0 0 0;
38 100 1 60 6 0.0298 0.000300 0.052 0.047 0.0319 4.79 0.30 0.052 0.0587 0.0299 1.96 0.59 6.9 2.5 0 0 1 1 0 0 0;
39 100 1 60 6 0.0030 0.000100 0.020 0.006 0.0034 7 0.60 0.019 0.008 0.0044 0.7 0.43 100 2.5 0 0 1 1 0 0 0
];
Bus.names = {...
'Bus- 1';
'Bus- 2';
'Bus- 3';
'Bus- 4';
'Bus- 5';
'Bus- 6';
'Bus- 7';
'Bus- 8';
'Bus- 9';
'Bus-10';
'Bus-11';
'Bus-12';
'Bus-13';
'Bus-14';
'Bus-15';
'Bus-16';
'Bus-17';
'Bus-18';
'Bus-19';
'Bus-20';
'Bus-21';
'Bus-22';
'Bus-23';
'Bus-24';
'Bus-25';
'Bus-26';
'Bus-27';
'Bus-28';
'Bus-29';
'Bus-30';
'Bus-31';
'Bus-32';
'Bus-33';
'Bus-34';
'Bus-35';
'Bus-36';
'Bus-37';
'Bus-38';
'Bus-39'};

@ -0,0 +1,513 @@
% IEEE 118-bus test system
% From Power Systems Test Case Archive, University of Washington
% https://labs.ece.uw.edu/pstca/pf118/pg_tca118bus.htm
%
% Converted from IEEE CDF format to PSAT (MATLAB) format using PSAT (MATLAB)
Bus.con = [ ...
1 100.00 0.95500 0.19150 1 1;
2 100.00 0.97100 0.20092 1 1;
3 100.00 0.96700 0.20693 1 1;
4 100.00 0.99800 0.27182 1 1;
5 100.00 1.00200 0.27958 1 1;
6 100.00 0.99000 0.23197 1 1;
7 100.00 0.98900 0.22422 1 1;
8 100.00 1.01500 0.36722 1 1;
9 100.00 1.04200 0.49382 1 1;
10 100.00 1.05000 0.62614 1 1;
11 100.00 0.98500 0.22698 1 1;
12 100.00 0.99000 0.21796 1 1;
13 100.00 0.96800 0.20296 1 1;
14 100.00 0.98300 0.20544 1 1;
15 100.00 0.97000 0.20026 1 1;
16 100.00 0.98300 0.21270 1 1;
17 100.00 0.99500 0.24426 1 1;
18 100.00 0.97300 0.20560 1 1;
19 100.00 0.96200 0.19747 1 1;
20 100.00 0.95600 0.21277 1 1;
21 100.00 0.95700 0.24047 1 1;
22 100.00 0.96900 0.28503 1 1;
23 100.00 0.99900 0.37085 1 1;
24 100.00 0.99200 0.36849 1 1;
25 100.00 1.05000 0.49182 1 1;
26 100.00 1.01500 0.52290 1 1;
27 100.00 0.96800 0.27234 1 1;
28 100.00 0.96100 0.24222 1 1;
29 100.00 0.96300 0.22489 1 1;
30 100.00 0.98500 0.33219 1 1;
31 100.00 0.96700 0.22691 1 1;
32 100.00 0.96300 0.26285 1 1;
33 100.00 0.97000 0.18942 1 1;
34 100.00 0.98400 0.20090 1 1;
35 100.00 0.98000 0.19295 1 1;
36 100.00 0.98000 0.19295 1 1;
37 100.00 0.99000 0.20885 1 1;
38 100.00 0.96100 0.29857 1 1;
39 100.00 0.97000 0.14969 1 1;
40 100.00 0.97000 0.13082 1 1;
41 100.00 0.96600 0.12307 1 1;
42 100.00 0.98500 0.15102 1 1;
43 100.00 0.97700 0.20001 1 1;
44 100.00 0.98400 0.24335 1 1;
45 100.00 0.98600 0.27527 1 1;
46 100.00 1.00500 0.32419 1 1;
47 100.00 1.01700 0.36301 1 1;
48 100.00 1.02000 0.34938 1 1;
49 100.00 1.02500 0.36689 1 1;
50 100.00 1.00100 0.33130 1 1;
51 100.00 0.96600 0.28561 1 1;
52 100.00 0.95600 0.26896 1 1;
53 100.00 0.94600 0.25196 1 1;
54 100.00 0.95500 0.26787 1 1;
55 100.00 0.95200 0.26281 1 1;
56 100.00 0.95400 0.26606 1 1;
57 100.00 0.97000 0.28709 1 1;
58 100.00 0.95900 0.27213 1 1;
59 100.00 0.98500 0.33943 1 1;
60 100.00 0.99300 0.40544 1 1;
61 100.00 0.99500 0.42099 1 1;
62 100.00 0.99800 0.41022 1 1;
63 100.00 0.96800 0.39841 1 1;
64 100.00 0.98300 0.42923 1 1;
65 100.00 1.00500 0.48379 1 1;
66 100.00 1.05000 0.48098 1 1;
67 100.00 1.01900 0.43492 1 1;
68 100.00 1.00300 0.48166 1 1;
69 100.00 1.03500 0.52360 1 1;
70 100.00 0.98400 0.39474 1 1;
71 100.00 0.98600 0.38757 1 1;
72 100.00 0.98000 0.36840 1 1;
73 100.00 0.99100 0.38389 1 1;
74 100.00 0.95800 0.37818 1 1;
75 100.00 0.96700 0.40020 1 1;
76 100.00 0.94300 0.38045 1 1;
77 100.00 1.00600 0.46688 1 1;
78 100.00 1.00300 0.46157 1 1;
79 100.00 1.00900 0.46679 1 1;
80 100.00 1.04000 0.50597 1 1;
81 100.00 0.99600 0.49121 1 1;
82 100.00 0.98800 0.47597 1 1;
83 100.00 0.98400 0.49679 1 1;
84 100.00 0.97900 0.54105 1 1;
85 100.00 0.98500 0.56819 1 1;
86 100.00 0.98600 0.54430 1 1;
87 100.00 1.01500 0.54882 1 1;
88 100.00 0.98700 0.62291 1 1;
89 100.00 1.00500 0.69373 1 1;
90 100.00 0.98500 0.58186 1 1;
91 100.00 0.98000 0.58207 1 1;
92 100.00 0.99000 0.59132 1 1;
93 100.00 0.98500 0.53842 1 1;
94 100.00 0.98900 0.50060 1 1;
95 100.00 0.98000 0.48361 1 1;
96 100.00 0.99200 0.48070 1 1;
97 100.00 1.01100 0.48721 1 1;
98 100.00 1.02300 0.47880 1 1;
99 100.00 1.01000 0.47239 1 1;
100 100.00 1.01700 0.48970 1 1;
101 100.00 0.99100 0.51742 1 1;
102 100.00 0.98900 0.56488 1 1;
103 100.00 1.01000 0.42441 1 1;
104 100.00 0.97100 0.37956 1 1;
105 100.00 0.96500 0.36029 1 1;
106 100.00 0.96100 0.35575 1 1;
107 100.00 0.95200 0.30686 1 1;
108 100.00 0.96600 0.33934 1 1;
109 100.00 0.96700 0.33144 1 1;
110 100.00 0.97300 0.31667 1 1;
111 100.00 0.98000 0.34538 1 1;
112 100.00 0.97500 0.26257 1 1;
113 100.00 0.99300 0.24421 1 1;
114 100.00 0.96000 0.25702 1 1;
115 100.00 0.96000 0.25688 1 1;
116 100.00 1.00500 0.47407 1 1;
117 100.00 0.97300 0.19106 1 1;
118 100.00 0.94900 0.38294 1 1;
];
SW.con = [ ...
69 100.0 100.00 1.13500 0.00000 3.00000 -3.00000 1.1 0.9 5.13863 1 1 1;
];
PV.con = [ ...
1 100.0 100.00 0.00000 0.95500 0.15000 -0.05000 1.1 0.9 1 1;
4 100.0 100.00 -0.09000 0.99800 3.00000 -3.00000 1.1 0.9 1 1;
6 100.0 100.00 0.00000 0.99000 0.50000 -0.13000 1.1 0.9 1 1;
8 100.0 100.00 -0.28000 1.01500 3.00000 -3.00000 1.1 0.9 1 1;
10 100.0 100.00 4.50000 1.05000 2.00000 -1.47000 1.1 0.9 1 1;
12 100.0 100.00 0.85000 0.99000 1.20000 -0.35000 1.1 0.9 1 1;
15 100.0 100.00 0.00000 0.97000 0.30000 -0.10000 1.1 0.9 1 1;
18 100.0 100.00 0.00000 0.97300 0.50000 -0.16000 1.1 0.9 1 1;
19 100.0 100.00 0.00000 0.96200 0.24000 -0.08000 1.1 0.9 1 1;
24 100.0 100.00 -0.13000 0.99200 3.00000 -3.00000 1.1 0.9 1 1;
25 100.0 100.00 2.20000 1.05000 1.40000 -0.47000 1.1 0.9 1 1;
26 100.0 100.00 3.14000 1.01500 10.00000 -10.00000 1.1 0.9 1 1;
27 100.0 100.00 -0.09000 0.96800 3.00000 -3.00000 1.1 0.9 1 1;
31 100.0 100.00 0.07000 0.96700 3.00000 -3.00000 1.1 0.9 1 1;
32 100.0 100.00 0.00000 0.96300 0.42000 -0.14000 1.1 0.9 1 1;
34 100.0 100.00 0.00000 0.98400 0.24000 -0.08000 1.1 0.9 1 1;
36 100.0 100.00 0.00000 0.98000 0.24000 -0.08000 1.1 0.9 1 1;
40 100.0 100.00 -0.46000 0.97000 3.00000 -3.00000 1.1 0.9 1 1;
42 100.0 100.00 -0.59000 0.98500 3.00000 -3.00000 1.1 0.9 1 1;
46 100.0 100.00 0.19000 1.00500 1.00000 -1.00000 1.1 0.9 1 1;
49 100.0 100.00 2.04000 1.02500 2.10000 -0.85000 1.1 0.9 1 1;
54 100.0 100.00 0.48000 0.95500 3.00000 -3.00000 1.1 0.9 1 1;
55 100.0 100.00 0.00000 0.95200 0.23000 -0.08000 1.1 0.9 1 1;
56 100.0 100.00 0.00000 0.95400 0.15000 -0.08000 1.1 0.9 1 1;
59 100.0 100.00 1.55000 0.98500 1.80000 -0.60000 1.1 0.9 1 1;
61 100.0 100.00 1.60000 0.99500 3.00000 -1.00000 1.1 0.9 1 1;
62 100.0 100.00 0.00000 0.99800 0.20000 -0.20000 1.1 0.9 1 1;
65 100.0 100.00 3.91000 1.00500 2.00000 -0.67000 1.1 0.9 1 1;
66 100.0 100.00 3.92000 1.05000 2.00000 -0.67000 1.1 0.9 1 1;
70 100.0 100.00 0.00000 0.98400 0.32000 -0.10000 1.1 0.9 1 1;
72 100.0 100.00 -0.12000 0.98000 1.00000 -1.00000 1.1 0.9 1 1;
73 100.0 100.00 -0.06000 0.99100 1.00000 -1.00000 1.1 0.9 1 1;
74 100.0 100.00 0.00000 0.95800 0.09000 -0.06000 1.1 0.9 1 1;
76 100.0 100.00 0.00000 0.94300 0.23000 -0.08000 1.1 0.9 1 1;
77 100.0 100.00 0.00000 1.00600 0.70000 -0.20000 1.1 0.9 1 1;
80 100.0 100.00 4.77000 1.04000 2.80000 -1.65000 1.1 0.9 1 1;
85 100.0 100.00 0.00000 0.98500 0.23000 -0.08000 1.1 0.9 1 1;
87 100.0 100.00 0.04000 1.01500 10.00000 -1.00000 1.1 0.9 1 1;
89 100.0 100.00 6.07000 1.00500 3.00000 -2.10000 1.1 0.9 1 1;
90 100.0 100.00 -0.85000 0.98500 3.00000 -3.00000 1.1 0.9 1 1;
91 100.0 100.00 -0.10000 0.98000 1.00000 -1.00000 1.1 0.9 1 1;
92 100.0 100.00 0.00000 0.99000 0.09000 -0.03000 1.1 0.9 1 1;
99 100.0 100.00 -0.42000 1.01000 1.00000 -1.00000 1.1 0.9 1 1;
100 100.0 100.00 2.52000 1.01700 1.55000 -0.50000 1.1 0.9 1 1;
103 100.0 100.00 0.40000 1.01000 0.40000 -0.15000 1.1 0.9 1 1;
104 100.0 100.00 0.00000 0.97100 0.23000 -0.08000 1.1 0.9 1 1;
105 100.0 100.00 0.00000 0.96500 0.23000 -0.08000 1.1 0.9 1 1;
107 100.0 100.00 -0.22000 0.95200 2.00000 -2.00000 1.1 0.9 1 1;
110 100.0 100.00 0.00000 0.97300 0.23000 -0.08000 1.1 0.9 1 1;
111 100.0 100.00 0.36000 0.98000 10.00000 -1.00000 1.1 0.9 1 1;
112 100.0 100.00 -0.43000 0.97500 10.00000 -1.00000 1.1 0.9 1 1;
113 100.0 100.00 -0.06000 0.99300 2.00000 -1.00000 1.1 0.9 1 1;
116 100.0 100.00 -1.84000 1.00500 10.00000 -10.00000 1.1 0.9 1 1;
];
PQ.con = [ ...
1 100.0 100.00 0.51000 0.27000 1.1 0.9 1 1;
2 100.0 100.00 0.20000 0.09000 1.1 0.9 1 1;
3 100.0 100.00 0.39000 0.10000 1.1 0.9 1 1;
4 100.0 100.00 0.30000 0.12000 1.1 0.9 1 1;
6 100.0 100.00 0.52000 0.22000 1.1 0.9 1 1;
7 100.0 100.00 0.19000 0.02000 1.1 0.9 1 1;
11 100.0 100.00 0.70000 0.23000 1.1 0.9 1 1;
12 100.0 100.00 0.47000 0.10000 1.1 0.9 1 1;
13 100.0 100.00 0.34000 0.16000 1.1 0.9 1 1;
14 100.0 100.00 0.14000 0.01000 1.1 0.9 1 1;
15 100.0 100.00 0.90000 0.30000 1.1 0.9 1 1;
16 100.0 100.00 0.25000 0.10000 1.1 0.9 1 1;
17 100.0 100.00 0.11000 0.03000 1.1 0.9 1 1;
18 100.0 100.00 0.60000 0.34000 1.1 0.9 1 1;
19 100.0 100.00 0.45000 0.25000 1.1 0.9 1 1;
20 100.0 100.00 0.18000 0.03000 1.1 0.9 1 1;
21 100.0 100.00 0.14000 0.08000 1.1 0.9 1 1;
22 100.0 100.00 0.10000 0.05000 1.1 0.9 1 1;
23 100.0 100.00 0.07000 0.03000 1.1 0.9 1 1;
27 100.0 100.00 0.62000 0.13000 1.1 0.9 1 1;
28 100.0 100.00 0.17000 0.07000 1.1 0.9 1 1;
29 100.0 100.00 0.24000 0.04000 1.1 0.9 1 1;
31 100.0 100.00 0.43000 0.27000 1.1 0.9 1 1;
32 100.0 100.00 0.59000 0.23000 1.1 0.9 1 1;
33 100.0 100.00 0.23000 0.09000 1.1 0.9 1 1;
34 100.0 100.00 0.59000 0.26000 1.1 0.9 1 1;
35 100.0 100.00 0.33000 0.09000 1.1 0.9 1 1;
36 100.0 100.00 0.31000 0.17000 1.1 0.9 1 1;
39 100.0 100.00 0.27000 0.11000 1.1 0.9 1 1;
40 100.0 100.00 0.20000 0.23000 1.1 0.9 1 1;
41 100.0 100.00 0.37000 0.10000 1.1 0.9 1 1;
42 100.0 100.00 0.37000 0.23000 1.1 0.9 1 1;
43 100.0 100.00 0.18000 0.07000 1.1 0.9 1 1;
44 100.0 100.00 0.16000 0.08000 1.1 0.9 1 1;
45 100.0 100.00 0.53000 0.22000 1.1 0.9 1 1;
46 100.0 100.00 0.28000 0.10000 1.1 0.9 1 1;
47 100.0 100.00 0.34000 0.00000 1.1 0.9 1 1;
48 100.0 100.00 0.20000 0.11000 1.1 0.9 1 1;
49 100.0 100.00 0.87000 0.30000 1.1 0.9 1 1;
50 100.0 100.00 0.17000 0.04000 1.1 0.9 1 1;
51 100.0 100.00 0.17000 0.08000 1.1 0.9 1 1;
52 100.0 100.00 0.18000 0.05000 1.1 0.9 1 1;
53 100.0 100.00 0.23000 0.11000 1.1 0.9 1 1;
54 100.0 100.00 1.13000 0.32000 1.1 0.9 1 1;
55 100.0 100.00 0.63000 0.22000 1.1 0.9 1 1;
56 100.0 100.00 0.84000 0.18000 1.1 0.9 1 1;
57 100.0 100.00 0.12000 0.03000 1.1 0.9 1 1;
58 100.0 100.00 0.12000 0.03000 1.1 0.9 1 1;
59 100.0 100.00 2.77000 1.13000 1.1 0.9 1 1;
60 100.0 100.00 0.78000 0.03000 1.1 0.9 1 1;
62 100.0 100.00 0.77000 0.14000 1.1 0.9 1 1;
66 100.0 100.00 0.39000 0.18000 1.1 0.9 1 1;
67 100.0 100.00 0.28000 0.07000 1.1 0.9 1 1;
70 100.0 100.00 0.66000 0.20000 1.1 0.9 1 1;
74 100.0 100.00 0.68000 0.27000 1.1 0.9 1 1;
75 100.0 100.00 0.47000 0.11000 1.1 0.9 1 1;
76 100.0 100.00 0.68000 0.36000 1.1 0.9 1 1;
77 100.0 100.00 0.61000 0.28000 1.1 0.9 1 1;
78 100.0 100.00 0.71000 0.26000 1.1 0.9 1 1;
79 100.0 100.00 0.39000 0.32000 1.1 0.9 1 1;
80 100.0 100.00 1.30000 0.26000 1.1 0.9 1 1;
82 100.0 100.00 0.54000 0.27000 1.1 0.9 1 1;
83 100.0 100.00 0.20000 0.10000 1.1 0.9 1 1;
84 100.0 100.00 0.11000 0.07000 1.1 0.9 1 1;
85 100.0 100.00 0.24000 0.15000 1.1 0.9 1 1;
86 100.0 100.00 0.21000 0.10000 1.1 0.9 1 1;
88 100.0 100.00 0.48000 0.10000 1.1 0.9 1 1;
90 100.0 100.00 0.78000 0.42000 1.1 0.9 1 1;
92 100.0 100.00 0.65000 0.10000 1.1 0.9 1 1;
93 100.0 100.00 0.12000 0.07000 1.1 0.9 1 1;
94 100.0 100.00 0.30000 0.16000 1.1 0.9 1 1;
95 100.0 100.00 0.42000 0.31000 1.1 0.9 1 1;
96 100.0 100.00 0.38000 0.15000 1.1 0.9 1 1;
97 100.0 100.00 0.15000 0.09000 1.1 0.9 1 1;
98 100.0 100.00 0.34000 0.08000 1.1 0.9 1 1;
100 100.0 100.00 0.37000 0.18000 1.1 0.9 1 1;
101 100.0 100.00 0.22000 0.15000 1.1 0.9 1 1;
102 100.0 100.00 0.05000 0.03000 1.1 0.9 1 1;
103 100.0 100.00 0.23000 0.16000 1.1 0.9 1 1;
104 100.0 100.00 0.38000 0.25000 1.1 0.9 1 1;
105 100.0 100.00 0.31000 0.26000 1.1 0.9 1 1;
106 100.0 100.00 0.43000 0.16000 1.1 0.9 1 1;
107 100.0 100.00 0.28000 0.12000 1.1 0.9 1 1;
108 100.0 100.00 0.02000 0.01000 1.1 0.9 1 1;
109 100.0 100.00 0.08000 0.03000 1.1 0.9 1 1;
110 100.0 100.00 0.39000 0.30000 1.1 0.9 1 1;
112 100.0 100.00 0.25000 0.13000 1.1 0.9 1 1;
114 100.0 100.00 0.08000 0.03000 1.1 0.9 1 1;
115 100.0 100.00 0.22000 0.07000 1.1 0.9 1 1;
117 100.0 100.00 0.20000 0.08000 1.1 0.9 1 1;
118 100.0 100.00 0.33000 0.15000 1.1 0.9 1 1;
];
Shunt.con = [ ...
5 100.0 100.00 60 0.00000 -0.40000 1;
34 100.0 100.00 60 0.00000 0.14000 1;
37 100.0 100.00 60 0.00000 -0.25000 1;
44 100.0 100.00 60 0.00000 0.10000 1;
45 100.0 100.00 60 0.00000 0.10000 1;
46 100.0 100.00 60 0.00000 0.10000 1;
48 100.0 100.00 60 0.00000 0.15000 1;
74 100.0 100.00 60 0.00000 0.12000 1;
79 100.0 100.00 60 0.00000 0.20000 1;
82 100.0 100.00 60 0.00000 0.20000 1;
83 100.0 100.00 60 0.00000 0.10000 1;
105 100.0 100.00 60 0.00000 0.20000 1;
107 100.0 100.00 60 0.00000 0.06000 1;
110 100.0 100.00 60 0.00000 0.06000 1;
];
Line.con = [ ...
2 1 100.00 100.00 60 0 0.0000 0.03030 0.09990 0.02540 0.00000 0.00000 0 0.000 0.000 1;% 1
3 1 100.00 100.00 60 0 0.0000 0.01290 0.04240 0.01082 0.00000 0.00000 0 0.000 0.000 1;% 2
5 4 100.00 100.00 60 0 0.0000 0.00176 0.00798 0.00210 0.00000 0.00000 0 0.000 0.000 1;% 3
5 3 100.00 100.00 60 0 0.0000 0.02410 0.10800 0.02840 0.00000 0.00000 0 0.000 0.000 1;% 4
6 5 100.00 100.00 60 0 0.0000 0.01190 0.05400 0.01426 0.00000 0.00000 0 0.000 0.000 1;% 5
7 6 100.00 100.00 60 0 0.0000 0.00459 0.02080 0.00550 0.00000 0.00000 0 0.000 0.000 1;% 6
9 8 100.00 100.00 60 0 0.0000 0.00244 0.03050 1.16200 0.00000 0.00000 0 0.000 0.000 1;% 7
8 5 100.00 100.00 60 0 0.0000 0.00000 0.02670 0.00000 0.98500 0.00000 0 0.000 0.000 1;% 8
10 9 100.00 100.00 60 0 0.0000 0.00258 0.03220 1.23000 0.00000 0.00000 0 0.000 0.000 1;% 9
11 4 100.00 100.00 60 0 0.0000 0.02090 0.06880 0.01748 0.00000 0.00000 0 0.000 0.000 1;% 10
11 5 100.00 100.00 60 0 0.0000 0.02030 0.06820 0.01738 0.00000 0.00000 0 0.000 0.000 1;% 11
12 11 100.00 100.00 60 0 0.0000 0.00595 0.01960 0.00502 0.00000 0.00000 0 0.000 0.000 1;% 12
12 2 100.00 100.00 60 0 0.0000 0.01870 0.06160 0.01572 0.00000 0.00000 0 0.000 0.000 1;% 13
12 3 100.00 100.00 60 0 0.0000 0.04840 0.16000 0.04060 0.00000 0.00000 0 0.000 0.000 1;% 14
12 7 100.00 100.00 60 0 0.0000 0.00862 0.03400 0.00874 0.00000 0.00000 0 0.000 0.000 1;% 15
13 11 100.00 100.00 60 0 0.0000 0.02225 0.07310 0.01876 0.00000 0.00000 0 0.000 0.000 1;% 16
14 12 100.00 100.00 60 0 0.0000 0.02150 0.07070 0.01816 0.00000 0.00000 0 0.000 0.000 1;% 17
15 13 100.00 100.00 60 0 0.0000 0.07440 0.24440 0.06268 0.00000 0.00000 0 0.000 0.000 1;% 18
15 14 100.00 100.00 60 0 0.0000 0.05950 0.19500 0.05020 0.00000 0.00000 0 0.000 0.000 1;% 19
16 12 100.00 100.00 60 0 0.0000 0.02120 0.08340 0.02140 0.00000 0.00000 0 0.000 0.000 1;% 20
17 15 100.00 100.00 60 0 0.0000 0.01320 0.04370 0.04440 0.00000 0.00000 0 0.000 0.000 1;% 21
17 16 100.00 100.00 60 0 0.0000 0.04540 0.18010 0.04660 0.00000 0.00000 0 0.000 0.000 1;% 22
18 17 100.00 100.00 60 0 0.0000 0.01230 0.05050 0.01298 0.00000 0.00000 0 0.000 0.000 1;% 23
19 18 100.00 100.00 60 0 0.0000 0.01119 0.04930 0.01142 0.00000 0.00000 0 0.000 0.000 1;% 24
20 19 100.00 100.00 60 0 0.0000 0.02520 0.11700 0.02980 0.00000 0.00000 0 0.000 0.000 1;% 25
19 15 100.00 100.00 60 0 0.0000 0.01200 0.03940 0.01010 0.00000 0.00000 0 0.000 0.000 1;% 26
21 20 100.00 100.00 60 0 0.0000 0.01830 0.08490 0.02160 0.00000 0.00000 0 0.000 0.000 1;% 27
22 21 100.00 100.00 60 0 0.0000 0.02090 0.09700 0.02460 0.00000 0.00000 0 0.000 0.000 1;% 28
23 22 100.00 100.00 60 0 0.0000 0.03420 0.15900 0.04040 0.00000 0.00000 0 0.000 0.000 1;% 29
24 23 100.00 100.00 60 0 0.0000 0.01350 0.04920 0.04980 0.00000 0.00000 0 0.000 0.000 1;% 30
25 23 100.00 100.00 60 0 0.0000 0.01560 0.08000 0.08640 0.00000 0.00000 0 0.000 0.000 1;% 31
26 25 100.00 100.00 60 0 0.0000 0.00000 0.03820 0.00000 0.96000 0.00000 0 0.000 0.000 1;% 32
27 25 100.00 100.00 60 0 0.0000 0.03180 0.16300 0.17640 0.00000 0.00000 0 0.000 0.000 1;% 33
28 27 100.00 100.00 60 0 0.0000 0.01913 0.08550 0.02160 0.00000 0.00000 0 0.000 0.000 1;% 34
29 28 100.00 100.00 60 0 0.0000 0.02370 0.09430 0.02380 0.00000 0.00000 0 0.000 0.000 1;% 35
30 17 100.00 100.00 60 0 0.0000 0.00000 0.03880 0.00000 0.96000 0.00000 0 0.000 0.000 1;% 36
30 8 100.00 100.00 60 0 0.0000 0.00431 0.05040 0.51400 0.00000 0.00000 0 0.000 0.000 1;% 37
30 26 100.00 100.00 60 0 0.0000 0.00799 0.08600 0.90800 0.00000 0.00000 0 0.000 0.000 1;% 38
31 17 100.00 100.00 60 0 0.0000 0.04740 0.15630 0.03990 0.00000 0.00000 0 0.000 0.000 1;% 39
31 29 100.00 100.00 60 0 0.0000 0.01080 0.03310 0.00830 0.00000 0.00000 0 0.000 0.000 1;% 40
32 23 100.00 100.00 60 0 0.0000 0.03170 0.11530 0.11730 0.00000 0.00000 0 0.000 0.000 1;% 41
32 31 100.00 100.00 60 0 0.0000 0.02980 0.09850 0.02510 0.00000 0.00000 0 0.000 0.000 1;% 42
32 27 100.00 100.00 60 0 0.0000 0.02290 0.07550 0.01926 0.00000 0.00000 0 0.000 0.000 1;% 43
33 15 100.00 100.00 60 0 0.0000 0.03800 0.12440 0.03194 0.00000 0.00000 0 0.000 0.000 1;% 44
34 19 100.00 100.00 60 0 0.0000 0.07520 0.24700 0.06320 0.00000 0.00000 0 0.000 0.000 1;% 45
36 35 100.00 100.00 60 0 0.0000 0.00224 0.01020 0.00268 0.00000 0.00000 0 0.000 0.000 1;% 46
37 35 100.00 100.00 60 0 0.0000 0.01100 0.04970 0.01318 0.00000 0.00000 0 0.000 0.000 1;% 47
37 33 100.00 100.00 60 0 0.0000 0.04150 0.14200 0.03660 0.00000 0.00000 0 0.000 0.000 1;% 48
36 34 100.00 100.00 60 0 0.0000 0.00871 0.02680 0.00568 0.00000 0.00000 0 0.000 0.000 1;% 49
37 34 100.00 100.00 60 0 0.0000 0.00256 0.00940 0.00984 0.00000 0.00000 0 0.000 0.000 1;% 50
38 37 100.00 100.00 60 0 0.0000 0.00000 0.03750 0.00000 0.93500 0.00000 0 0.000 0.000 1;% 51
39 37 100.00 100.00 60 0 0.0000 0.03210 0.10600 0.02700 0.00000 0.00000 0 0.000 0.000 1;% 52
40 37 100.00 100.00 60 0 0.0000 0.05930 0.16800 0.04200 0.00000 0.00000 0 0.000 0.000 1;% 53
38 30 100.00 100.00 60 0 0.0000 0.00464 0.05400 0.42200 0.00000 0.00000 0 0.000 0.000 1;% 54
40 39 100.00 100.00 60 0 0.0000 0.01840 0.06050 0.01552 0.00000 0.00000 0 0.000 0.000 1;% 55
41 40 100.00 100.00 60 0 0.0000 0.01450 0.04870 0.01222 0.00000 0.00000 0 0.000 0.000 1;% 56
42 40 100.00 100.00 60 0 0.0000 0.05550 0.18300 0.04660 0.00000 0.00000 0 0.000 0.000 1;% 57
42 41 100.00 100.00 60 0 0.0000 0.04100 0.13500 0.03440 0.00000 0.00000 0 0.000 0.000 1;% 58
44 43 100.00 100.00 60 0 0.0000 0.06080 0.24540 0.06068 0.00000 0.00000 0 0.000 0.000 1;% 59
43 34 100.00 100.00 60 0 0.0000 0.04130 0.16810 0.04226 0.00000 0.00000 0 0.000 0.000 1;% 60
45 44 100.00 100.00 60 0 0.0000 0.02240 0.09010 0.02240 0.00000 0.00000 0 0.000 0.000 1;% 61
46 45 100.00 100.00 60 0 0.0000 0.04000 0.13560 0.03320 0.00000 0.00000 0 0.000 0.000 1;% 62
47 46 100.00 100.00 60 0 0.0000 0.03800 0.12700 0.03160 0.00000 0.00000 0 0.000 0.000 1;% 63
48 46 100.00 100.00 60 0 0.0000 0.06010 0.18900 0.04720 0.00000 0.00000 0 0.000 0.000 1;% 64
49 47 100.00 100.00 60 0 0.0000 0.01910 0.06250 0.01604 0.00000 0.00000 0 0.000 0.000 1;% 65
49 42 100.00 100.00 60 0 0.0000 0.07150 0.32300 0.08600 0.00000 0.00000 0 0.000 0.000 1;% 66
49 42 100.00 100.00 60 0 0.0000 0.07150 0.32300 0.08600 0.00000 0.00000 0 0.000 0.000 1;% 67
49 45 100.00 100.00 60 0 0.0000 0.06840 0.18600 0.04440 0.00000 0.00000 0 0.000 0.000 1;% 68
49 48 100.00 100.00 60 0 0.0000 0.01790 0.05050 0.01258 0.00000 0.00000 0 0.000 0.000 1;% 69
50 49 100.00 100.00 60 0 0.0000 0.02670 0.07520 0.01874 0.00000 0.00000 0 0.000 0.000 1;% 70
51 49 100.00 100.00 60 0 0.0000 0.04860 0.13700 0.03420 0.00000 0.00000 0 0.000 0.000 1;% 71
52 51 100.00 100.00 60 0 0.0000 0.02030 0.05880 0.01396 0.00000 0.00000 0 0.000 0.000 1;% 72
53 52 100.00 100.00 60 0 0.0000 0.04050 0.16350 0.04058 0.00000 0.00000 0 0.000 0.000 1;% 73
54 53 100.00 100.00 60 0 0.0000 0.02630 0.12200 0.03100 0.00000 0.00000 0 0.000 0.000 1;% 74
54 49 100.00 100.00 60 0 0.0000 0.07300 0.28900 0.07380 0.00000 0.00000 0 0.000 0.000 1;% 75
54 49 100.00 100.00 60 0 0.0000 0.08690 0.29100 0.07300 0.00000 0.00000 0 0.000 0.000 1;% 76
55 54 100.00 100.00 60 0 0.0000 0.01690 0.07070 0.02020 0.00000 0.00000 0 0.000 0.000 1;% 77
56 54 100.00 100.00 60 0 0.0000 0.00275 0.00955 0.00732 0.00000 0.00000 0 0.000 0.000 1;% 78
56 55 100.00 100.00 60 0 0.0000 0.00488 0.01510 0.00374 0.00000 0.00000 0 0.000 0.000 1;% 79
57 56 100.00 100.00 60 0 0.0000 0.03430 0.09660 0.02420 0.00000 0.00000 0 0.000 0.000 1;% 80
57 50 100.00 100.00 60 0 0.0000 0.04740 0.13400 0.03320 0.00000 0.00000 0 0.000 0.000 1;% 81
58 56 100.00 100.00 60 0 0.0000 0.03430 0.09660 0.02420 0.00000 0.00000 0 0.000 0.000 1;% 82
58 51 100.00 100.00 60 0 0.0000 0.02550 0.07190 0.01788 0.00000 0.00000 0 0.000 0.000 1;% 83
59 54 100.00 100.00 60 0 0.0000 0.05030 0.22930 0.05980 0.00000 0.00000 0 0.000 0.000 1;% 84
59 56 100.00 100.00 60 0 0.0000 0.08250 0.25100 0.05690 0.00000 0.00000 0 0.000 0.000 1;% 85
59 56 100.00 100.00 60 0 0.0000 0.08030 0.23900 0.05360 0.00000 0.00000 0 0.000 0.000 1;% 86
59 55 100.00 100.00 60 0 0.0000 0.04739 0.21580 0.05646 0.00000 0.00000 0 0.000 0.000 1;% 87
60 59 100.00 100.00 60 0 0.0000 0.03170 0.14500 0.03760 0.00000 0.00000 0 0.000 0.000 1;% 88
61 59 100.00 100.00 60 0 0.0000 0.03280 0.15000 0.03880 0.00000 0.00000 0 0.000 0.000 1;% 89
61 60 100.00 100.00 60 0 0.0000 0.00264 0.01350 0.01456 0.00000 0.00000 0 0.000 0.000 1;% 90
62 60 100.00 100.00 60 0 0.0000 0.01230 0.05610 0.01468 0.00000 0.00000 0 0.000 0.000 1;% 91
62 61 100.00 100.00 60 0 0.0000 0.00824 0.03760 0.00980 0.00000 0.00000 0 0.000 0.000 1;% 92
63 59 100.00 100.00 60 0 0.0000 0.00000 0.03860 0.00000 0.96000 0.00000 0 0.000 0.000 1;% 93
64 63 100.00 100.00 60 0 0.0000 0.00172 0.02000 0.21600 0.00000 0.00000 0 0.000 0.000 1;% 94
64 61 100.00 100.00 60 0 0.0000 0.00000 0.02680 0.00000 0.98500 0.00000 0 0.000 0.000 1;% 95
65 38 100.00 100.00 60 0 0.0000 0.00901 0.09860 1.04600 0.00000 0.00000 0 0.000 0.000 1;% 96
65 64 100.00 100.00 60 0 0.0000 0.00269 0.03020 0.38000 0.00000 0.00000 0 0.000 0.000 1;% 97
66 49 100.00 100.00 60 0 0.0000 0.01800 0.09190 0.02480 0.00000 0.00000 0 0.000 0.000 1;% 98
66 49 100.00 100.00 60 0 0.0000 0.01800 0.09190 0.02480 0.00000 0.00000 0 0.000 0.000 1;% 99
66 62 100.00 100.00 60 0 0.0000 0.04820 0.21800 0.05780 0.00000 0.00000 0 0.000 0.000 1;% 100
67 62 100.00 100.00 60 0 0.0000 0.02580 0.11700 0.03100 0.00000 0.00000 0 0.000 0.000 1;% 101
65 66 100.00 100.00 60 0 0.0000 0.00000 0.03700 0.00000 0.93500 0.00000 0 0.000 0.000 1;% 102
67 66 100.00 100.00 60 0 0.0000 0.02240 0.10150 0.02682 0.00000 0.00000 0 0.000 0.000 1;% 103
68 65 100.00 100.00 60 0 0.0000 0.00138 0.01600 0.63800 0.00000 0.00000 0 0.000 0.000 1;% 104
69 47 100.00 100.00 60 0 0.0000 0.08440 0.27780 0.07092 0.00000 0.00000 0 0.000 0.000 1;% 105
69 49 100.00 100.00 60 0 0.0000 0.09850 0.32400 0.08280 0.00000 0.00000 0 0.000 0.000 1;% 106
68 69 100.00 100.00 60 0 0.0000 0.00000 0.03700 0.00000 0.93500 0.00000 0 0.000 0.000 1;% 107
70 69 100.00 100.00 60 0 0.0000 0.03000 0.12700 0.12200 0.00000 0.00000 0 0.000 0.000 1;% 108
70 24 100.00 100.00 60 0 0.0000 0.00221 0.41150 0.10198 0.00000 0.00000 0 0.000 0.000 1;% 109
71 70 100.00 100.00 60 0 0.0000 0.00882 0.03550 0.00878 0.00000 0.00000 0 0.000 0.000 1;% 110
72 24 100.00 100.00 60 0 0.0000 0.04880 0.19600 0.04880 0.00000 0.00000 0 0.000 0.000 1;% 111
72 71 100.00 100.00 60 0 0.0000 0.04460 0.18000 0.04444 0.00000 0.00000 0 0.000 0.000 1;% 112
73 71 100.00 100.00 60 0 0.0000 0.00866 0.04540 0.01178 0.00000 0.00000 0 0.000 0.000 1;% 113
74 70 100.00 100.00 60 0 0.0000 0.04010 0.13230 0.03368 0.00000 0.00000 0 0.000 0.000 1;% 114
75 70 100.00 100.00 60 0 0.0000 0.04280 0.14100 0.03600 0.00000 0.00000 0 0.000 0.000 1;% 115
75 69 100.00 100.00 60 0 0.0000 0.04050 0.12200 0.12400 0.00000 0.00000 0 0.000 0.000 1;% 116
75 74 100.00 100.00 60 0 0.0000 0.01230 0.04060 0.01034 0.00000 0.00000 0 0.000 0.000 1;% 117
77 76 100.00 100.00 60 0 0.0000 0.04440 0.14800 0.03680 0.00000 0.00000 0 0.000 0.000 1;% 118
77 69 100.00 100.00 60 0 0.0000 0.03090 0.10100 0.10380 0.00000 0.00000 0 0.000 0.000 1;% 119
77 75 100.00 100.00 60 0 0.0000 0.06010 0.19990 0.04978 0.00000 0.00000 0 0.000 0.000 1;% 120
78 77 100.00 100.00 60 0 0.0000 0.00376 0.01240 0.01264 0.00000 0.00000 0 0.000 0.000 1;% 121
79 78 100.00 100.00 60 0 0.0000 0.00546 0.02440 0.00648 0.00000 0.00000 0 0.000 0.000 1;% 122
80 77 100.00 100.00 60 0 0.0000 0.01700 0.04850 0.04720 0.00000 0.00000 0 0.000 0.000 1;% 123
80 77 100.00 100.00 60 0 0.0000 0.02940 0.10500 0.02280 0.00000 0.00000 0 0.000 0.000 1;% 124
80 79 100.00 100.00 60 0 0.0000 0.01560 0.07040 0.01870 0.00000 0.00000 0 0.000 0.000 1;% 125
81 68 100.00 100.00 60 0 0.0000 0.00175 0.02020 0.80800 0.00000 0.00000 0 0.000 0.000 1;% 126
81 80 100.00 100.00 60 0 0.0000 0.00000 0.03700 0.00000 0.93500 0.00000 0 0.000 0.000 1;% 127
82 77 100.00 100.00 60 0 0.0000 0.02980 0.08530 0.08174 0.00000 0.00000 0 0.000 0.000 1;% 128
83 82 100.00 100.00 60 0 0.0000 0.01120 0.03665 0.03796 0.00000 0.00000 0 0.000 0.000 1;% 129
84 83 100.00 100.00 60 0 0.0000 0.06250 0.13200 0.02580 0.00000 0.00000 0 0.000 0.000 1;% 130
85 83 100.00 100.00 60 0 0.0000 0.04300 0.14800 0.03480 0.00000 0.00000 0 0.000 0.000 1;% 131
85 84 100.00 100.00 60 0 0.0000 0.03020 0.06410 0.01234 0.00000 0.00000 0 0.000 0.000 1;% 132
86 85 100.00 100.00 60 0 0.0000 0.03500 0.12300 0.02760 0.00000 0.00000 0 0.000 0.000 1;% 133
87 86 100.00 100.00 60 0 0.0000 0.02828 0.20740 0.04450 0.00000 0.00000 0 0.000 0.000 1;% 134
88 85 100.00 100.00 60 0 0.0000 0.02000 0.10200 0.02760 0.00000 0.00000 0 0.000 0.000 1;% 135
89 85 100.00 100.00 60 0 0.0000 0.02390 0.17300 0.04700 0.00000 0.00000 0 0.000 0.000 1;% 136
89 88 100.00 100.00 60 0 0.0000 0.01390 0.07120 0.01934 0.00000 0.00000 0 0.000 0.000 1;% 137
90 89 100.00 100.00 60 0 0.0000 0.05180 0.18800 0.05280 0.00000 0.00000 0 0.000 0.000 1;% 138
90 89 100.00 100.00 60 0 0.0000 0.02380 0.09970 0.10600 0.00000 0.00000 0 0.000 0.000 1;% 139
91 90 100.00 100.00 60 0 0.0000 0.02540 0.08360 0.02140 0.00000 0.00000 0 0.000 0.000 1;% 140
92 89 100.00 100.00 60 0 0.0000 0.00990 0.05050 0.05480 0.00000 0.00000 0 0.000 0.000 1;% 141
92 89 100.00 100.00 60 0 0.0000 0.03930 0.15810 0.04140 0.00000 0.00000 0 0.000 0.000 1;% 142
92 91 100.00 100.00 60 0 0.0000 0.03870 0.12720 0.03268 0.00000 0.00000 0 0.000 0.000 1;% 143
93 92 100.00 100.00 60 0 0.0000 0.02580 0.08480 0.02180 0.00000 0.00000 0 0.000 0.000 1;% 144
94 92 100.00 100.00 60 0 0.0000 0.04810 0.15800 0.04060 0.00000 0.00000 0 0.000 0.000 1;% 145
94 93 100.00 100.00 60 0 0.0000 0.02230 0.07320 0.01876 0.00000 0.00000 0 0.000 0.000 1;% 146
95 94 100.00 100.00 60 0 0.0000 0.01320 0.04340 0.01110 0.00000 0.00000 0 0.000 0.000 1;% 147
96 80 100.00 100.00 60 0 0.0000 0.03560 0.18200 0.04940 0.00000 0.00000 0 0.000 0.000 1;% 148
96 82 100.00 100.00 60 0 0.0000 0.01620 0.05300 0.05440 0.00000 0.00000 0 0.000 0.000 1;% 149
96 94 100.00 100.00 60 0 0.0000 0.02690 0.08690 0.02300 0.00000 0.00000 0 0.000 0.000 1;% 150
97 80 100.00 100.00 60 0 0.0000 0.01830 0.09340 0.02540 0.00000 0.00000 0 0.000 0.000 1;% 151
98 80 100.00 100.00 60 0 0.0000 0.02380 0.10800 0.02860 0.00000 0.00000 0 0.000 0.000 1;% 152
99 80 100.00 100.00 60 0 0.0000 0.04540 0.20600 0.05460 0.00000 0.00000 0 0.000 0.000 1;% 153
100 92 100.00 100.00 60 0 0.0000 0.06480 0.29500 0.04720 0.00000 0.00000 0 0.000 0.000 1;% 154
100 94 100.00 100.00 60 0 0.0000 0.01780 0.05800 0.06040 0.00000 0.00000 0 0.000 0.000 1;% 155
96 95 100.00 100.00 60 0 0.0000 0.01710 0.05470 0.01474 0.00000 0.00000 0 0.000 0.000 1;% 156
97 96 100.00 100.00 60 0 0.0000 0.01730 0.08850 0.02400 0.00000 0.00000 0 0.000 0.000 1;% 157
100 98 100.00 100.00 60 0 0.0000 0.03970 0.17900 0.04760 0.00000 0.00000 0 0.000 0.000 1;% 158
100 99 100.00 100.00 60 0 0.0000 0.01800 0.08130 0.02160 0.00000 0.00000 0 0.000 0.000 1;% 159
101 100 100.00 100.00 60 0 0.0000 0.02770 0.12620 0.03280 0.00000 0.00000 0 0.000 0.000 1;% 160
102 92 100.00 100.00 60 0 0.0000 0.01230 0.05590 0.01464 0.00000 0.00000 0 0.000 0.000 1;% 161
102 101 100.00 100.00 60 0 0.0000 0.02460 0.11200 0.02940 0.00000 0.00000 0 0.000 0.000 1;% 162
103 100 100.00 100.00 60 0 0.0000 0.01600 0.05250 0.05360 0.00000 0.00000 0 0.000 0.000 1;% 163
104 100 100.00 100.00 60 0 0.0000 0.04510 0.20400 0.05410 0.00000 0.00000 0 0.000 0.000 1;% 164
104 103 100.00 100.00 60 0 0.0000 0.04660 0.15840 0.04070 0.00000 0.00000 0 0.000 0.000 1;% 165
105 103 100.00 100.00 60 0 0.0000 0.05350 0.16250 0.04080 0.00000 0.00000 0 0.000 0.000 1;% 166
106 100 100.00 100.00 60 0 0.0000 0.06050 0.22900 0.06200 0.00000 0.00000 0 0.000 0.000 1;% 167
105 104 100.00 100.00 60 0 0.0000 0.00994 0.03780 0.00986 0.00000 0.00000 0 0.000 0.000 1;% 168
106 105 100.00 100.00 60 0 0.0000 0.01400 0.05470 0.01434 0.00000 0.00000 0 0.000 0.000 1;% 169
107 105 100.00 100.00 60 0 0.0000 0.05300 0.18300 0.04720 0.00000 0.00000 0 0.000 0.000 1;% 170
108 105 100.00 100.00 60 0 0.0000 0.02610 0.07030 0.01844 0.00000 0.00000 0 0.000 0.000 1;% 171
107 106 100.00 100.00 60 0 0.0000 0.05300 0.18300 0.04720 0.00000 0.00000 0 0.000 0.000 1;% 172
109 108 100.00 100.00 60 0 0.0000 0.01050 0.02880 0.00760 0.00000 0.00000 0 0.000 0.000 1;% 173
110 103 100.00 100.00 60 0 0.0000 0.03906 0.18130 0.04610 0.00000 0.00000 0 0.000 0.000 1;% 174
110 109 100.00 100.00 60 0 0.0000 0.02780 0.07620 0.02020 0.00000 0.00000 0 0.000 0.000 1;% 175
111 110 100.00 100.00 60 0 0.0000 0.02200 0.07550 0.02000 0.00000 0.00000 0 0.000 0.000 1;% 176
112 110 100.00 100.00 60 0 0.0000 0.02470 0.06400 0.06200 0.00000 0.00000 0 0.000 0.000 1;% 177
113 17 100.00 100.00 60 0 0.0000 0.00913 0.03010 0.00768 0.00000 0.00000 0 0.000 0.000 1;% 178
113 32 100.00 100.00 60 0 0.0000 0.06150 0.20300 0.05180 0.00000 0.00000 0 0.000 0.000 1;% 179
114 32 100.00 100.00 60 0 0.0000 0.01350 0.06120 0.01628 0.00000 0.00000 0 0.000 0.000 1;% 180
115 27 100.00 100.00 60 0 0.0000 0.01640 0.07410 0.01972 0.00000 0.00000 0 0.000 0.000 1;% 181
115 114 100.00 100.00 60 0 0.0000 0.00230 0.01040 0.00276 0.00000 0.00000 0 0.000 0.000 1;% 182
116 68 100.00 100.00 60 0 0.0000 0.00034 0.00405 0.16400 0.00000 0.00000 0 0.000 0.000 1;% 183
117 12 100.00 100.00 60 0 0.0000 0.03290 0.14000 0.03580 0.00000 0.00000 0 0.000 0.000 1;% 184
118 75 100.00 100.00 60 0 0.0000 0.01450 0.04810 0.01198 0.00000 0.00000 0 0.000 0.000 1;% 185
118 76 100.00 100.00 60 0 0.0000 0.01640 0.05440 0.01356 0.00000 0.00000 0 0.000 0.000 1;% 186
];
Bus.names = { ...
'bus-1 100'; 'bus-2 100'; 'bus-3 100'; 'bus-4 100'; 'bus-5 100';
'bus-6 100'; 'bus-7 100'; 'bus-8 100'; 'bus-9 100'; 'bus-10 100';
'bus-11 100'; 'bus-12 100'; 'bus-13 100'; 'bus-14 100'; 'bus-15 100';
'bus-16 100'; 'bus-17 100'; 'bus-18 100'; 'bus-19 100'; 'bus-20 100';
'bus-21 100'; 'bus-22 100'; 'bus-23 100'; 'bus-24 100'; 'bus-25 100';
'bus-26 100'; 'bus-27 100'; 'bus-28 100'; 'bus-29 100'; 'bus-30 100';
'bus-31 100'; 'bus-32 100'; 'bus-33 100'; 'bus-34 100'; 'bus-35 100';
'bus-36 100'; 'bus-37 100'; 'bus-38 100'; 'bus-39 100'; 'bus-40 100';
'bus-41 100'; 'bus-42 100'; 'bus-43 100'; 'bus-44 100'; 'bus-45 100';
'bus-46 100'; 'bus-47 100'; 'bus-48 100'; 'bus-49 100'; 'bus-50 100';
'bus-51 100'; 'bus-52 100'; 'bus-53 100'; 'bus-54 100'; 'bus-55 100';
'bus-56 100'; 'bus-57 100'; 'bus-58 100'; 'bus-59 100'; 'bus-60 100';
'bus-61 100'; 'bus-62 100'; 'bus-63 100'; 'bus-64 100'; 'bus-65 100';
'bus-66 100'; 'bus-67 100'; 'bus-68 100'; 'bus-69 100'; 'bus-70 100';
'bus-71 100'; 'bus-72 100'; 'bus-73 100'; 'bus-74 100'; 'bus-75 100';
'bus-76 100'; 'bus-77 100'; 'bus-78 100'; 'bus-79 100'; 'bus-80 100';
'bus-81 100'; 'bus-82 100'; 'bus-83 100'; 'bus-84 100'; 'bus-85 100';
'bus-86 100'; 'bus-87 100'; 'bus-88 100'; 'bus-89 100'; 'bus-90 100';
'bus-91 100'; 'bus-92 100'; 'bus-93 100'; 'bus-94 100'; 'bus-95 100';
'bus-96 100'; 'bus-97 100'; 'bus-98 100'; 'bus-99 100'; 'bus-100 100';
'bus-101 100'; 'bus-102 100'; 'bus-103 100'; 'bus-104 100'; 'bus-105 100';
'bus-106 100'; 'bus-107 100'; 'bus-108 100'; 'bus-109 100'; 'bus-110 100';
'bus-111 100'; 'bus-112 100'; 'bus-113 100'; 'bus-114 100'; 'bus-115 100';
'bus-116 100'; 'bus-117 100'; 'bus-118 100'};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,629 @@
%bus data: 140
Bus.con = [...
1 1.0000 1.0111 0.0866 1 1
2 1.0000 1.0067 0.0727 1 1
3 1.0000 1.0470 0.0719 1 1
4 1.0000 1.0076 0.0735 1 1
5 1.0000 1.0038 0.0427 1 1
6 1.0000 1.0070 0.0338 1 1
7 1.0000 1.0233 0.0580 1 1
8 1.0000 1.0226 0.0361 1 1
9 1.0000 1.0182 0.0201 1 1
10 1.0000 1.0420 0.1391 1 1
11 1.0000 0.9841 0.1133 1 1
12 1.0000 1.0251 0.1047 1 1
13 1.0000 1.0458 0.1872 1 1
14 1.0000 1.0400 0.1821 1 1
15 1.0000 1.0292 0.0611 1 1
16 1.0000 1.0394 0.0796 1 1
17 1.0000 1.0398 0.0585 1 1
18 1.0000 1.0260 0.0276 1 1
19 1.0000 1.0408 0.1143 1 1
20 1.0000 1.0416 0.1610 1 1
21 1.0000 0.9800 0.2274 1 1
22 1.0000 0.9900 0.2315 1 1
23 1.0000 1.0066 0.2041 1 1
24 1.0000 1.0500 0.2808 1 1
25 1.0000 1.0600 0.3203 1 1
26 1.0000 1.0200 0.2815 1 1
27 1.0000 1.0200 0.2007 1 1
28 1.0000 1.0507 0.0583 1 1
29 1.0000 1.0251 0.0583 1 1
30 1.0000 1.0147 0.0142 1 1
31 1.0000 0.9947 0.0084 1 1
32 1.0000 0.9992 0.0338 1 1
33 1.0000 1.0019 0.0461 1 1
34 1.0000 0.9918 0.0101 1 1
35 1.0000 0.9911 0.0026 1 1
36 1.0000 0.9800 0.1952 1 1
37 1.0000 1.0360 0.0837 1 1
38 1.0000 1.0355 0.1252 1 1
39 1.0000 1.0349 0.0595 1 1
40 1.0000 1.0018 0.0122 1 1
41 1.0000 1.0347 -0.0548 1 1
42 1.0000 1.0400 -0.0392 1 1
43 1.0000 1.0438 0.1508 1 1
44 1.0000 1.0401 0.1198 1 1
45 1.0000 1.0379 0.0740 1 1
46 1.0000 1.0433 0.1160 1 1
47 1.0000 1.0300 0.2126 1 1
48 1.0000 1.0500 0.2714 1 1
49 1.0000 0.9435 -0.0164 1 1
50 1.0000 1.0500 0.2364 1 1
51 1.0000 1.0400 0.1540 1 1
52 1.0000 1.0405 0.3465 1 1
53 1.0000 1.0300 0.3218 1 1
54 1.0000 1.0408 0.4802 1 1
55 1.0000 1.0400 0.4679 1 1
56 1.0000 1.0300 0.4786 1 1
57 1.0000 1.0300 0.4604 1 1
58 1.0000 1.0020 0.4380 1 1
59 1.0000 1.0232 0.3975 1 1
60 1.0000 1.0400 0.5377 1 1
61 1.0000 1.0400 0.4799 1 1
62 1.0000 1.0104 0.4269 1 1
63 1.0000 1.0028 0.3135 1 1
64 1.0000 1.0055 0.2595 1 1
65 1.0000 1.0400 0.2813 1 1
66 1.0000 1.0193 0.3663 1 1
67 1.0000 1.0021 0.2939 1 1
68 1.0000 0.9900 0.2255 1 1
69 1.0000 1.0178 0.2533 1 1
70 1.0000 0.9987 0.2401 1 1
71 1.0000 1.0000 0.1978 1 1
72 1.0000 1.0500 0.1810 1 1
73 1.0000 1.0295 0.0298 1 1
74 1.0000 1.0268 0.0054 1 1
75 1.0000 1.0425 0.0214 1 1
76 1.0000 1.0485 0.0133 1 1
77 1.0000 1.0360 0.0096 1 1
78 1.0000 1.0200 0.0000 1 1
79 1.0000 1.0500 0.1426 1 1
80 1.0000 1.0232 0.0110 1 1
81 1.0000 1.0208 -0.0578 1 1
82 1.0000 1.0500 0.1321 1 1
83 1.0000 1.0098 0.4055 1 1
84 1.0000 1.0138 0.4139 1 1
85 1.0000 1.0797 0.6115 1 1
86 1.0000 1.0000 0.7053 1 1
87 1.0000 1.0196 0.5754 1 1
88 1.0000 1.0514 0.5580 1 1
89 1.0000 1.0184 0.5174 1 1
90 1.0000 1.0127 0.5157 1 1
91 1.0000 1.0400 0.2139 1 1
92 1.0000 1.0400 0.3446 1 1
93 1.0000 0.9766 0.1529 1 1
94 1.0000 0.9770 0.1572 1 1
95 1.0000 0.9789 0.2738 1 1
96 1.0000 1.0260 0.2837 1 1
97 1.0000 1.0400 0.2639 1 1
98 1.0000 1.0400 0.5715 1 1
99 1.0000 1.0396 0.5596 1 1
100 1.0000 1.0428 0.4693 1 1
101 1.0000 1.0500 0.4382 1 1
102 1.0000 1.0211 0.4581 1 1
103 1.0000 1.0117 0.4548 1 1
104 1.0000 1.0066 0.2468 1 1
105 1.0000 1.0317 0.4250 1 1
106 1.0000 1.0090 0.2710 1 1
107 1.0000 1.0188 0.2936 1 1
108 1.0000 1.0099 0.2596 1 1
109 1.0000 1.0099 0.2592 1 1
110 1.0000 1.0108 0.2343 1 1
111 1.0000 0.9830 0.1954 1 1
112 1.0000 1.0485 0.5085 1 1
113 1.0000 1.0107 0.3974 1 1
114 1.0000 1.0059 0.5249 1 1
115 1.0000 1.0200 0.5725 1 1
116 1.0000 1.0071 0.4619 1 1
117 1.0000 1.0062 0.5288 1 1
118 1.0000 1.0003 0.5455 1 1
119 1.0000 1.0000 0.5182 1 1
120 1.0000 1.0200 0.4564 1 1
121 1.0000 1.0400 0.5652 1 1
122 1.0000 1.0500 0.5569 1 1
123 1.0000 1.0100 0.6471 1 1
124 1.0000 1.0417 0.0409 1 1
125 1.0000 1.0207 -0.0601 1 1
126 1.0000 1.0208 -0.0950 1 1
127 1.0000 1.0463 0.1139 1 1
128 1.0000 1.0375 0.0470 1 1
129 1.0000 1.0229 0.1554 1 1
130 1.0000 1.0200 0.2122 1 1
131 1.0000 1.0261 0.2333 1 1
132 1.0000 1.0393 0.3410 1 1
133 1.0000 1.0200 0.5988 1 1
134 1.0000 1.0300 0.4475 1 1
135 1.0000 1.0200 0.6102 1 1
136 1.0000 1.0006 0.3441 1 1
137 1.0000 1.0400 0.3547 1 1
138 1.0000 0.9700 0.2386 1 1
139 1.0000 1.0100 0.5090 1 1
140 1.0000 1.0413 0.5375 1 1
];
%SW data: 1
SW.con = [...
78 100.0000 1.0000 1.0200 0.0000 9.9900 -9.9900 1.1000 0.9000 6.3210 1.0000 1 1
];
%PV data: 45
PV.con = [...
21 100.0000 1.0000 6.5000 0.9800 9.9900 -9.9900 1.1000 0.9000 1.0000 1
22 100.0000 1.0000 6.3200 0.9900 9.9900 -9.9900 1.1000 0.9000 1.0000 1
23 100.0000 1.0000 5.0300 1.0066 19.9800 -19.9800 1.1000 0.9000 1.0000 1
24 100.0000 1.0000 7.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
25 100.0000 1.0000 5.6000 1.0600 9.9900 -9.9900 1.1000 0.9000 1.0000 1
26 100.0000 1.0000 8.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
27 100.0000 1.0000 5.4000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
36 100.0000 1.0000 5.5400 0.9800 9.9900 -9.9900 1.1000 0.9000 1.0000 1
42 100.0000 1.0000 3.7000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
47 100.0000 1.0000 4.0000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
48 100.0000 1.0000 4.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
50 100.0000 1.0000 6.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
51 100.0000 1.0000 1.4100 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
53 100.0000 1.0000 8.3300 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
54 100.0000 1.0000 11.1500 1.0408 19.9800 -19.9800 1.1000 0.9000 1.0000 1
55 100.0000 1.0000 10.9500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
56 100.0000 1.0000 4.1000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
57 100.0000 1.0000 2.9800 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
60 100.0000 1.0000 4.1000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
61 100.0000 1.0000 1.9400 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
65 100.0000 1.0000 0.9100 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
68 100.0000 1.0000 0.6600 0.9900 9.9900 -9.9900 1.1000 0.9000 1.0000 1
71 100.0000 1.0000 1.3400 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
72 100.0000 1.0000 1.5000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
79 100.0000 1.0000 10.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
80 100.0000 1.0000 7.2000 1.0232 9.9900 -9.9900 1.1000 0.9000 1.0000 1
82 100.0000 1.0000 4.6000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
86 100.0000 1.0000 16.5000 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
91 100.0000 1.0000 9.3000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
92 100.0000 1.0000 4.5000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
97 100.0000 1.0000 6.0000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
98 100.0000 1.0000 5.8500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
101 100.0000 1.0000 12.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
115 100.0000 1.0000 5.5000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
119 100.0000 1.0000 5.5000 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
120 100.0000 1.0000 7.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
121 100.0000 1.0000 1.4500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
122 100.0000 1.0000 1.5500 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
123 100.0000 1.0000 6.5500 1.0100 9.9900 -9.9900 1.1000 0.9000 1.0000 1
130 100.0000 1.0000 4.9000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
133 100.0000 1.0000 17.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
134 100.0000 1.0000 8.8000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
135 100.0000 1.0000 23.3000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
137 100.0000 1.0000 0.7000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
139 100.0000 1.0000 1.1500 1.0100 9.9900 -9.9900 1.1000 0.9000 1.0000 1
];
%PQ data: 83
PQ.con = [...
3 100.0000 1.0000 0.0653 0.8740 1.1000 0.9000 0 1
6 100.0000 1.0000 1.0956 0.9063 1.1000 0.9000 0 1
7 100.0000 1.0000 1.4939 -0.0590 1.1000 0.9000 0 1
9 100.0000 1.0000 0.4024 0.0458 1.1000 0.9000 0 1
11 100.0000 1.0000 2.0364 -0.4934 1.1000 0.9000 0 1
12 100.0000 1.0000 0.4587 0.6730 1.1000 0.9000 0 1
14 100.0000 1.0000 0.4374 0.0635 1.1000 0.9000 0 1
15 100.0000 1.0000 3.0900 -0.9200 1.1000 0.9000 0 1
16 100.0000 1.0000 1.2680 0.0141 1.1000 0.9000 0 1
17 100.0000 1.0000 0.4321 -0.1746 1.1000 0.9000 0 1
18 100.0000 1.0000 1.8589 0.5345 1.1000 0.9000 0 1
19 100.0000 1.0000 1.6040 0.1423 1.1000 0.9000 0 1
20 100.0000 1.0000 0.7928 -0.0698 1.1000 0.9000 0 1
30 100.0000 1.0000 1.4489 -0.7360 1.1000 0.9000 0 1
31 100.0000 1.0000 2.3203 0.7550 1.1000 0.9000 0 1
34 100.0000 1.0000 0.3901 0.0932 1.1000 0.9000 0 1
35 100.0000 1.0000 1.9475 1.0614 1.1000 0.9000 0 1
36 100.0000 1.0000 0.0331 0.0326 1.1000 0.9000 0 1
41 100.0000 1.0000 1.3887 0.6641 1.1000 0.9000 0 1
42 100.0000 1.0000 0.4180 -0.1680 1.1000 0.9000 0 1
45 100.0000 1.0000 1.0145 0.0625 1.1000 0.9000 0 1
46 100.0000 1.0000 0.2300 -0.4250 1.1000 0.9000 0 1
47 100.0000 1.0000 3.5479 1.2813 1.1000 0.9000 0 1
49 100.0000 1.0000 1.3147 0.3253 1.1000 0.9000 0 1
51 100.0000 1.0000 1.3117 -0.5379 1.1000 0.9000 0 1
53 100.0000 1.0000 7.1987 2.1682 1.1000 0.9000 0 1
54 100.0000 1.0000 0.2000 0.0000 1.1000 0.9000 0 1
55 100.0000 1.0000 4.2919 -0.2560 1.1000 0.9000 0 1
56 100.0000 1.0000 1.1738 0.3551 1.1000 0.9000 0 1
57 100.0000 1.0000 2.4000 -0.0600 1.1000 0.9000 0 1
58 100.0000 1.0000 0.0965 0.1450 1.1000 0.9000 0 1
59 100.0000 1.0000 2.1229 0.7387 1.1000 0.9000 0 1
61 100.0000 1.0000 1.0657 -0.3094 1.1000 0.9000 0 1
64 100.0000 1.0000 0.6724 0.1374 1.1000 0.9000 0 1
65 100.0000 1.0000 0.9100 0.0000 1.1000 0.9000 0 1
68 100.0000 1.0000 1.5999 0.3284 1.1000 0.9000 0 1
71 100.0000 1.0000 1.1969 -0.0509 1.1000 0.9000 0 1
74 100.0000 1.0000 1.0200 0.0000 1.1000 0.9000 0 1
78 100.0000 1.0000 15.4060 4.6628 1.1000 0.9000 0 1
80 100.0000 1.0000 5.2499 -0.3207 1.1000 0.9000 0 1
83 100.0000 1.0000 0.3479 0.0442 1.1000 0.9000 0 1
85 100.0000 1.0000 0.1800 0.0000 1.1000 0.9000 0 1
86 100.0000 1.0000 0.3661 0.1988 1.1000 0.9000 0 1
88 100.0000 1.0000 0.2500 0.2477 1.1000 0.9000 0 1
89 100.0000 1.0000 0.2277 0.3607 1.1000 0.9000 0 1
90 100.0000 1.0000 0.3384 0.2126 1.1000 0.9000 0 1
91 100.0000 1.0000 11.4691 3.8723 1.1000 0.9000 0 1
92 100.0000 1.0000 0.0338 3.1886 1.1000 0.9000 0 1
93 100.0000 1.0000 1.2500 0.0000 1.1000 0.9000 0 1
94 100.0000 1.0000 0.9500 0.0000 1.1000 0.9000 0 1
95 100.0000 1.0000 -1.0000 0.8700 1.1000 0.9000 0 1
96 100.0000 1.0000 -0.4000 -0.2500 1.1000 0.9000 0 1
97 100.0000 1.0000 3.9766 -1.1283 1.1000 0.9000 0 1
101 100.0000 1.0000 0.4162 0.1239 1.1000 0.9000 0 1
104 100.0000 1.0000 0.6914 0.5666 1.1000 0.9000 0 1
105 100.0000 1.0000 3.2500 0.0000 1.1000 0.9000 0 1
106 100.0000 1.0000 0.0000 -0.1200 1.1000 0.9000 0 1
107 100.0000 1.0000 0.0000 -0.1900 1.1000 0.9000 0 1
108 100.0000 1.0000 0.0000 -0.1300 1.1000 0.9000 0 1
109 100.0000 1.0000 0.0000 -0.1300 1.1000 0.9000 0 1
110 100.0000 1.0000 1.7215 0.3583 1.1000 0.9000 0 1
111 100.0000 1.0000 1.9245 0.0141 1.1000 0.9000 0 1
113 100.0000 1.0000 2.0600 0.0000 1.1000 0.9000 0 1
114 100.0000 1.0000 0.0000 0.9000 1.1000 0.9000 0 1
115 100.0000 1.0000 1.0000 0.0000 1.1000 0.9000 0 1
116 100.0000 1.0000 2.0000 0.0000 1.1000 0.9000 0 1
117 100.0000 1.0000 1.9893 0.6033 1.1000 0.9000 0 1
118 100.0000 1.0000 0.6224 0.3946 1.1000 0.9000 0 1
119 100.0000 1.0000 5.5618 1.4990 1.1000 0.9000 0 1
120 100.0000 1.0000 9.4600 -0.4000 1.1000 0.9000 0 1
123 100.0000 1.0000 0.4453 0.0475 1.1000 0.9000 0 1
124 100.0000 1.0000 2.5109 0.1763 1.1000 0.9000 0 1
125 100.0000 1.0000 1.6843 -0.5550 1.1000 0.9000 0 1
126 100.0000 1.0000 4.5000 0.0000 1.1000 0.9000 0 1
127 100.0000 1.0000 2.0000 -1.5000 1.1000 0.9000 0 1
128 100.0000 1.0000 9.7000 -1.0200 1.1000 0.9000 0 1
129 100.0000 1.0000 6.1000 -0.5000 1.1000 0.9000 0 1
130 100.0000 1.0000 1.8000 0.0000 1.1000 0.9000 0 1
131 100.0000 1.0000 11.6000 -4.3200 1.1000 0.9000 0 1
132 100.0000 1.0000 2.1000 -3.3700 1.1000 0.9000 0 1
135 100.0000 1.0000 1.7000 0.0000 1.1000 0.9000 0 1
136 100.0000 1.0000 0.5887 1.6191 1.1000 0.9000 0 1
138 100.0000 1.0000 0.2614 0.2763 1.1000 0.9000 0 1
];
%Shunt data: 12
Shunt.con = [...
41 100.0000 1.0000 60.0000 0.0000 0.2500 1
45 100.0000 1.0000 60.0000 0.0000 0.2500 1
47 100.0000 1.0000 60.0000 0.0000 0.6000 1
48 100.0000 1.0000 60.0000 0.0000 -0.0100 1
49 100.0000 1.0000 60.0000 0.0000 0.1000 1
51 100.0000 1.0000 60.0000 0.0000 0.2500 1
54 100.0000 1.0000 60.0000 0.0000 -1.1200 1
55 100.0000 1.0000 60.0000 0.0000 0.0200 1
56 100.0000 1.0000 60.0000 0.0000 0.0600 1
58 100.0000 1.0000 60.0000 0.0000 0.0200 1
59 100.0000 1.0000 60.0000 0.0000 0.5000 1
61 100.0000 1.0000 60.0000 0.0000 0.0400 1
];
%Line Data: 233
Line.con = [...
2 1 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00430 0.07000 1.00000 0.00000 5.17580 0.00000 0.00000 1.00000
2 33 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00820 0.14000 1.00000 0.00000 7.96670 0.00000 0.00000 1.00000
4 1 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00430 0.07000 1.00000 0.00000 4.84110 0.00000 0.00000 1.00000
5 4 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.01010 0.17000 1.00000 0.00000 3.53820 0.00000 0.00000 1.00000
5 31 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01290 0.14000 1.00000 0.00000 7.83630 0.00000 0.00000 1.00000
6 5 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.02170 0.37000 1.00000 0.00000 1.25280 0.00000 0.00000 1.00000
7 6 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.00940 0.17000 1.00000 0.00000 4.17970 0.00000 0.00000 1.00000
8 7 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00890 0.13000 1.00000 0.00000 5.64530 0.00000 0.00000 1.00000
9 8 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00820 0.13000 1.00000 0.00000 3.62360 0.00000 0.00000 1.00000
9 30 100.00000 1.00000 60.00000 0 0.00000 0.00110 0.01330 0.21000 1.00000 0.00000 0.41410 0.00000 0.00000 1.00000
10 7 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.01950 0.30000 1.00000 0.00000 2.50470 0.00000 0.00000 1.00000
12 7 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01350 0.25000 1.00000 0.00000 6.97030 0.00000 0.00000 1.00000
13 12 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01400 0.26000 1.00000 0.00000 8.35820 0.00000 0.00000 1.00000
14 13 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00960 0.18000 1.00000 0.00000 1.23970 0.00000 0.00000 1.00000
15 7 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00590 0.07000 1.00000 0.00000 1.54840 0.00000 0.00000 1.00000
15 14 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.03500 0.36000 1.00000 0.00000 3.62110 0.00000 0.00000 1.00000
16 29 100.00000 1.00000 60.00000 0 0.00000 0.00700 0.00860 0.15000 1.00000 0.00000 4.01490 0.00000 0.00000 1.00000
17 16 100.00000 1.00000 60.00000 0 0.00000 0.00320 0.03230 0.53000 1.00000 0.00000 1.87990 0.00000 0.00000 1.00000
18 8 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01730 0.32000 1.00000 0.00000 0.62220 0.00000 0.00000 1.00000
18 17 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01470 0.24000 1.00000 0.00000 5.88860 0.00000 0.00000 1.00000
19 17 100.00000 1.00000 60.00000 0 0.00000 0.00430 0.04740 0.78000 1.00000 0.00000 2.32840 0.00000 0.00000 1.00000
20 17 100.00000 1.00000 60.00000 0 0.00000 0.00570 0.06250 1.03000 1.00000 0.00000 3.15910 0.00000 0.00000 1.00000
20 19 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01510 0.25000 1.00000 0.00000 3.29440 0.00000 0.00000 1.00000
30 29 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01510 0.26000 1.00000 0.00000 3.28920 0.00000 0.00000 1.00000
31 30 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.02130 0.22000 1.00000 0.00000 2.28750 0.00000 0.00000 1.00000
32 31 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01280 0.13000 1.00000 0.00000 2.62440 0.00000 0.00000 1.00000
33 32 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.00260 0.04000 1.00000 0.00000 10.54340 0.00000 0.00000 1.00000
34 33 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00920 0.11000 1.00000 0.00000 13.49600 0.00000 0.00000 1.00000
35 32 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01120 0.15000 1.00000 0.00000 7.55570 0.00000 0.00000 1.00000
35 34 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00460 0.08000 1.00000 0.00000 4.09770 0.00000 0.00000 1.00000
37 29 100.00000 1.00000 60.00000 0 0.00000 0.00350 0.04110 0.70000 1.00000 0.00000 2.58840 0.00000 0.00000 1.00000
38 37 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.01630 0.25000 1.00000 0.00000 7.41220 0.00000 0.00000 1.00000
39 37 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.00740 0.48000 1.00000 0.00000 7.85490 0.00000 0.00000 1.00000
40 37 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.03150 0.06000 1.00000 0.00000 8.53470 0.00000 0.00000 1.00000
42 41 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.00890 0.07000 1.00000 0.00000 1.27010 0.00000 0.00000 1.00000
43 37 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01880 1.31000 1.00000 0.00000 4.91820 0.00000 0.00000 1.00000
44 40 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.05300 0.40000 1.00000 0.00000 7.49620 0.00000 0.00000 1.00000
44 43 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01100 0.00000 1.00000 0.00000 8.34330 0.00000 0.00000 1.00000
45 41 100.00000 1.00000 60.00000 0 0.00000 0.07760 0.22410 0.13000 1.00000 0.00000 1.08210 0.00000 0.00000 1.00000
45 44 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02050 0.00000 1.00000 0.00000 5.90950 0.00000 0.00000 1.00000
46 45 100.00000 1.00000 60.00000 0 0.00000 0.12350 0.35480 0.16000 1.00000 0.00000 0.24810 0.00000 0.00000 1.00000
47 46 100.00000 1.00000 60.00000 0 0.00000 0.06320 0.12100 0.05000 1.00000 0.00000 1.21250 0.00000 0.00000 1.00000
48 44 100.00000 1.00000 60.00000 0 0.00000 0.01500 0.10500 0.79000 1.00000 0.00000 1.73330 0.00000 0.00000 1.00000
48 47 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.03300 0.00000 1.00000 0.00000 3.21110 0.00000 0.00000 1.00000
49 46 100.00000 1.00000 60.00000 0 0.00000 0.16400 0.57800 0.06000 1.00000 0.00000 0.16100 0.00000 0.00000 1.00000
50 43 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.02680 0.40000 1.00000 0.00000 6.38710 0.00000 0.00000 1.00000
50 43 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.02680 0.40000 1.00000 0.00000 4.99830 0.00000 0.00000 1.00000
51 45 100.00000 1.00000 60.00000 0 0.00000 0.06050 0.18960 0.08000 1.00000 0.00000 1.43320 0.00000 0.00000 1.00000
51 50 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02070 0.00000 1.00000 0.00000 9.06990 0.00000 0.00000 1.00000
52 50 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.02200 1.28000 1.00000 0.00000 15.88740 0.00000 0.00000 1.00000
53 51 100.00000 1.00000 60.00000 0 0.00000 0.08440 0.21610 0.22000 1.00000 0.00000 1.28850 0.00000 0.00000 1.00000
53 52 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.03880 0.00000 1.00000 0.00000 1.34150 0.00000 0.00000 1.00000
55 53 100.00000 1.00000 60.00000 0 0.00000 0.03000 0.10700 0.30000 1.00000 0.00000 4.05110 0.00000 0.00000 1.00000
56 54 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.00800 0.07000 1.00000 0.00000 2.96490 0.00000 0.00000 1.00000
57 55 100.00000 1.00000 60.00000 0 0.00000 0.00740 0.04000 0.02000 1.00000 0.00000 0.64600 0.00000 0.00000 1.00000
58 56 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01500 0.11000 1.00000 0.00000 10.78350 0.00000 0.00000 1.00000
59 55 100.00000 1.00000 60.00000 0 0.00000 0.01600 0.08170 0.04000 1.00000 0.00000 2.43040 0.00000 0.00000 1.00000
59 57 100.00000 1.00000 60.00000 0 0.00000 0.01400 0.06800 0.03000 1.00000 0.00000 2.05680 0.00000 0.00000 1.00000
60 58 100.00000 1.00000 60.00000 0 0.00000 0.00350 0.03440 0.27000 1.00000 0.00000 10.67740 0.00000 0.00000 1.00000
61 59 100.00000 1.00000 60.00000 0 0.00000 0.06800 0.14300 0.06000 1.00000 0.00000 1.62450 0.00000 0.00000 1.00000
62 54 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.06900 0.13000 1.00000 0.00000 3.04470 0.00000 0.00000 1.00000
62 58 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01800 0.03000 1.00000 0.00000 1.88430 0.00000 0.00000 1.00000
63 62 100.00000 1.00000 60.00000 0 0.00000 0.01290 0.08030 0.15000 1.00000 0.00000 2.29880 0.00000 0.00000 1.00000
64 63 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04600 0.00000 1.00000 0.00000 2.27710 0.00000 0.00000 1.00000
65 53 100.00000 1.00000 60.00000 0 0.00000 0.03500 0.08000 0.05000 1.00000 0.00000 1.59860 0.00000 0.00000 1.00000
65 64 100.00000 1.00000 60.00000 0 0.00000 0.03500 0.08000 0.05000 1.00000 0.00000 0.25570 0.00000 0.00000 1.00000
67 63 100.00000 1.00000 60.00000 0 0.00000 0.01200 0.09300 0.18000 1.00000 0.00000 0.22110 0.00000 0.00000 1.00000
67 66 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02310 0.00000 1.00000 0.00000 6.23480 0.00000 0.00000 1.00000
68 64 100.00000 1.00000 60.00000 0 0.00000 0.09880 0.23100 0.13000 1.00000 0.00000 0.34280 0.00000 0.00000 1.00000
68 67 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04900 0.00000 1.00000 0.00000 0.95770 0.00000 0.00000 1.00000
69 38 100.00000 1.00000 60.00000 0 0.00000 0.00430 0.04850 0.79000 1.00000 0.00000 6.74390 0.00000 0.00000 1.00000
69 66 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.02740 0.27000 1.00000 0.00000 13.26640 0.00000 0.00000 1.00000
70 67 100.00000 1.00000 60.00000 0 0.00000 0.00700 0.06190 0.12000 1.00000 0.00000 0.71760 0.00000 0.00000 1.00000
71 45 100.00000 1.00000 60.00000 0 0.00000 0.17510 0.55750 0.12000 1.00000 0.00000 0.41220 0.00000 0.00000 1.00000
71 68 100.00000 1.00000 60.00000 0 0.00000 0.12030 0.20480 0.07000 1.00000 0.00000 0.16780 0.00000 0.00000 1.00000
71 69 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.03750 0.00000 1.00000 0.00000 5.40880 0.00000 0.00000 1.00000
71 70 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04900 0.00000 1.00000 0.00000 2.00680 0.00000 0.00000 1.00000
72 51 100.00000 1.00000 60.00000 0 0.00000 0.00510 0.02320 0.30000 1.00000 0.00000 1.59680 0.00000 0.00000 1.00000
72 71 100.00000 1.00000 60.00000 0 0.00000 0.00530 0.01350 0.10000 1.00000 0.00000 3.27370 0.00000 0.00000 1.00000
73 35 100.00000 1.00000 60.00000 0 0.00000 0.00230 0.03630 0.38000 1.00000 0.00000 2.77670 0.00000 0.00000 1.00000
73 39 100.00000 1.00000 60.00000 0 0.00000 0.00190 0.01830 0.29000 1.00000 0.00000 5.05140 0.00000 0.00000 1.00000
73 39 100.00000 1.00000 60.00000 0 0.00000 0.00190 0.01830 0.29000 1.00000 0.00000 5.09810 0.00000 0.00000 1.00000
74 73 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.01960 0.34000 1.00000 0.00000 3.87680 0.00000 0.00000 1.00000
74 73 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.01960 0.34000 1.00000 0.00000 1.43590 0.00000 0.00000 1.00000
77 74 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00430 0.08000 1.00000 0.00000 5.05260 0.00000 0.00000 1.00000
77 76 100.00000 1.00000 60.00000 0 0.00000 0.00300 0.00680 1.37000 1.00000 0.00000 5.67520 0.00000 0.00000 1.00000
78 74 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.00450 0.32000 1.00000 0.00000 1.67190 0.00000 0.00000 1.00000
78 74 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.00450 0.32000 1.00000 0.00000 5.94560 0.00000 0.00000 1.00000
79 78 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.01530 0.00000 1.00000 0.00000 31.46260 0.00000 0.00000 1.00000
80 78 100.00000 1.00000 60.00000 0 0.00000 0.01350 0.05820 0.50000 1.00000 0.00000 0.37010 0.00000 0.00000 1.00000
81 78 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02760 0.00000 1.00000 0.00000 1.56260 0.00000 0.00000 1.00000
82 78 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.03080 0.00000 1.00000 0.00000 8.72890 0.00000 0.00000 1.00000
83 112 100.00000 1.00000 60.00000 0 0.00000 0.01850 0.15370 0.00000 1.00000 0.00000 2.18980 0.00000 0.00000 1.00000
83 113 100.00000 1.00000 60.00000 0 0.00000 0.00370 0.02020 0.00000 1.00000 0.00000 0.76920 0.00000 0.00000 1.00000
85 105 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.10900 0.18000 1.00000 0.00000 3.20600 0.00000 0.00000 1.00000
85 105 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.10900 0.18000 1.00000 0.00000 3.69740 0.00000 0.00000 1.00000
85 112 100.00000 1.00000 60.00000 0 0.00000 0.00690 0.05950 0.10000 1.00000 0.00000 1.66330 0.00000 0.00000 1.00000
85 112 100.00000 1.00000 60.00000 0 0.00000 0.00690 0.05950 0.10000 1.00000 0.00000 1.70230 0.00000 0.00000 1.00000
88 85 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02020 0.03000 1.00000 0.00000 9.76570 0.00000 0.00000 1.00000
88 85 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02020 0.03000 1.00000 0.00000 7.24670 0.00000 0.00000 1.00000
88 105 100.00000 1.00000 60.00000 0 0.00000 0.01120 0.09930 0.17000 1.00000 0.00000 1.80850 0.00000 0.00000 1.00000
88 105 100.00000 1.00000 60.00000 0 0.00000 0.01120 0.09930 0.17000 1.00000 0.00000 4.31850 0.00000 0.00000 1.00000
89 88 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02050 0.00000 1.00000 0.00000 1.75830 0.00000 0.00000 1.00000
89 105 100.00000 1.00000 60.00000 0 0.00000 0.08940 0.33630 0.00000 1.00000 0.00000 0.51450 0.00000 0.00000 1.00000
89 113 100.00000 1.00000 60.00000 0 0.00000 0.14560 0.41150 0.00000 1.00000 0.00000 0.74480 0.00000 0.00000 1.00000
90 89 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.00490 0.00000 1.00000 0.00000 1.75840 0.00000 0.00000 1.00000
91 110 100.00000 1.00000 60.00000 0 0.00000 0.00170 0.01170 0.00000 1.00000 0.00000 5.17850 0.00000 0.00000 1.00000
92 91 100.00000 1.00000 60.00000 0 0.00000 0.00580 0.09280 0.00000 1.00000 0.00000 3.04030 0.00000 0.00000 1.00000
93 91 100.00000 1.00000 60.00000 0 0.00000 0.04210 0.29320 0.00000 1.00000 0.00000 0.94880 0.00000 0.00000 1.00000
94 93 100.00000 1.00000 60.00000 0 0.00000 0.00420 0.02830 0.00000 1.00000 0.00000 0.40880 0.00000 0.00000 1.00000
94 111 100.00000 1.00000 60.00000 0 0.00000 0.00490 0.03360 0.00000 1.00000 0.00000 0.79060 0.00000 0.00000 1.00000
95 91 100.00000 1.00000 60.00000 0 0.00000 0.02610 0.18440 0.00000 1.00000 0.00000 0.61650 0.00000 0.00000 1.00000
95 93 100.00000 1.00000 60.00000 0 0.00000 0.01870 0.12840 0.00000 1.00000 0.00000 1.49110 0.00000 0.00000 1.00000
96 95 100.00000 1.00000 60.00000 0 0.00000 0.01360 0.09550 0.00000 1.00000 0.00000 1.54410 0.00000 0.00000 1.00000
97 92 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.03030 0.00000 1.00000 0.00000 4.87490 0.00000 0.00000 1.00000
97 96 100.00000 1.00000 60.00000 0 0.00000 0.01600 0.07670 0.00000 1.00000 0.00000 0.38600 0.00000 0.00000 1.00000
98 91 100.00000 1.00000 60.00000 0 0.00000 0.01200 0.08540 0.00000 1.00000 0.00000 9.83400 0.00000 0.00000 1.00000
99 98 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00920 0.00000 1.00000 0.00000 2.59640 0.00000 0.00000 1.00000
100 99 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.07020 0.00000 1.00000 0.00000 4.28080 0.00000 0.00000 1.00000
102 54 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02480 0.06000 1.00000 0.00000 4.00240 0.00000 0.00000 1.00000
103 54 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02480 0.06000 1.00000 0.00000 4.64290 0.00000 0.00000 1.00000
104 101 100.00000 1.00000 60.00000 0 0.00000 0.00770 0.07730 0.00000 1.00000 0.00000 6.80200 0.00000 0.00000 1.00000
105 101 100.00000 1.00000 60.00000 0 0.00000 0.01880 0.14930 0.00000 1.00000 0.00000 0.41390 0.00000 0.00000 1.00000
106 104 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.01800 0.00000 1.00000 0.00000 4.33360 0.00000 0.00000 1.00000
106 105 100.00000 1.00000 60.00000 0 0.00000 0.01650 0.11560 0.00000 1.00000 0.00000 0.94510 0.00000 0.00000 1.00000
107 101 100.00000 1.00000 60.00000 0 0.00000 0.00760 0.07510 0.00000 1.00000 0.00000 3.04870 0.00000 0.00000 1.00000
107 105 100.00000 1.00000 60.00000 0 0.00000 0.01150 0.11030 0.00000 1.00000 0.00000 0.62580 0.00000 0.00000 1.00000
108 101 100.00000 1.00000 60.00000 0 0.00000 0.00780 0.07720 0.00000 1.00000 0.00000 7.23020 0.00000 0.00000 1.00000
109 101 100.00000 1.00000 60.00000 0 0.00000 0.00780 0.07830 0.00000 1.00000 0.00000 4.84210 0.00000 0.00000 1.00000
110 101 100.00000 1.00000 60.00000 0 0.00000 0.04820 0.26360 0.00000 1.00000 0.00000 1.27230 0.00000 0.00000 1.00000
110 104 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00620 0.00000 1.00000 0.00000 2.51900 0.00000 0.00000 1.00000
110 107 100.00000 1.00000 60.00000 0 0.00000 0.00210 0.01860 0.00000 1.00000 0.00000 6.82180 0.00000 0.00000 1.00000
110 108 100.00000 1.00000 60.00000 0 0.00000 0.00260 0.01940 0.00000 1.00000 0.00000 1.78530 0.00000 0.00000 1.00000
110 109 100.00000 1.00000 60.00000 0 0.00000 0.00260 0.01940 0.00000 1.00000 0.00000 0.90480 0.00000 0.00000 1.00000
111 105 100.00000 1.00000 60.00000 0 0.00000 0.01310 0.08090 0.13000 1.00000 0.00000 2.16770 0.00000 0.00000 1.00000
111 108 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.05770 0.00000 1.00000 0.00000 0.84390 0.00000 0.00000 1.00000
111 109 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.05770 0.00000 1.00000 0.00000 2.05860 0.00000 0.00000 1.00000
112 105 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.04970 0.30000 1.00000 0.00000 1.52910 0.00000 0.00000 1.00000
113 105 100.00000 1.00000 60.00000 0 0.00000 0.38240 0.94790 0.00000 1.00000 0.00000 0.06300 0.00000 0.00000 1.00000
113 112 100.00000 1.00000 60.00000 0 0.00000 0.01010 0.08730 0.00000 1.00000 0.00000 4.38180 0.00000 0.00000 1.00000
114 90 100.00000 1.00000 60.00000 0 0.00000 0.00240 0.01500 0.00000 1.00000 0.00000 1.18080 0.00000 0.00000 1.00000
115 87 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00180 0.02000 1.00000 0.00000 1.46840 0.00000 0.00000 1.00000
116 84 100.00000 1.00000 60.00000 0 0.00000 0.00150 0.10450 0.00000 1.00000 0.00000 1.03320 0.00000 0.00000 1.00000
116 115 100.00000 1.00000 60.00000 0 0.00000 0.07330 0.97990 0.00000 1.00000 0.00000 0.35860 0.00000 0.00000 1.00000
117 114 100.00000 1.00000 60.00000 0 0.00000 0.06630 0.36960 0.00000 1.00000 0.00000 0.01620 0.00000 0.00000 1.00000
117 115 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.01140 0.00000 1.00000 0.00000 2.53530 0.00000 0.00000 1.00000
117 116 100.00000 1.00000 60.00000 0 0.00000 0.04740 0.26310 0.00000 1.00000 0.00000 0.23350 0.00000 0.00000 1.00000
118 115 100.00000 1.00000 60.00000 0 0.00000 0.16570 0.15510 0.00000 1.00000 0.00000 0.10820 0.00000 0.00000 1.00000
118 116 100.00000 1.00000 60.00000 0 0.00000 0.01170 0.07440 0.00000 1.00000 0.00000 3.04110 0.00000 0.00000 1.00000
118 117 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01990 0.00000 1.00000 0.00000 1.66080 0.00000 0.00000 1.00000
119 114 100.00000 1.00000 60.00000 0 0.00000 0.08760 0.25400 0.00000 1.00000 0.00000 0.08300 0.00000 0.00000 1.00000
119 115 100.00000 1.00000 60.00000 0 0.00000 0.00330 0.03920 0.00000 1.00000 0.00000 3.84910 0.00000 0.00000 1.00000
119 117 100.00000 1.00000 60.00000 0 0.00000 0.00170 0.01890 0.00000 1.00000 0.00000 1.42730 0.00000 0.00000 1.00000
120 116 100.00000 1.00000 60.00000 0 0.00000 0.23070 0.70410 0.00000 1.00000 0.00000 0.04530 0.00000 0.00000 1.00000
120 117 100.00000 1.00000 60.00000 0 0.00000 0.00670 0.07970 0.00000 1.00000 0.00000 2.92290 0.00000 0.00000 1.00000
120 118 100.00000 1.00000 60.00000 0 0.00000 0.00500 0.06290 0.00000 1.00000 0.00000 3.63030 0.00000 0.00000 1.00000
120 119 100.00000 1.00000 60.00000 0 0.00000 0.10650 0.34980 0.00000 1.00000 0.00000 0.56080 0.00000 0.00000 1.00000
121 114 100.00000 1.00000 60.00000 0 0.00000 0.00630 0.08020 0.00000 1.00000 0.00000 1.26620 0.00000 0.00000 1.00000
121 115 100.00000 1.00000 60.00000 0 0.00000 0.02200 0.29840 0.00000 1.00000 0.00000 0.06590 0.00000 0.00000 1.00000
121 116 100.00000 1.00000 60.00000 0 0.00000 0.09510 0.45760 0.00000 1.00000 0.00000 0.16690 0.00000 0.00000 1.00000
121 117 100.00000 1.00000 60.00000 0 0.00000 0.01500 0.08690 0.00000 1.00000 0.00000 1.50920 0.00000 0.00000 1.00000
121 118 100.00000 1.00000 60.00000 0 0.00000 0.13910 0.47980 0.00000 1.00000 0.00000 0.12700 0.00000 0.00000 1.00000
121 119 100.00000 1.00000 60.00000 0 0.00000 0.16360 0.58040 0.00000 1.00000 0.00000 0.26020 0.00000 0.00000 1.00000
122 116 100.00000 1.00000 60.00000 0 0.00000 0.00330 0.12870 0.00000 1.00000 0.00000 2.03550 0.00000 0.00000 1.00000
122 117 100.00000 1.00000 60.00000 0 0.00000 0.03830 0.08860 0.00000 1.00000 0.00000 1.13820 0.00000 0.00000 1.00000
122 118 100.00000 1.00000 60.00000 0 0.00000 0.09500 0.50710 0.00000 1.00000 0.00000 0.26180 0.00000 0.00000 1.00000
122 121 100.00000 1.00000 60.00000 0 0.00000 0.12500 0.46990 0.00000 1.00000 0.00000 0.05510 0.00000 0.00000 1.00000
123 118 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01740 0.00000 1.00000 0.00000 11.53630 0.00000 0.00000 1.00000
124 75 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01750 1.39000 1.00000 0.00000 2.71860 0.00000 0.00000 1.00000
125 81 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00110 0.00000 1.00000 0.00000 7.07180 0.00000 0.00000 1.00000
125 124 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.07300 0.00000 1.00000 0.00000 2.42640 0.00000 0.00000 1.00000
126 124 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.08390 0.00000 1.00000 0.00000 1.43740 0.00000 0.00000 1.00000
126 125 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04110 0.00000 1.00000 0.00000 1.05780 0.00000 0.00000 1.00000
127 124 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.01050 0.72000 1.00000 0.00000 18.53460 0.00000 0.00000 1.00000
127 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.25320 0.00000 1.00000 0.00000 2.58640 0.00000 0.00000 1.00000
128 124 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.01170 0.84000 1.00000 0.00000 2.55290 0.00000 0.00000 1.00000
128 125 100.00000 1.00000 60.00000 0 0.00000 0.00490 0.26340 0.00000 1.00000 0.00000 0.48490 0.00000 0.00000 1.00000
128 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.27410 0.00000 1.00000 0.00000 1.49170 0.00000 0.00000 1.00000
128 127 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.13390 0.00000 1.00000 0.00000 1.18060 0.00000 0.00000 1.00000
129 128 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.13810 0.00000 1.00000 0.00000 1.39220 0.00000 0.00000 1.00000
130 128 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01750 1.26000 1.00000 0.00000 19.71160 0.00000 0.00000 1.00000
130 129 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00850 0.60000 1.00000 0.00000 13.56630 0.00000 0.00000 1.00000
131 130 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.00380 0.54000 1.00000 0.00000 14.48520 0.00000 0.00000 1.00000
132 127 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.02210 1.62000 1.00000 0.00000 29.02870 0.00000 0.00000 1.00000
132 130 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01730 1.25000 1.00000 0.00000 10.85400 0.00000 0.00000 1.00000
133 131 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.03900 2.77000 1.00000 0.00000 7.20300 0.00000 0.00000 1.00000
133 132 100.00000 1.00000 60.00000 0 0.00000 0.00120 0.02930 2.09000 1.00000 0.00000 26.72170 0.00000 0.00000 1.00000
134 66 100.00000 1.00000 60.00000 0 0.00000 0.00076 0.01141 1.16000 1.00000 0.00000 12.23790 0.00000 0.00000 1.00000
134 132 100.00000 1.00000 60.00000 0 0.00000 0.00235 0.04388 0.00000 1.00000 0.00000 7.10790 0.00000 0.00000 1.00000
135 115 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.63090 0.00000 1.00000 0.00000 0.06330 0.00000 0.00000 1.00000
135 122 100.00000 1.00000 60.00000 0 0.00000 0.05730 0.75810 0.00000 1.00000 0.00000 0.06840 0.00000 0.00000 1.00000
135 131 100.00000 1.00000 60.00000 0 0.00000 0.00570 0.06990 0.00000 1.00000 0.00000 17.57410 0.00000 0.00000 1.00000
135 132 100.00000 1.00000 60.00000 0 0.00000 0.00120 0.02880 2.06000 1.00000 0.00000 29.79870 0.00000 0.00000 1.00000
135 133 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00630 0.45000 1.00000 0.00000 6.49310 0.00000 0.00000 1.00000
135 134 100.00000 1.00000 60.00000 0 0.00000 0.00460 0.06250 0.00000 1.00000 0.00000 8.23360 0.00000 0.00000 1.00000
136 134 100.00000 1.00000 60.00000 0 0.00000 0.00460 0.07820 0.79000 1.00000 0.00000 0.87020 0.00000 0.00000 1.00000
138 67 100.00000 1.00000 60.00000 0 0.00000 0.00630 0.04910 0.09000 1.00000 0.00000 2.72170 0.00000 0.00000 1.00000
138 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.68050 0.00000 1.00000 0.00000 1.71610 0.00000 0.00000 1.00000
138 132 100.00000 1.00000 60.00000 0 0.00000 0.03310 0.42240 0.00000 1.00000 0.00000 0.59460 0.00000 0.00000 1.00000
138 137 100.00000 1.00000 60.00000 0 0.00000 0.25530 0.71800 0.00000 1.00000 0.00000 0.55670 0.00000 0.00000 1.00000
139 115 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.12430 0.00000 1.00000 0.00000 0.37240 0.00000 0.00000 1.00000
139 122 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.15320 0.00000 1.00000 0.00000 1.43410 0.00000 0.00000 1.00000
139 131 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.10520 0.00000 1.00000 0.00000 8.69210 0.00000 0.00000 1.00000
139 135 100.00000 1.00000 60.00000 0 0.00000 0.01770 0.06610 0.00000 1.00000 0.00000 3.30430 0.00000 0.00000 1.00000
139 136 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.20540 0.00000 1.00000 0.00000 1.44920 0.00000 0.00000 1.00000
140 60 100.00000 1.00000 60.00000 0 0.00000 0.00390 0.03630 0.07000 1.00000 0.00000 0.05510 0.00000 0.00000 1.00000
1 21 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02000 0.00000 1.07000 0.00000 18.01230 0.00000 0.00000 1.00000
3 2 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.04350 0.00000 1.06000 0.00000 0.22970 0.00000 0.00000 1.00000
3 4 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.04350 0.00000 1.06000 0.00000 0.72310 0.00000 0.00000 1.00000
10 11 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01380 0.00000 1.06000 0.00000 5.82480 0.00000 0.00000 1.00000
10 22 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01420 0.00000 1.07000 0.00000 13.41090 0.00000 0.00000 1.00000
11 23 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.01800 0.00000 1.00900 0.00000 10.10430 0.00000 0.00000 1.00000
13 24 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01430 0.00000 1.02500 0.00000 13.92040 0.00000 0.00000 1.00000
14 25 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02720 0.00000 1.00000 0.00000 7.67330 0.00000 0.00000 1.00000
16 27 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.02320 0.00000 1.02500 0.00000 17.59290 0.00000 0.00000 1.00000
20 26 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01560 0.00000 1.02500 0.00000 26.71890 0.00000 0.00000 1.00000
28 29 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01810 0.00000 1.02500 0.00000 0.00000 0.00000 0.00000 1.00000
33 36 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02500 0.00000 1.07000 0.00000 20.07010 0.00000 0.00000 1.00000
40 41 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01610 0.00000 0.95000 0.00000 8.65390 0.00000 0.00000 1.00000
48 100 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.15950 0.00000 0.97000 0.00000 2.41870 0.00000 0.00000 1.00000
49 48 100.00000 1.00000 60.00000 0 0.00000 0.01560 0.15360 0.00000 1.01400 0.00000 2.25490 0.00000 0.00000 1.00000
54 52 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.02330 0.00000 1.00300 0.00000 6.40360 0.00000 0.00000 1.00000
54 55 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01300 0.00000 1.01000 0.00000 3.64770 0.00000 0.00000 1.00000
56 57 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.14200 0.00000 0.98000 0.00000 0.54010 0.00000 0.00000 1.00000
58 59 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.00930 0.00000 0.96000 0.00000 10.69880 0.00000 0.00000 1.00000
60 61 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.06400 0.00000 0.99000 0.00000 2.87690 0.00000 0.00000 1.00000
75 76 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00740 0.00000 0.99000 0.00000 2.65920 0.00000 0.00000 1.00000
84 83 100.00000 1.00000 60.00000 0 0.00000 0.00520 0.01740 0.00000 1.00300 0.00000 1.01060 0.00000 0.00000 1.00000
85 86 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.00570 0.00000 1.11000 0.00000 18.34150 0.00000 0.00000 1.00000
87 85 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.02460 0.00000 0.93900 0.00000 3.74850 0.00000 0.00000 1.00000
101 102 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.02110 0.00000 1.04500 0.00000 1.11720 0.00000 0.00000 1.00000
101 103 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.01510 0.00000 1.05600 0.00000 1.01860 0.00000 0.00000 1.00000
137 136 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.02390 0.00000 1.00000 0.00000 4.35960 0.00000 0.00000 1.00000
];
Hvdc.con = [];
Bus.names = {...
'bus1 ';'bus2 ';'bus3 ';'bus4 ';'bus5 ';
'bus6 ';'bus7 ';'bus8 ';'bus9 ';'bus10 ';
'bus11 ';'bus12 ';'bus13 ';'bus14 ';'bus15 ';
'bus16 ';'bus17 ';'bus18 ';'bus19 ';'bus20 ';
'bus21 ';'bus22 ';'bus23 ';'bus24 ';'bus25 ';
'bus26 ';'bus27 ';'bus28 ';'bus29 ';'bus30 ';
'bus31 ';'bus32 ';'bus33 ';'bus34 ';'bus35 ';
'bus36 ';'bus37 ';'bus38 ';'bus39 ';'bus40 ';
'bus41 ';'bus42 ';'bus43 ';'bus44 ';'bus45 ';
'bus46 ';'bus47 ';'bus48 ';'bus49 ';'bus50 ';
'bus51 ';'bus52 ';'bus53 ';'bus54 ';'bus55 ';
'bus56 ';'bus57 ';'bus58 ';'bus59 ';'bus60 ';
'bus61 ';'bus62 ';'bus63 ';'bus64 ';'bus65 ';
'bus66 ';'bus67 ';'bus68 ';'bus69 ';'bus70 ';
'bus71 ';'bus72 ';'bus73 ';'bus74 ';'bus75 ';
'bus76 ';'bus77 ';'bus78 ';'bus79 ';'bus80 ';
'bus81 ';'bus82 ';'bus83 ';'bus84 ';'bus85 ';
'bus86 ';'bus87 ';'bus88 ';'bus89 ';'bus90 ';
'bus91 ';'bus92 ';'bus93 ';'bus94 ';'bus95 ';
'bus96 ';'bus97 ';'bus98 ';'bus99 ';'bus100 ';
'bus101 ';'bus102 ';'bus103 ';'bus104 ';'bus105 ';
'bus106 ';'bus107 ';'bus108 ';'bus109 ';'bus110 ';
'bus111 ';'bus112 ';'bus113 ';'bus114 ';'bus115 ';
'bus116 ';'bus117 ';'bus118 ';'bus119 ';'bus120 ';
'bus121 ';'bus122 ';'bus123 ';'bus124 ';'bus125 ';
'bus126 ';'bus127 ';'bus128 ';'bus129 ';'bus130 ';
'bus131 ';'bus132 ';'bus133 ';'bus134 ';'bus135 ';
'bus136 ';'bus137 ';'bus138 ';'bus139 ';'bus140 '};
%Induction motor Data: 54
Ind.con = [...
3 100 1 60 3 0 0.9435 4.177 0.3413 5.748 0 0 174.9 1.518 0 0.04946 -0.02473 0 0 1
6 100 1 60 3 0 0.01493 0.04889 0.007393 0.07782 0 0 1.907 1.243 0 4.21 -2.105 0 0 1
7 100 1 60 3 0 0.007779 0.06179 0.007783 0.05432 0 0 2.041 0.7846 0 3.593 -1.796 0 0 1
9 100 1 60 3 0 0.01738 0.08621 0.01057 0.09153 0 0 2.55 1.243 0 2.356 -1.178 0 0 1
11 100 1 60 3 0 0.00406 0.02812 0.004392 0.02954 0 0 0.6303 0.7214 0 9.533 -4.767 0 0 1
12 100 1 60 3 0 0.008813 0.04959 0.006717 0.04081 0 0 1.74 0.5825 0 4.564 -2.282 0 0 1
14 100 1 60 3 0 0.01693 0.09923 0.008656 0.07154 0 0 1.952 1.776 0 4.087 -2.043 0 0 1
16 100 1 60 3 0 0.02283 0.1894 0.02511 0.2269 0 0 7.548 1.341 0 1.946 -0.9728 0 0 1
17 100 1 60 3 0 0.02384 0.1924 0.01093 0.1583 0 0 6.433 1.894 0 1.916 -0.958 0 0 1
18 100 1 60 3 0 0.0161 0.1161 0.02423 0.1284 0 0 3.952 1.545 0 1.903 -0.9516 0 0 1
19 100 1 60 3 0 0.06203 0.3846 0.02674 0.2536 0 0 10.68 1.374 0 0.9122 -0.4561 0 0 1
20 100 1 60 3 0 0.009225 0.05042 0.003165 0.03363 0 0 1.071 1.723 0 4.095 -2.047 0 0 1
30 100 1 60 3 0 0.0151 0.08677 0.01143 0.1165 0 0 4.717 1.819 0 3.544 -1.772 0 0 1
31 100 1 60 3 0 0.01294 0.06567 0.005424 0.0573 0 0 2.356 1.983 0 5.361 -2.681 0 0 1
34 100 1 60 3 0 0.01585 0.08508 0.01047 0.07708 0 0 2.564 0.5008 0 3.902 -1.951 0 0 1
35 100 1 60 3 0 0.003103 0.03145 0.003306 0.02995 0 0 0.6166 1.798 0 6.546 -3.273 0 0 1
36 100 1 60 3 0 0.4251 2.807 0.4457 1.787 0 0 53.48 1.419 0 0.1139 -0.05697 0 0 1
41 100 1 60 3 0 0.002125 0.0118 0.002603 0.01568 0 0 0.5133 1.985 0 11.22 -5.612 0 0 1
42 100 1 60 3 0 0.021 0.08144 0.0062 0.1014 0 0 2.85 1.292 0 2.704 -1.352 0 0 1
45 100 1 60 3 0 0.007586 0.05836 0.01237 0.09292 0 0 2.408 1.219 0 3.092 -1.546 0 0 1
47 100 1 60 3 0 0.008874 0.06785 0.005261 0.03951 0 0 1.764 1.702 0 3.464 -1.732 0 0 1
49 100 1 60 3 0 0.01672 0.1137 0.0125 0.09541 0 0 3.139 0.8418 0 1.531 -0.7654 0 0 1
51 100 1 60 3 0 0.003505 0.02097 0.002912 0.02149 0 0 1.002 1.247 0 12 -6 0 0 1
53 100 1 60 3 0 0.008533 0.04425 0.007882 0.03742 0 0 1.188 1.851 0 4.064 -2.032 0 0 1
55 100 1 60 3 0 0.004301 0.03035 0.003511 0.02876 0 0 1.239 1.362 0 10.2 -5.1 0 0 1
56 100 1 60 3 0 0.04939 0.2547 0.04651 0.2133 0 0 6.806 1.768 0 1.093 -0.5466 0 0 1
58 100 1 60 3 0 0.03353 0.2066 0.02065 0.196 0 0 8.675 1.608 0 1.487 -0.7437 0 0 1
59 100 1 60 3 0 0.003444 0.0371 0.005188 0.02841 0 0 1.212 1.379 0 9.862 -4.931 0 0 1
61 100 1 60 3 0 0.01506 0.1222 0.01853 0.119 0 0 3.727 0.8701 0 2.61 -1.305 0 0 1
64 100 1 60 3 0 0.01931 0.1239 0.01301 0.06726 0 0 1.781 1.5 0 1.515 -0.7576 0 0 1
68 100 1 60 3 0 0.02466 0.1229 0.02339 0.1727 0 0 7.551 0.6252 0 1.02 -0.5101 0 0 1
71 100 1 60 3 0 0.005234 0.03286 0.006611 0.05322 0 0 2.58 1.439 0 5.028 -2.514 0 0 1
78 100 1 60 3 0 0.004405 0.02277 0.002532 0.03669 0 0 1.094 1.491 0 9.19 -4.595 0 0 1
80 100 1 60 3 0 0.01589 0.06311 0.00669 0.1079 0 0 4.33 1.595 0 3.501 -1.75 0 0 1
83 100 1 60 3 0 0.03388 0.2513 0.05339 0.2818 0 0 9.346 1.836 0 0.9049 -0.4524 0 0 1
86 100 1 60 3 0 0.2448 1.16 0.1011 1.234 0 0 55.56 1.973 0 0.2678 -0.1339 0 0 1
88 100 1 60 3 0 0.02692 0.1843 0.01297 0.2166 0 0 9.327 1.654 0 1.7 -0.8501 0 0 1
89 100 1 60 3 0 0.05398 0.2719 0.03275 0.1977 0 0 4.945 1.372 0 1.546 -0.7731 0 0 1
90 100 1 60 3 0 0.02302 0.1796 0.03068 0.154 0 0 7.063 1.892 0 1.624 -0.8122 0 0 1
91 100 1 60 3 0 0.004667 0.02606 0.003462 0.01875 0 0 0.9318 1.37 0 10.07 -5.033 0 0 1
92 100 1 60 3 0 0.1714 1.705 0.1175 1.002 0 0 35.5 0.5255 0 0.1324 -0.06618 0 0 1
97 100 1 60 3 0 0.004188 0.03824 0.003334 0.02134 0 0 0.9929 0.6813 0 10.25 -5.125 0 0 1
101 100 1 60 3 0 0.006577 0.04748 0.007262 0.069 0 0 2.597 1.794 0 6.171 -3.086 0 0 1
104 100 1 60 3 0 0.01641 0.07087 0.01794 0.1101 0 0 2.713 1.226 0 2.619 -1.309 0 0 1
110 100 1 60 3 0 0.002881 0.01638 0.001206 0.01293 0 0 0.336 1.767 0 10.92 -5.459 0 0 1
111 100 1 60 3 0 0.008218 0.03507 0.00837 0.05768 0 0 1.858 0.8141 0 4.132 -2.066 0 0 1
117 100 1 60 3 0 0.007011 0.04445 0.006601 0.04312 0 0 1.831 1.328 0 4.022 -2.011 0 0 1
118 100 1 60 3 0 0.008789 0.04683 0.005206 0.04516 0 0 2.022 1.445 0 4.356 -2.178 0 0 1
119 100 1 60 3 0 0.01168 0.07417 0.005311 0.04775 0 0 2.087 0.548 0 3.877 -1.938 0 0 1
123 100 1 60 3 0 0.1383 0.6991 0.08504 0.7119 0 0 21.04 1.422 0 0.3696 -0.1848 0 0 1
124 100 1 60 3 0 0.02083 0.1027 0.01405 0.1167 0 0 4.205 1.044 0 2.379 -1.189 0 0 1
125 100 1 60 3 0 0.02639 0.1244 0.008732 0.1012 0 0 2.297 0.5743 0 3.032 -1.516 0 0 1
136 100 1 60 3 0 0.008046 0.07111 0.008872 0.05313 0 0 1.241 1.234 0 4.224 -2.112 0 0 1
138 100 1 60 3 0 0.03924 0.1983 0.01805 0.1935 0 0 4.662 0.7888 0 1.678 -0.839 0 0 1
];

@ -0,0 +1,690 @@
% Modified NPCC 140-bus system, replaced syncornous generators with PV buses, and added induction motors and ZIP load model
% Original NPCC 140-bus system can be found at
% https://github.com/cuihantao/andes
%bus data: 140
Bus.con = [...
1 1.0000 1.0111 0.0866 1 1
2 1.0000 1.0067 0.0727 1 1
3 1.0000 1.0470 0.0719 1 1
4 1.0000 1.0076 0.0735 1 1
5 1.0000 1.0038 0.0427 1 1
6 1.0000 1.0070 0.0338 1 1
7 1.0000 1.0233 0.0580 1 1
8 1.0000 1.0226 0.0361 1 1
9 1.0000 1.0182 0.0201 1 1
10 1.0000 1.0420 0.1391 1 1
11 1.0000 0.9841 0.1133 1 1
12 1.0000 1.0251 0.1047 1 1
13 1.0000 1.0458 0.1872 1 1
14 1.0000 1.0400 0.1821 1 1
15 1.0000 1.0292 0.0611 1 1
16 1.0000 1.0394 0.0796 1 1
17 1.0000 1.0398 0.0585 1 1
18 1.0000 1.0260 0.0276 1 1
19 1.0000 1.0408 0.1143 1 1
20 1.0000 1.0416 0.1610 1 1
21 1.0000 0.9800 0.2274 1 1
22 1.0000 0.9900 0.2315 1 1
23 1.0000 1.0066 0.2041 1 1
24 1.0000 1.0500 0.2808 1 1
25 1.0000 1.0600 0.3203 1 1
26 1.0000 1.0200 0.2815 1 1
27 1.0000 1.0200 0.2007 1 1
28 1.0000 1.0507 0.0583 1 1
29 1.0000 1.0251 0.0583 1 1
30 1.0000 1.0147 0.0142 1 1
31 1.0000 0.9947 0.0084 1 1
32 1.0000 0.9992 0.0338 1 1
33 1.0000 1.0019 0.0461 1 1
34 1.0000 0.9918 0.0101 1 1
35 1.0000 0.9911 0.0026 1 1
36 1.0000 0.9800 0.1952 1 1
37 1.0000 1.0360 0.0837 1 1
38 1.0000 1.0355 0.1252 1 1
39 1.0000 1.0349 0.0595 1 1
40 1.0000 1.0018 0.0122 1 1
41 1.0000 1.0347 -0.0548 1 1
42 1.0000 1.0400 -0.0392 1 1
43 1.0000 1.0438 0.1508 1 1
44 1.0000 1.0401 0.1198 1 1
45 1.0000 1.0379 0.0740 1 1
46 1.0000 1.0433 0.1160 1 1
47 1.0000 1.0300 0.2126 1 1
48 1.0000 1.0500 0.2714 1 1
49 1.0000 0.9435 -0.0164 1 1
50 1.0000 1.0500 0.2364 1 1
51 1.0000 1.0400 0.1540 1 1
52 1.0000 1.0405 0.3465 1 1
53 1.0000 1.0300 0.3218 1 1
54 1.0000 1.0408 0.4802 1 1
55 1.0000 1.0400 0.4679 1 1
56 1.0000 1.0300 0.4786 1 1
57 1.0000 1.0300 0.4604 1 1
58 1.0000 1.0020 0.4380 1 1
59 1.0000 1.0232 0.3975 1 1
60 1.0000 1.0400 0.5377 1 1
61 1.0000 1.0400 0.4799 1 1
62 1.0000 1.0104 0.4269 1 1
63 1.0000 1.0028 0.3135 1 1
64 1.0000 1.0055 0.2595 1 1
65 1.0000 1.0400 0.2813 1 1
66 1.0000 1.0193 0.3663 1 1
67 1.0000 1.0021 0.2939 1 1
68 1.0000 0.9900 0.2255 1 1
69 1.0000 1.0178 0.2533 1 1
70 1.0000 0.9987 0.2401 1 1
71 1.0000 1.0000 0.1978 1 1
72 1.0000 1.0500 0.1810 1 1
73 1.0000 1.0295 0.0298 1 1
74 1.0000 1.0268 0.0054 1 1
75 1.0000 1.0425 0.0214 1 1
76 1.0000 1.0485 0.0133 1 1
77 1.0000 1.0360 0.0096 1 1
78 1.0000 1.0200 0.0000 1 1
79 1.0000 1.0500 0.1426 1 1
80 1.0000 1.0232 0.0110 1 1
81 1.0000 1.0208 -0.0578 1 1
82 1.0000 1.0500 0.1321 1 1
83 1.0000 1.0098 0.4055 1 1
84 1.0000 1.0138 0.4139 1 1
85 1.0000 1.0797 0.6115 1 1
86 1.0000 1.0000 0.7053 1 1
87 1.0000 1.0196 0.5754 1 1
88 1.0000 1.0514 0.5580 1 1
89 1.0000 1.0184 0.5174 1 1
90 1.0000 1.0127 0.5157 1 1
91 1.0000 1.0400 0.2139 1 1
92 1.0000 1.0400 0.3446 1 1
93 1.0000 0.9766 0.1529 1 1
94 1.0000 0.9770 0.1572 1 1
95 1.0000 0.9789 0.2738 1 1
96 1.0000 1.0260 0.2837 1 1
97 1.0000 1.0400 0.2639 1 1
98 1.0000 1.0400 0.5715 1 1
99 1.0000 1.0396 0.5596 1 1
100 1.0000 1.0428 0.4693 1 1
101 1.0000 1.0500 0.4382 1 1
102 1.0000 1.0211 0.4581 1 1
103 1.0000 1.0117 0.4548 1 1
104 1.0000 1.0066 0.2468 1 1
105 1.0000 1.0317 0.4250 1 1
106 1.0000 1.0090 0.2710 1 1
107 1.0000 1.0188 0.2936 1 1
108 1.0000 1.0099 0.2596 1 1
109 1.0000 1.0099 0.2592 1 1
110 1.0000 1.0108 0.2343 1 1
111 1.0000 0.9830 0.1954 1 1
112 1.0000 1.0485 0.5085 1 1
113 1.0000 1.0107 0.3974 1 1
114 1.0000 1.0059 0.5249 1 1
115 1.0000 1.0200 0.5725 1 1
116 1.0000 1.0071 0.4619 1 1
117 1.0000 1.0062 0.5288 1 1
118 1.0000 1.0003 0.5455 1 1
119 1.0000 1.0000 0.5182 1 1
120 1.0000 1.0200 0.4564 1 1
121 1.0000 1.0400 0.5652 1 1
122 1.0000 1.0500 0.5569 1 1
123 1.0000 1.0100 0.6471 1 1
124 1.0000 1.0417 0.0409 1 1
125 1.0000 1.0207 -0.0601 1 1
126 1.0000 1.0208 -0.0950 1 1
127 1.0000 1.0463 0.1139 1 1
128 1.0000 1.0375 0.0470 1 1
129 1.0000 1.0229 0.1554 1 1
130 1.0000 1.0200 0.2122 1 1
131 1.0000 1.0261 0.2333 1 1
132 1.0000 1.0393 0.3410 1 1
133 1.0000 1.0200 0.5988 1 1
134 1.0000 1.0300 0.4475 1 1
135 1.0000 1.0200 0.6102 1 1
136 1.0000 1.0006 0.3441 1 1
137 1.0000 1.0400 0.3547 1 1
138 1.0000 0.9700 0.2386 1 1
139 1.0000 1.0100 0.5090 1 1
140 1.0000 1.0413 0.5375 1 1
];
%SW data: 1
SW.con = [...
78 100.0000 1.0000 1.0200 0.0000 9.9900 -9.9900 1.1000 0.9000 6.3210 1.0000 1 1
];
%PV data: 45
PV.con = [...
21 100.0000 1.0000 6.5000 0.9800 9.9900 -9.9900 1.1000 0.9000 1.0000 1
22 100.0000 1.0000 6.3200 0.9900 9.9900 -9.9900 1.1000 0.9000 1.0000 1
23 100.0000 1.0000 5.0300 1.0066 19.9800 -19.9800 1.1000 0.9000 1.0000 1
24 100.0000 1.0000 7.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
25 100.0000 1.0000 5.6000 1.0600 9.9900 -9.9900 1.1000 0.9000 1.0000 1
26 100.0000 1.0000 8.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
27 100.0000 1.0000 5.4000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
36 100.0000 1.0000 5.5400 0.9800 9.9900 -9.9900 1.1000 0.9000 1.0000 1
42 100.0000 1.0000 3.7000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
47 100.0000 1.0000 4.0000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
48 100.0000 1.0000 4.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
50 100.0000 1.0000 6.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
51 100.0000 1.0000 1.4100 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
53 100.0000 1.0000 8.3300 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
54 100.0000 1.0000 11.1500 1.0408 19.9800 -19.9800 1.1000 0.9000 1.0000 1
55 100.0000 1.0000 10.9500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
56 100.0000 1.0000 4.1000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
57 100.0000 1.0000 2.9800 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
60 100.0000 1.0000 4.1000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
61 100.0000 1.0000 1.9400 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
65 100.0000 1.0000 0.9100 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
68 100.0000 1.0000 0.6600 0.9900 9.9900 -9.9900 1.1000 0.9000 1.0000 1
71 100.0000 1.0000 1.3400 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
72 100.0000 1.0000 1.5000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
79 100.0000 1.0000 10.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
80 100.0000 1.0000 7.2000 1.0232 9.9900 -9.9900 1.1000 0.9000 1.0000 1
82 100.0000 1.0000 4.6000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
86 100.0000 1.0000 16.5000 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
91 100.0000 1.0000 9.3000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
92 100.0000 1.0000 4.5000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
97 100.0000 1.0000 6.0000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
98 100.0000 1.0000 5.8500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
101 100.0000 1.0000 12.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
115 100.0000 1.0000 5.5000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
119 100.0000 1.0000 5.5000 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
120 100.0000 1.0000 7.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
121 100.0000 1.0000 1.4500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
122 100.0000 1.0000 1.5500 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
123 100.0000 1.0000 6.5500 1.0100 9.9900 -9.9900 1.1000 0.9000 1.0000 1
130 100.0000 1.0000 4.9000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
133 100.0000 1.0000 17.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
134 100.0000 1.0000 8.8000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
135 100.0000 1.0000 23.3000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
137 100.0000 1.0000 0.7000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
139 100.0000 1.0000 1.1500 1.0100 9.9900 -9.9900 1.1000 0.9000 1.0000 1
];
%PQ data: 83
PQ.con = [...
3 100.0000 1.0000 0.0374 0.6260 1.1000 0.9000 0 1
6 100.0000 1.0000 1.8199 0.8865 1.1000 0.9000 0 1
7 100.0000 1.0000 1.2054 -0.1033 1.1000 0.9000 0 1
9 100.0000 1.0000 0.8651 0.1604 1.1000 0.9000 0 1
11 100.0000 1.0000 1.8390 0.0917 1.1000 0.9000 0 1
12 100.0000 1.0000 1.3981 0.5891 1.1000 0.9000 0 1
14 100.0000 1.0000 1.1293 0.3983 1.1000 0.9000 0 1
15 100.0000 1.0000 3.0900 -0.9200 1.1000 0.9000 0 1
16 100.0000 1.0000 0.7026 0.1088 1.1000 0.9000 0 1
17 100.0000 1.0000 0.1655 -0.0169 1.1000 0.9000 0 1
18 100.0000 1.0000 1.6033 0.4277 1.1000 0.9000 0 1
19 100.0000 1.0000 0.4399 -0.1791 1.1000 0.9000 0 1
20 100.0000 1.0000 0.8027 0.0360 1.1000 0.9000 0 1
30 100.0000 1.0000 0.4253 -0.2663 1.1000 0.9000 0 1
31 100.0000 1.0000 3.8883 1.4852 1.1000 0.9000 0 1
34 100.0000 1.0000 1.2874 0.4676 1.1000 0.9000 0 1
35 100.0000 1.0000 1.7547 0.6359 1.1000 0.9000 0 1
36 100.0000 1.0000 0.0543 0.0379 1.1000 0.9000 0 1
41 100.0000 1.0000 4.4711 0.5395 1.1000 0.9000 0 1
42 100.0000 1.0000 0.5349 -0.0709 1.1000 0.9000 0 1
45 100.0000 1.0000 0.9288 -0.0427 1.1000 0.9000 0 1
46 100.0000 1.0000 0.2300 -0.4250 1.1000 0.9000 0 1
47 100.0000 1.0000 2.0411 0.7612 1.1000 0.9000 0 1
49 100.0000 1.0000 0.7024 0.1481 1.1000 0.9000 0 1
51 100.0000 1.0000 5.6047 0.5900 1.1000 0.9000 0 1
53 100.0000 1.0000 5.1305 1.2898 1.1000 0.9000 0 1
54 100.0000 1.0000 0.2000 0.0000 1.1000 0.9000 0 1
55 100.0000 1.0000 4.5453 0.4459 1.1000 0.9000 0 1
56 100.0000 1.0000 1.0860 0.3587 1.1000 0.9000 0 1
57 100.0000 1.0000 2.4000 -0.0600 1.1000 0.9000 0 1
58 100.0000 1.0000 0.2516 0.1633 1.1000 0.9000 0 1
59 100.0000 1.0000 1.4147 1.1883 1.1000 0.9000 0 1
61 100.0000 1.0000 1.4290 -0.0318 1.1000 0.9000 0 1
64 100.0000 1.0000 0.4122 0.0573 1.1000 0.9000 0 1
65 100.0000 1.0000 0.9100 0.0000 1.1000 0.9000 0 1
68 100.0000 1.0000 1.4845 0.1516 1.1000 0.9000 0 1
71 100.0000 1.0000 0.7950 -0.2574 1.1000 0.9000 0 1
74 100.0000 1.0000 1.0200 0.0000 1.1000 0.9000 0 1
78 100.0000 1.0000 14.0596 4.2674 1.1000 0.9000 0 1
80 100.0000 1.0000 2.7178 -0.4736 1.1000 0.9000 0 1
83 100.0000 1.0000 0.4350 0.0678 1.1000 0.9000 0 1
85 100.0000 1.0000 0.1800 0.0000 1.1000 0.9000 0 1
86 100.0000 1.0000 0.1176 0.0677 1.1000 0.9000 0 1
88 100.0000 1.0000 0.4921 0.2702 1.1000 0.9000 0 1
89 100.0000 1.0000 0.4573 0.3780 1.1000 0.9000 0 1
90 100.0000 1.0000 0.2140 0.1109 1.1000 0.9000 0 1
91 100.0000 1.0000 9.1212 2.9249 1.1000 0.9000 0 1
92 100.0000 1.0000 0.0485 1.9726 1.1000 0.9000 0 1
93 100.0000 1.0000 1.2500 0.0000 1.1000 0.9000 0 1
94 100.0000 1.0000 0.9500 0.0000 1.1000 0.9000 0 1
95 100.0000 1.0000 -1.0000 0.8700 1.1000 0.9000 0 1
96 100.0000 1.0000 -0.4000 -0.2500 1.1000 0.9000 0 1
97 100.0000 1.0000 1.1423 -0.8103 1.1000 0.9000 0 1
101 100.0000 1.0000 2.6964 0.9790 1.1000 0.9000 0 1
104 100.0000 1.0000 0.2379 0.1133 1.1000 0.9000 0 1
105 100.0000 1.0000 3.2500 0.0000 1.1000 0.9000 0 1
106 100.0000 1.0000 0.0000 -0.1200 1.1000 0.9000 0 1
107 100.0000 1.0000 0.0000 -0.1900 1.1000 0.9000 0 1
108 100.0000 1.0000 0.0000 -0.1300 1.1000 0.9000 0 1
109 100.0000 1.0000 0.0000 -0.1300 1.1000 0.9000 0 1
110 100.0000 1.0000 4.7930 0.7293 1.1000 0.9000 0 1
111 100.0000 1.0000 1.3287 0.0800 1.1000 0.9000 0 1
113 100.0000 1.0000 2.0600 0.0000 1.1000 0.9000 0 1
114 100.0000 1.0000 0.0000 0.9000 1.1000 0.9000 0 1
115 100.0000 1.0000 1.0000 0.0000 1.1000 0.9000 0 1
116 100.0000 1.0000 2.0000 0.0000 1.1000 0.9000 0 1
117 100.0000 1.0000 1.5580 0.4263 1.1000 0.9000 0 1
118 100.0000 1.0000 0.9168 0.2311 1.1000 0.9000 0 1
119 100.0000 1.0000 4.1046 1.0853 1.1000 0.9000 0 1
120 100.0000 1.0000 9.4600 -0.4000 1.1000 0.9000 0 1
123 100.0000 1.0000 0.2305 0.0263 1.1000 0.9000 0 1
124 100.0000 1.0000 0.8591 -0.2025 1.1000 0.9000 0 1
125 100.0000 1.0000 2.5169 -0.0211 1.1000 0.9000 0 1
126 100.0000 1.0000 4.5000 0.0000 1.1000 0.9000 0 1
127 100.0000 1.0000 2.0000 -1.5000 1.1000 0.9000 0 1
128 100.0000 1.0000 9.7000 -1.0200 1.1000 0.9000 0 1
129 100.0000 1.0000 6.1000 -0.5000 1.1000 0.9000 0 1
130 100.0000 1.0000 1.8000 0.0000 1.1000 0.9000 0 1
131 100.0000 1.0000 11.6000 -4.3200 1.1000 0.9000 0 1
132 100.0000 1.0000 2.1000 -3.3700 1.1000 0.9000 0 1
135 100.0000 1.0000 1.7000 0.0000 1.1000 0.9000 0 1
136 100.0000 1.0000 2.0015 1.7037 1.1000 0.9000 0 1
138 100.0000 1.0000 0.1294 0.1385 1.1000 0.9000 0 1
];
%Shunt data: 12
Shunt.con = [...
41 100.0000 1.0000 60.0000 0.0000 0.2500 1
45 100.0000 1.0000 60.0000 0.0000 0.2500 1
47 100.0000 1.0000 60.0000 0.0000 0.6000 1
48 100.0000 1.0000 60.0000 0.0000 -0.0100 1
49 100.0000 1.0000 60.0000 0.0000 0.1000 1
51 100.0000 1.0000 60.0000 0.0000 0.2500 1
54 100.0000 1.0000 60.0000 0.0000 -1.1200 1
55 100.0000 1.0000 60.0000 0.0000 0.0200 1
56 100.0000 1.0000 60.0000 0.0000 0.0600 1
58 100.0000 1.0000 60.0000 0.0000 0.0200 1
59 100.0000 1.0000 60.0000 0.0000 0.5000 1
61 100.0000 1.0000 60.0000 0.0000 0.0400 1
];
%Line Data: 233
Line.con = [...
2 1 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00430 0.07000 1.00000 0.00000 5.17580 0.00000 0.00000 1.00000
2 33 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00820 0.14000 1.00000 0.00000 7.96670 0.00000 0.00000 1.00000
4 1 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00430 0.07000 1.00000 0.00000 4.84110 0.00000 0.00000 1.00000
5 4 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.01010 0.17000 1.00000 0.00000 3.53820 0.00000 0.00000 1.00000
5 31 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01290 0.14000 1.00000 0.00000 7.83630 0.00000 0.00000 1.00000
6 5 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.02170 0.37000 1.00000 0.00000 1.25280 0.00000 0.00000 1.00000
7 6 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.00940 0.17000 1.00000 0.00000 4.17970 0.00000 0.00000 1.00000
8 7 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00890 0.13000 1.00000 0.00000 5.64530 0.00000 0.00000 1.00000
9 8 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00820 0.13000 1.00000 0.00000 3.62360 0.00000 0.00000 1.00000
9 30 100.00000 1.00000 60.00000 0 0.00000 0.00110 0.01330 0.21000 1.00000 0.00000 0.41410 0.00000 0.00000 1.00000
10 7 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.01950 0.30000 1.00000 0.00000 2.50470 0.00000 0.00000 1.00000
12 7 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01350 0.25000 1.00000 0.00000 6.97030 0.00000 0.00000 1.00000
13 12 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01400 0.26000 1.00000 0.00000 8.35820 0.00000 0.00000 1.00000
14 13 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00960 0.18000 1.00000 0.00000 1.23970 0.00000 0.00000 1.00000
15 7 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00590 0.07000 1.00000 0.00000 1.54840 0.00000 0.00000 1.00000
15 14 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.03500 0.36000 1.00000 0.00000 3.62110 0.00000 0.00000 1.00000
16 29 100.00000 1.00000 60.00000 0 0.00000 0.00700 0.00860 0.15000 1.00000 0.00000 4.01490 0.00000 0.00000 1.00000
17 16 100.00000 1.00000 60.00000 0 0.00000 0.00320 0.03230 0.53000 1.00000 0.00000 1.87990 0.00000 0.00000 1.00000
18 8 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01730 0.32000 1.00000 0.00000 0.62220 0.00000 0.00000 1.00000
18 17 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01470 0.24000 1.00000 0.00000 5.88860 0.00000 0.00000 1.00000
19 17 100.00000 1.00000 60.00000 0 0.00000 0.00430 0.04740 0.78000 1.00000 0.00000 2.32840 0.00000 0.00000 1.00000
20 17 100.00000 1.00000 60.00000 0 0.00000 0.00570 0.06250 1.03000 1.00000 0.00000 3.15910 0.00000 0.00000 1.00000
20 19 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01510 0.25000 1.00000 0.00000 3.29440 0.00000 0.00000 1.00000
30 29 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01510 0.26000 1.00000 0.00000 3.28920 0.00000 0.00000 1.00000
31 30 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.02130 0.22000 1.00000 0.00000 2.28750 0.00000 0.00000 1.00000
32 31 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01280 0.13000 1.00000 0.00000 2.62440 0.00000 0.00000 1.00000
33 32 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.00260 0.04000 1.00000 0.00000 10.54340 0.00000 0.00000 1.00000
34 33 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00920 0.11000 1.00000 0.00000 13.49600 0.00000 0.00000 1.00000
35 32 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01120 0.15000 1.00000 0.00000 7.55570 0.00000 0.00000 1.00000
35 34 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00460 0.08000 1.00000 0.00000 4.09770 0.00000 0.00000 1.00000
37 29 100.00000 1.00000 60.00000 0 0.00000 0.00350 0.04110 0.70000 1.00000 0.00000 2.58840 0.00000 0.00000 1.00000
38 37 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.01630 0.25000 1.00000 0.00000 7.41220 0.00000 0.00000 1.00000
39 37 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.00740 0.48000 1.00000 0.00000 7.85490 0.00000 0.00000 1.00000
40 37 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.03150 0.06000 1.00000 0.00000 8.53470 0.00000 0.00000 1.00000
42 41 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.00890 0.07000 1.00000 0.00000 1.27010 0.00000 0.00000 1.00000
43 37 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01880 1.31000 1.00000 0.00000 4.91820 0.00000 0.00000 1.00000
44 40 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.05300 0.40000 1.00000 0.00000 7.49620 0.00000 0.00000 1.00000
44 43 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01100 0.00000 1.00000 0.00000 8.34330 0.00000 0.00000 1.00000
45 41 100.00000 1.00000 60.00000 0 0.00000 0.07760 0.22410 0.13000 1.00000 0.00000 1.08210 0.00000 0.00000 1.00000
45 44 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02050 0.00000 1.00000 0.00000 5.90950 0.00000 0.00000 1.00000
46 45 100.00000 1.00000 60.00000 0 0.00000 0.12350 0.35480 0.16000 1.00000 0.00000 0.24810 0.00000 0.00000 1.00000
47 46 100.00000 1.00000 60.00000 0 0.00000 0.06320 0.12100 0.05000 1.00000 0.00000 1.21250 0.00000 0.00000 1.00000
48 44 100.00000 1.00000 60.00000 0 0.00000 0.01500 0.10500 0.79000 1.00000 0.00000 1.73330 0.00000 0.00000 1.00000
48 47 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.03300 0.00000 1.00000 0.00000 3.21110 0.00000 0.00000 1.00000
49 46 100.00000 1.00000 60.00000 0 0.00000 0.16400 0.57800 0.06000 1.00000 0.00000 0.16100 0.00000 0.00000 1.00000
50 43 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.02680 0.40000 1.00000 0.00000 6.38710 0.00000 0.00000 1.00000
50 43 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.02680 0.40000 1.00000 0.00000 4.99830 0.00000 0.00000 1.00000
51 45 100.00000 1.00000 60.00000 0 0.00000 0.06050 0.18960 0.08000 1.00000 0.00000 1.43320 0.00000 0.00000 1.00000
51 50 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02070 0.00000 1.00000 0.00000 9.06990 0.00000 0.00000 1.00000
52 50 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.02200 1.28000 1.00000 0.00000 15.88740 0.00000 0.00000 1.00000
53 51 100.00000 1.00000 60.00000 0 0.00000 0.08440 0.21610 0.22000 1.00000 0.00000 1.28850 0.00000 0.00000 1.00000
53 52 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.03880 0.00000 1.00000 0.00000 1.34150 0.00000 0.00000 1.00000
55 53 100.00000 1.00000 60.00000 0 0.00000 0.03000 0.10700 0.30000 1.00000 0.00000 4.05110 0.00000 0.00000 1.00000
56 54 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.00800 0.07000 1.00000 0.00000 2.96490 0.00000 0.00000 1.00000
57 55 100.00000 1.00000 60.00000 0 0.00000 0.00740 0.04000 0.02000 1.00000 0.00000 0.64600 0.00000 0.00000 1.00000
58 56 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01500 0.11000 1.00000 0.00000 10.78350 0.00000 0.00000 1.00000
59 55 100.00000 1.00000 60.00000 0 0.00000 0.01600 0.08170 0.04000 1.00000 0.00000 2.43040 0.00000 0.00000 1.00000
59 57 100.00000 1.00000 60.00000 0 0.00000 0.01400 0.06800 0.03000 1.00000 0.00000 2.05680 0.00000 0.00000 1.00000
60 58 100.00000 1.00000 60.00000 0 0.00000 0.00350 0.03440 0.27000 1.00000 0.00000 10.67740 0.00000 0.00000 1.00000
61 59 100.00000 1.00000 60.00000 0 0.00000 0.06800 0.14300 0.06000 1.00000 0.00000 1.62450 0.00000 0.00000 1.00000
62 54 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.06900 0.13000 1.00000 0.00000 3.04470 0.00000 0.00000 1.00000
62 58 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01800 0.03000 1.00000 0.00000 1.88430 0.00000 0.00000 1.00000
63 62 100.00000 1.00000 60.00000 0 0.00000 0.01290 0.08030 0.15000 1.00000 0.00000 2.29880 0.00000 0.00000 1.00000
64 63 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04600 0.00000 1.00000 0.00000 2.27710 0.00000 0.00000 1.00000
65 53 100.00000 1.00000 60.00000 0 0.00000 0.03500 0.08000 0.05000 1.00000 0.00000 1.59860 0.00000 0.00000 1.00000
65 64 100.00000 1.00000 60.00000 0 0.00000 0.03500 0.08000 0.05000 1.00000 0.00000 0.25570 0.00000 0.00000 1.00000
67 63 100.00000 1.00000 60.00000 0 0.00000 0.01200 0.09300 0.18000 1.00000 0.00000 0.22110 0.00000 0.00000 1.00000
67 66 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02310 0.00000 1.00000 0.00000 6.23480 0.00000 0.00000 1.00000
68 64 100.00000 1.00000 60.00000 0 0.00000 0.09880 0.23100 0.13000 1.00000 0.00000 0.34280 0.00000 0.00000 1.00000
68 67 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04900 0.00000 1.00000 0.00000 0.95770 0.00000 0.00000 1.00000
69 38 100.00000 1.00000 60.00000 0 0.00000 0.00430 0.04850 0.79000 1.00000 0.00000 6.74390 0.00000 0.00000 1.00000
69 66 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.02740 0.27000 1.00000 0.00000 13.26640 0.00000 0.00000 1.00000
70 67 100.00000 1.00000 60.00000 0 0.00000 0.00700 0.06190 0.12000 1.00000 0.00000 0.71760 0.00000 0.00000 1.00000
71 45 100.00000 1.00000 60.00000 0 0.00000 0.17510 0.55750 0.12000 1.00000 0.00000 0.41220 0.00000 0.00000 1.00000
71 68 100.00000 1.00000 60.00000 0 0.00000 0.12030 0.20480 0.07000 1.00000 0.00000 0.16780 0.00000 0.00000 1.00000
71 69 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.03750 0.00000 1.00000 0.00000 5.40880 0.00000 0.00000 1.00000
71 70 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04900 0.00000 1.00000 0.00000 2.00680 0.00000 0.00000 1.00000
72 51 100.00000 1.00000 60.00000 0 0.00000 0.00510 0.02320 0.30000 1.00000 0.00000 1.59680 0.00000 0.00000 1.00000
72 71 100.00000 1.00000 60.00000 0 0.00000 0.00530 0.01350 0.10000 1.00000 0.00000 3.27370 0.00000 0.00000 1.00000
73 35 100.00000 1.00000 60.00000 0 0.00000 0.00230 0.03630 0.38000 1.00000 0.00000 2.77670 0.00000 0.00000 1.00000
73 39 100.00000 1.00000 60.00000 0 0.00000 0.00190 0.01830 0.29000 1.00000 0.00000 5.05140 0.00000 0.00000 1.00000
73 39 100.00000 1.00000 60.00000 0 0.00000 0.00190 0.01830 0.29000 1.00000 0.00000 5.09810 0.00000 0.00000 1.00000
74 73 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.01960 0.34000 1.00000 0.00000 3.87680 0.00000 0.00000 1.00000
74 73 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.01960 0.34000 1.00000 0.00000 1.43590 0.00000 0.00000 1.00000
77 74 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00430 0.08000 1.00000 0.00000 5.05260 0.00000 0.00000 1.00000
77 76 100.00000 1.00000 60.00000 0 0.00000 0.00300 0.00680 1.37000 1.00000 0.00000 5.67520 0.00000 0.00000 1.00000
78 74 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.00450 0.32000 1.00000 0.00000 1.67190 0.00000 0.00000 1.00000
78 74 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.00450 0.32000 1.00000 0.00000 5.94560 0.00000 0.00000 1.00000
79 78 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.01530 0.00000 1.00000 0.00000 31.46260 0.00000 0.00000 1.00000
80 78 100.00000 1.00000 60.00000 0 0.00000 0.01350 0.05820 0.50000 1.00000 0.00000 0.37010 0.00000 0.00000 1.00000
81 78 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02760 0.00000 1.00000 0.00000 1.56260 0.00000 0.00000 1.00000
82 78 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.03080 0.00000 1.00000 0.00000 8.72890 0.00000 0.00000 1.00000
83 112 100.00000 1.00000 60.00000 0 0.00000 0.01850 0.15370 0.00000 1.00000 0.00000 2.18980 0.00000 0.00000 1.00000
83 113 100.00000 1.00000 60.00000 0 0.00000 0.00370 0.02020 0.00000 1.00000 0.00000 0.76920 0.00000 0.00000 1.00000
85 105 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.10900 0.18000 1.00000 0.00000 3.20600 0.00000 0.00000 1.00000
85 105 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.10900 0.18000 1.00000 0.00000 3.69740 0.00000 0.00000 1.00000
85 112 100.00000 1.00000 60.00000 0 0.00000 0.00690 0.05950 0.10000 1.00000 0.00000 1.66330 0.00000 0.00000 1.00000
85 112 100.00000 1.00000 60.00000 0 0.00000 0.00690 0.05950 0.10000 1.00000 0.00000 1.70230 0.00000 0.00000 1.00000
88 85 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02020 0.03000 1.00000 0.00000 9.76570 0.00000 0.00000 1.00000
88 85 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02020 0.03000 1.00000 0.00000 7.24670 0.00000 0.00000 1.00000
88 105 100.00000 1.00000 60.00000 0 0.00000 0.01120 0.09930 0.17000 1.00000 0.00000 1.80850 0.00000 0.00000 1.00000
88 105 100.00000 1.00000 60.00000 0 0.00000 0.01120 0.09930 0.17000 1.00000 0.00000 4.31850 0.00000 0.00000 1.00000
89 88 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02050 0.00000 1.00000 0.00000 1.75830 0.00000 0.00000 1.00000
89 105 100.00000 1.00000 60.00000 0 0.00000 0.08940 0.33630 0.00000 1.00000 0.00000 0.51450 0.00000 0.00000 1.00000
89 113 100.00000 1.00000 60.00000 0 0.00000 0.14560 0.41150 0.00000 1.00000 0.00000 0.74480 0.00000 0.00000 1.00000
90 89 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.00490 0.00000 1.00000 0.00000 1.75840 0.00000 0.00000 1.00000
91 110 100.00000 1.00000 60.00000 0 0.00000 0.00170 0.01170 0.00000 1.00000 0.00000 5.17850 0.00000 0.00000 1.00000
92 91 100.00000 1.00000 60.00000 0 0.00000 0.00580 0.09280 0.00000 1.00000 0.00000 3.04030 0.00000 0.00000 1.00000
93 91 100.00000 1.00000 60.00000 0 0.00000 0.04210 0.29320 0.00000 1.00000 0.00000 0.94880 0.00000 0.00000 1.00000
94 93 100.00000 1.00000 60.00000 0 0.00000 0.00420 0.02830 0.00000 1.00000 0.00000 0.40880 0.00000 0.00000 1.00000
94 111 100.00000 1.00000 60.00000 0 0.00000 0.00490 0.03360 0.00000 1.00000 0.00000 0.79060 0.00000 0.00000 1.00000
95 91 100.00000 1.00000 60.00000 0 0.00000 0.02610 0.18440 0.00000 1.00000 0.00000 0.61650 0.00000 0.00000 1.00000
95 93 100.00000 1.00000 60.00000 0 0.00000 0.01870 0.12840 0.00000 1.00000 0.00000 1.49110 0.00000 0.00000 1.00000
96 95 100.00000 1.00000 60.00000 0 0.00000 0.01360 0.09550 0.00000 1.00000 0.00000 1.54410 0.00000 0.00000 1.00000
97 92 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.03030 0.00000 1.00000 0.00000 4.87490 0.00000 0.00000 1.00000
97 96 100.00000 1.00000 60.00000 0 0.00000 0.01600 0.07670 0.00000 1.00000 0.00000 0.38600 0.00000 0.00000 1.00000
98 91 100.00000 1.00000 60.00000 0 0.00000 0.01200 0.08540 0.00000 1.00000 0.00000 9.83400 0.00000 0.00000 1.00000
99 98 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00920 0.00000 1.00000 0.00000 2.59640 0.00000 0.00000 1.00000
100 99 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.07020 0.00000 1.00000 0.00000 4.28080 0.00000 0.00000 1.00000
102 54 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02480 0.06000 1.00000 0.00000 4.00240 0.00000 0.00000 1.00000
103 54 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02480 0.06000 1.00000 0.00000 4.64290 0.00000 0.00000 1.00000
104 101 100.00000 1.00000 60.00000 0 0.00000 0.00770 0.07730 0.00000 1.00000 0.00000 6.80200 0.00000 0.00000 1.00000
105 101 100.00000 1.00000 60.00000 0 0.00000 0.01880 0.14930 0.00000 1.00000 0.00000 0.41390 0.00000 0.00000 1.00000
106 104 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.01800 0.00000 1.00000 0.00000 4.33360 0.00000 0.00000 1.00000
106 105 100.00000 1.00000 60.00000 0 0.00000 0.01650 0.11560 0.00000 1.00000 0.00000 0.94510 0.00000 0.00000 1.00000
107 101 100.00000 1.00000 60.00000 0 0.00000 0.00760 0.07510 0.00000 1.00000 0.00000 3.04870 0.00000 0.00000 1.00000
107 105 100.00000 1.00000 60.00000 0 0.00000 0.01150 0.11030 0.00000 1.00000 0.00000 0.62580 0.00000 0.00000 1.00000
108 101 100.00000 1.00000 60.00000 0 0.00000 0.00780 0.07720 0.00000 1.00000 0.00000 7.23020 0.00000 0.00000 1.00000
109 101 100.00000 1.00000 60.00000 0 0.00000 0.00780 0.07830 0.00000 1.00000 0.00000 4.84210 0.00000 0.00000 1.00000
110 101 100.00000 1.00000 60.00000 0 0.00000 0.04820 0.26360 0.00000 1.00000 0.00000 1.27230 0.00000 0.00000 1.00000
110 104 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00620 0.00000 1.00000 0.00000 2.51900 0.00000 0.00000 1.00000
110 107 100.00000 1.00000 60.00000 0 0.00000 0.00210 0.01860 0.00000 1.00000 0.00000 6.82180 0.00000 0.00000 1.00000
110 108 100.00000 1.00000 60.00000 0 0.00000 0.00260 0.01940 0.00000 1.00000 0.00000 1.78530 0.00000 0.00000 1.00000
110 109 100.00000 1.00000 60.00000 0 0.00000 0.00260 0.01940 0.00000 1.00000 0.00000 0.90480 0.00000 0.00000 1.00000
111 105 100.00000 1.00000 60.00000 0 0.00000 0.01310 0.08090 0.13000 1.00000 0.00000 2.16770 0.00000 0.00000 1.00000
111 108 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.05770 0.00000 1.00000 0.00000 0.84390 0.00000 0.00000 1.00000
111 109 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.05770 0.00000 1.00000 0.00000 2.05860 0.00000 0.00000 1.00000
112 105 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.04970 0.30000 1.00000 0.00000 1.52910 0.00000 0.00000 1.00000
113 105 100.00000 1.00000 60.00000 0 0.00000 0.38240 0.94790 0.00000 1.00000 0.00000 0.06300 0.00000 0.00000 1.00000
113 112 100.00000 1.00000 60.00000 0 0.00000 0.01010 0.08730 0.00000 1.00000 0.00000 4.38180 0.00000 0.00000 1.00000
114 90 100.00000 1.00000 60.00000 0 0.00000 0.00240 0.01500 0.00000 1.00000 0.00000 1.18080 0.00000 0.00000 1.00000
115 87 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00180 0.02000 1.00000 0.00000 1.46840 0.00000 0.00000 1.00000
116 84 100.00000 1.00000 60.00000 0 0.00000 0.00150 0.10450 0.00000 1.00000 0.00000 1.03320 0.00000 0.00000 1.00000
116 115 100.00000 1.00000 60.00000 0 0.00000 0.07330 0.97990 0.00000 1.00000 0.00000 0.35860 0.00000 0.00000 1.00000
117 114 100.00000 1.00000 60.00000 0 0.00000 0.06630 0.36960 0.00000 1.00000 0.00000 0.01620 0.00000 0.00000 1.00000
117 115 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.01140 0.00000 1.00000 0.00000 2.53530 0.00000 0.00000 1.00000
117 116 100.00000 1.00000 60.00000 0 0.00000 0.04740 0.26310 0.00000 1.00000 0.00000 0.23350 0.00000 0.00000 1.00000
118 115 100.00000 1.00000 60.00000 0 0.00000 0.16570 0.15510 0.00000 1.00000 0.00000 0.10820 0.00000 0.00000 1.00000
118 116 100.00000 1.00000 60.00000 0 0.00000 0.01170 0.07440 0.00000 1.00000 0.00000 3.04110 0.00000 0.00000 1.00000
118 117 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01990 0.00000 1.00000 0.00000 1.66080 0.00000 0.00000 1.00000
119 114 100.00000 1.00000 60.00000 0 0.00000 0.08760 0.25400 0.00000 1.00000 0.00000 0.08300 0.00000 0.00000 1.00000
119 115 100.00000 1.00000 60.00000 0 0.00000 0.00330 0.03920 0.00000 1.00000 0.00000 3.84910 0.00000 0.00000 1.00000
119 117 100.00000 1.00000 60.00000 0 0.00000 0.00170 0.01890 0.00000 1.00000 0.00000 1.42730 0.00000 0.00000 1.00000
120 116 100.00000 1.00000 60.00000 0 0.00000 0.23070 0.70410 0.00000 1.00000 0.00000 0.04530 0.00000 0.00000 1.00000
120 117 100.00000 1.00000 60.00000 0 0.00000 0.00670 0.07970 0.00000 1.00000 0.00000 2.92290 0.00000 0.00000 1.00000
120 118 100.00000 1.00000 60.00000 0 0.00000 0.00500 0.06290 0.00000 1.00000 0.00000 3.63030 0.00000 0.00000 1.00000
120 119 100.00000 1.00000 60.00000 0 0.00000 0.10650 0.34980 0.00000 1.00000 0.00000 0.56080 0.00000 0.00000 1.00000
121 114 100.00000 1.00000 60.00000 0 0.00000 0.00630 0.08020 0.00000 1.00000 0.00000 1.26620 0.00000 0.00000 1.00000
121 115 100.00000 1.00000 60.00000 0 0.00000 0.02200 0.29840 0.00000 1.00000 0.00000 0.06590 0.00000 0.00000 1.00000
121 116 100.00000 1.00000 60.00000 0 0.00000 0.09510 0.45760 0.00000 1.00000 0.00000 0.16690 0.00000 0.00000 1.00000
121 117 100.00000 1.00000 60.00000 0 0.00000 0.01500 0.08690 0.00000 1.00000 0.00000 1.50920 0.00000 0.00000 1.00000
121 118 100.00000 1.00000 60.00000 0 0.00000 0.13910 0.47980 0.00000 1.00000 0.00000 0.12700 0.00000 0.00000 1.00000
121 119 100.00000 1.00000 60.00000 0 0.00000 0.16360 0.58040 0.00000 1.00000 0.00000 0.26020 0.00000 0.00000 1.00000
122 116 100.00000 1.00000 60.00000 0 0.00000 0.00330 0.12870 0.00000 1.00000 0.00000 2.03550 0.00000 0.00000 1.00000
122 117 100.00000 1.00000 60.00000 0 0.00000 0.03830 0.08860 0.00000 1.00000 0.00000 1.13820 0.00000 0.00000 1.00000
122 118 100.00000 1.00000 60.00000 0 0.00000 0.09500 0.50710 0.00000 1.00000 0.00000 0.26180 0.00000 0.00000 1.00000
122 121 100.00000 1.00000 60.00000 0 0.00000 0.12500 0.46990 0.00000 1.00000 0.00000 0.05510 0.00000 0.00000 1.00000
123 118 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01740 0.00000 1.00000 0.00000 11.53630 0.00000 0.00000 1.00000
124 75 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01750 1.39000 1.00000 0.00000 2.71860 0.00000 0.00000 1.00000
125 81 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00110 0.00000 1.00000 0.00000 7.07180 0.00000 0.00000 1.00000
125 124 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.07300 0.00000 1.00000 0.00000 2.42640 0.00000 0.00000 1.00000
126 124 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.08390 0.00000 1.00000 0.00000 1.43740 0.00000 0.00000 1.00000
126 125 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04110 0.00000 1.00000 0.00000 1.05780 0.00000 0.00000 1.00000
127 124 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.01050 0.72000 1.00000 0.00000 18.53460 0.00000 0.00000 1.00000
127 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.25320 0.00000 1.00000 0.00000 2.58640 0.00000 0.00000 1.00000
128 124 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.01170 0.84000 1.00000 0.00000 2.55290 0.00000 0.00000 1.00000
128 125 100.00000 1.00000 60.00000 0 0.00000 0.00490 0.26340 0.00000 1.00000 0.00000 0.48490 0.00000 0.00000 1.00000
128 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.27410 0.00000 1.00000 0.00000 1.49170 0.00000 0.00000 1.00000
128 127 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.13390 0.00000 1.00000 0.00000 1.18060 0.00000 0.00000 1.00000
129 128 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.13810 0.00000 1.00000 0.00000 1.39220 0.00000 0.00000 1.00000
130 128 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01750 1.26000 1.00000 0.00000 19.71160 0.00000 0.00000 1.00000
130 129 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00850 0.60000 1.00000 0.00000 13.56630 0.00000 0.00000 1.00000
131 130 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.00380 0.54000 1.00000 0.00000 14.48520 0.00000 0.00000 1.00000
132 127 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.02210 1.62000 1.00000 0.00000 29.02870 0.00000 0.00000 1.00000
132 130 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01730 1.25000 1.00000 0.00000 10.85400 0.00000 0.00000 1.00000
133 131 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.03900 2.77000 1.00000 0.00000 7.20300 0.00000 0.00000 1.00000
133 132 100.00000 1.00000 60.00000 0 0.00000 0.00120 0.02930 2.09000 1.00000 0.00000 26.72170 0.00000 0.00000 1.00000
134 66 100.00000 1.00000 60.00000 0 0.00000 0.00076 0.01141 1.16000 1.00000 0.00000 12.23790 0.00000 0.00000 1.00000
134 132 100.00000 1.00000 60.00000 0 0.00000 0.00235 0.04388 0.00000 1.00000 0.00000 7.10790 0.00000 0.00000 1.00000
135 115 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.63090 0.00000 1.00000 0.00000 0.06330 0.00000 0.00000 1.00000
135 122 100.00000 1.00000 60.00000 0 0.00000 0.05730 0.75810 0.00000 1.00000 0.00000 0.06840 0.00000 0.00000 1.00000
135 131 100.00000 1.00000 60.00000 0 0.00000 0.00570 0.06990 0.00000 1.00000 0.00000 17.57410 0.00000 0.00000 1.00000
135 132 100.00000 1.00000 60.00000 0 0.00000 0.00120 0.02880 2.06000 1.00000 0.00000 29.79870 0.00000 0.00000 1.00000
135 133 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00630 0.45000 1.00000 0.00000 6.49310 0.00000 0.00000 1.00000
135 134 100.00000 1.00000 60.00000 0 0.00000 0.00460 0.06250 0.00000 1.00000 0.00000 8.23360 0.00000 0.00000 1.00000
136 134 100.00000 1.00000 60.00000 0 0.00000 0.00460 0.07820 0.79000 1.00000 0.00000 0.87020 0.00000 0.00000 1.00000
138 67 100.00000 1.00000 60.00000 0 0.00000 0.00630 0.04910 0.09000 1.00000 0.00000 2.72170 0.00000 0.00000 1.00000
138 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.68050 0.00000 1.00000 0.00000 1.71610 0.00000 0.00000 1.00000
138 132 100.00000 1.00000 60.00000 0 0.00000 0.03310 0.42240 0.00000 1.00000 0.00000 0.59460 0.00000 0.00000 1.00000
138 137 100.00000 1.00000 60.00000 0 0.00000 0.25530 0.71800 0.00000 1.00000 0.00000 0.55670 0.00000 0.00000 1.00000
139 115 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.12430 0.00000 1.00000 0.00000 0.37240 0.00000 0.00000 1.00000
139 122 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.15320 0.00000 1.00000 0.00000 1.43410 0.00000 0.00000 1.00000
139 131 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.10520 0.00000 1.00000 0.00000 8.69210 0.00000 0.00000 1.00000
139 135 100.00000 1.00000 60.00000 0 0.00000 0.01770 0.06610 0.00000 1.00000 0.00000 3.30430 0.00000 0.00000 1.00000
139 136 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.20540 0.00000 1.00000 0.00000 1.44920 0.00000 0.00000 1.00000
140 60 100.00000 1.00000 60.00000 0 0.00000 0.00390 0.03630 0.07000 1.00000 0.00000 0.05510 0.00000 0.00000 1.00000
1 21 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02000 0.00000 1.07000 0.00000 18.01230 0.00000 0.00000 1.00000
3 2 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.04350 0.00000 1.06000 0.00000 0.22970 0.00000 0.00000 1.00000
3 4 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.04350 0.00000 1.06000 0.00000 0.72310 0.00000 0.00000 1.00000
10 11 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01380 0.00000 1.06000 0.00000 5.82480 0.00000 0.00000 1.00000
10 22 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01420 0.00000 1.07000 0.00000 13.41090 0.00000 0.00000 1.00000
11 23 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.01800 0.00000 1.00900 0.00000 10.10430 0.00000 0.00000 1.00000
13 24 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01430 0.00000 1.02500 0.00000 13.92040 0.00000 0.00000 1.00000
14 25 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02720 0.00000 1.00000 0.00000 7.67330 0.00000 0.00000 1.00000
16 27 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.02320 0.00000 1.02500 0.00000 17.59290 0.00000 0.00000 1.00000
20 26 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01560 0.00000 1.02500 0.00000 26.71890 0.00000 0.00000 1.00000
28 29 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01810 0.00000 1.02500 0.00000 0.00000 0.00000 0.00000 1.00000
33 36 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02500 0.00000 1.07000 0.00000 20.07010 0.00000 0.00000 1.00000
40 41 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01610 0.00000 0.95000 0.00000 8.65390 0.00000 0.00000 1.00000
48 100 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.15950 0.00000 0.97000 0.00000 2.41870 0.00000 0.00000 1.00000
49 48 100.00000 1.00000 60.00000 0 0.00000 0.01560 0.15360 0.00000 1.01400 0.00000 2.25490 0.00000 0.00000 1.00000
54 52 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.02330 0.00000 1.00300 0.00000 6.40360 0.00000 0.00000 1.00000
54 55 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01300 0.00000 1.01000 0.00000 3.64770 0.00000 0.00000 1.00000
56 57 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.14200 0.00000 0.98000 0.00000 0.54010 0.00000 0.00000 1.00000
58 59 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.00930 0.00000 0.96000 0.00000 10.69880 0.00000 0.00000 1.00000
60 61 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.06400 0.00000 0.99000 0.00000 2.87690 0.00000 0.00000 1.00000
75 76 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00740 0.00000 0.99000 0.00000 2.65920 0.00000 0.00000 1.00000
84 83 100.00000 1.00000 60.00000 0 0.00000 0.00520 0.01740 0.00000 1.00300 0.00000 1.01060 0.00000 0.00000 1.00000
85 86 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.00570 0.00000 1.11000 0.00000 18.34150 0.00000 0.00000 1.00000
87 85 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.02460 0.00000 0.93900 0.00000 3.74850 0.00000 0.00000 1.00000
101 102 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.02110 0.00000 1.04500 0.00000 1.11720 0.00000 0.00000 1.00000
101 103 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.01510 0.00000 1.05600 0.00000 1.01860 0.00000 0.00000 1.00000
137 136 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.02390 0.00000 1.00000 0.00000 4.35960 0.00000 0.00000 1.00000
];
Hvdc.con = [];
Bus.names = {...
'bus1 ';'bus2 ';'bus3 ';'bus4 ';'bus5 ';
'bus6 ';'bus7 ';'bus8 ';'bus9 ';'bus10 ';
'bus11 ';'bus12 ';'bus13 ';'bus14 ';'bus15 ';
'bus16 ';'bus17 ';'bus18 ';'bus19 ';'bus20 ';
'bus21 ';'bus22 ';'bus23 ';'bus24 ';'bus25 ';
'bus26 ';'bus27 ';'bus28 ';'bus29 ';'bus30 ';
'bus31 ';'bus32 ';'bus33 ';'bus34 ';'bus35 ';
'bus36 ';'bus37 ';'bus38 ';'bus39 ';'bus40 ';
'bus41 ';'bus42 ';'bus43 ';'bus44 ';'bus45 ';
'bus46 ';'bus47 ';'bus48 ';'bus49 ';'bus50 ';
'bus51 ';'bus52 ';'bus53 ';'bus54 ';'bus55 ';
'bus56 ';'bus57 ';'bus58 ';'bus59 ';'bus60 ';
'bus61 ';'bus62 ';'bus63 ';'bus64 ';'bus65 ';
'bus66 ';'bus67 ';'bus68 ';'bus69 ';'bus70 ';
'bus71 ';'bus72 ';'bus73 ';'bus74 ';'bus75 ';
'bus76 ';'bus77 ';'bus78 ';'bus79 ';'bus80 ';
'bus81 ';'bus82 ';'bus83 ';'bus84 ';'bus85 ';
'bus86 ';'bus87 ';'bus88 ';'bus89 ';'bus90 ';
'bus91 ';'bus92 ';'bus93 ';'bus94 ';'bus95 ';
'bus96 ';'bus97 ';'bus98 ';'bus99 ';'bus100 ';
'bus101 ';'bus102 ';'bus103 ';'bus104 ';'bus105 ';
'bus106 ';'bus107 ';'bus108 ';'bus109 ';'bus110 ';
'bus111 ';'bus112 ';'bus113 ';'bus114 ';'bus115 ';
'bus116 ';'bus117 ';'bus118 ';'bus119 ';'bus120 ';
'bus121 ';'bus122 ';'bus123 ';'bus124 ';'bus125 ';
'bus126 ';'bus127 ';'bus128 ';'bus129 ';'bus130 ';
'bus131 ';'bus132 ';'bus133 ';'bus134 ';'bus135 ';
'bus136 ';'bus137 ';'bus138 ';'bus139 ';'bus140 '};
%ZIP Data: 54
Pl.con = [...
3 100 1 60 0.0008773 0.00417 0.009625 0.05419 0.1002 0.09123 0 1
6 100 1 60 0.1892 0.4791 0.1805 0.06366 0.1528 0.197 0 1
7 100 1 60 0.3355 0.3487 0.3106 -0.006955 -0.03937 -0.03894 0 1
9 100 1 60 0.01208 0.314 0.176 0.01356 0.06647 0.01307 0 1
11 100 1 60 1.861 0.2427 0.7993 0.04963 0.06248 0.03267 0 1
12 100 1 60 0.04402 0.2503 0.5024 0.1088 0.1276 0.09922 0 1
14 100 1 60 0.2647 0.1187 0.3388 0.09827 0.03946 0.117 0 1
16 100 1 60 0.4 0.3209 0.3218 0.02467 0.07173 0.06503 0 1
17 100 1 60 0.1017 0.3887 0.1483 -0.001404 -0.03409 -0.02987 0 1
18 100 1 60 0.306 0.2161 0.3258 0.06659 0.1198 0.0398 0 1
19 100 1 60 0.0129 0.04118 0.09607 -0.01652 -0.03668 -0.007914 0 1
20 100 1 60 0.5105 0.2742 0.6915 0.02822 0.0179 0.02003 0 1
30 100 1 60 0.07044 0.01648 0.0695 -0.05379 -0.01024 -0.03389 0 1
31 100 1 60 0.04612 0.2143 0.274 0.1228 0.02826 0.05309 0 1
34 100 1 60 0.04537 0.0699 0.6869 0.01693 0.1738 0.1006 0 1
35 100 1 60 0.2714 0.7643 0.7874 0.2211 0.2828 0.1568 0 1
36 100 1 60 0.0001254 0.001644 0.005779 0.001662 0.001809 0.001803 0 1
41 100 1 60 0.236 0.1614 0.01799 0.0219 0.01577 0.01245 0 1
42 100 1 60 0.2091 0.1068 0.1338 -0.004165 -0.05305 -0.00241 0 1
45 100 1 60 0.174 0.03359 0.2019 -0.01154 -0.00589 -0.00138 0 1
47 100 1 60 0.12 0.1142 0.04137 0.03049 0.03015 0.04214 0 1
49 100 1 60 0.4719 0.3859 0.1838 0.07737 0.09134 0.05086 0 1
51 100 1 60 0.1755 0.4374 0.3371 0.04778 0.02682 0.02541 0 1
53 100 1 60 1.41 1.219 0.4998 0.2105 0.3201 0.2557 0 1
55 100 1 60 0.5748 0.3943 2.149 0.1883 0.02331 0.09435 0 1
56 100 1 60 0.05028 0.03831 0.05335 0.01429 0.01226 0.02034 0 1
58 100 1 60 0.09602 0.002277 0.03269 0.02741 0.0241 0.03354 0 1
59 100 1 60 0.2312 0.09122 0.2285 0.05126 0.02676 0.3847 0 1
61 100 1 60 0.005129 0.001457 0.3078 -0.0003632 -0.004572 -0.002071 0 1
64 100 1 60 0.4845 0.1196 0.1526 0.04715 0.02678 0.03129 0 1
68 100 1 60 0.02658 0.004462 0.007615 0.0006285 0.001168 0.002151 0 1
71 100 1 60 0.3187 0.0932 0.05359 -0.05974 -0.08334 -0.007628 0 1
78 100 1 60 1.581 0.2802 1.532 0.4116 0.3673 0.2511 0 1
80 100 1 60 0.5 0.1372 0.9261 -0.03644 -0.1548 -0.08118 0 1
83 100 1 60 0.0007144 0.001576 0.002155 0.0001631 0.0002685 0.0002612 0 1
86 100 1 60 0.005065 0.0453 0.03661 0.01617 0.0214 0.01248 0 1
88 100 1 60 0.0245 0.04533 0.008483 0.01641 0.01323 0.01335 0 1
89 100 1 60 0.1235 0.04663 0.07597 0.05312 0.01494 0.1353 0 1
90 100 1 60 0.2108 0.1334 0.05218 0.0986 0.03961 0.06733 0 1
91 100 1 60 0.4675 2.119 0.006753 0.105 0.1866 0.5399 0 1
92 100 1 60 0.01326 0.01049 0.00634 0.4345 0.5741 0.2143 0 1
97 100 1 60 0.5576 0.2857 0.7545 -0.1815 -0.4712 -0.4807 0 1
101 100 1 60 0.0631 0.02522 0.2306 0.009237 0.05005 0.05652 0 1
104 100 1 60 0.2436 0.1133 0.141 0.08808 0.06314 0.08589 0 1
110 100 1 60 0.6486 0.191 0.4823 0.01656 0.05273 0.1319 0 1
111 100 1 60 1.071 0.06348 0.6988 0.03458 0.04784 0.02804 0 1
117 100 1 60 0.4024 0.4078 0.2143 0.001777 0.1476 0.131 0 1
118 100 1 60 0.3409 0.2238 0.3958 0.08847 0.09865 0.05502 0 1
119 100 1 60 0.1195 0.2543 0.2017 0.1075 0.03475 0.009967 0 1
123 100 1 60 0.02707 0.02458 0.01857 0.002059 0.0007756 0.00517 0 1
124 100 1 60 0.3116 0.0043 0.4374 -0.03622 -0.06778 -0.07359 0 1
125 100 1 60 0.1396 0.1713 0.1626 -0.00168 -0.001725 -0.0005717 0 1
136 100 1 60 0.2464 0.2558 0.04464 0.01982 0.306 0.1396 0 1
138 100 1 60 0.08274 0.1454 0.1137 0.139 0.01709 0.2098 0 1
];
%Induction motor Data: 54
Ind.con = [...
3 100 1 60 3 0 0.5761 3.832 0.2711 2.072 0 0 43.87 1.816 0 0.07587 -0.03794 0 0 1
6 100 1 60 3 0 0.06464 0.3441 0.03271 0.3227 0 0 15.61 1.677 0 1.063 -0.5316 0 0 1
7 100 1 60 3 0 0.02102 0.1807 0.02766 0.1774 0 0 7.612 1.197 0 2.183 -1.091 0 0 1
9 100 1 60 3 0 0.07862 0.4485 0.06351 0.5499 0 0 20.22 1.721 0 0.4256 -0.2128 0 0 1
11 100 1 60 3 0 0.01068 0.07366 0.01136 0.08012 0 0 2.044 1.848 0 4.119 -2.059 0 0 1
12 100 1 60 3 0 0.06564 0.3244 0.0305 0.3276 0 0 11.45 1.144 0 1.091 -0.5454 0 0 1
14 100 1 60 3 0 0.03363 0.1784 0.02042 0.302 0 0 10.73 1.001 0 1.257 -0.6286 0 0 1
16 100 1 60 3 0 0.08208 0.4459 0.06413 0.2776 0 0 13.83 1.395 0 0.9908 -0.4954 0 0 1
17 100 1 60 3 0 0.06935 0.2361 0.0538 0.4031 0 0 18.4 1.853 0 1.173 -0.5866 0 0 1
18 100 1 60 3 0 0.06048 0.3751 0.07465 0.405 0 0 19.79 1.553 0 0.7182 -0.3591 0 0 1
19 100 1 60 3 0 0.01914 0.1344 0.008472 0.09037 0 0 3.648 1.066 0 2.94 -1.47 0 0 1
20 100 1 60 3 0 0.05107 0.2413 0.02214 0.2739 0 0 8.794 1.602 0 1.122 -0.5612 0 0 1
30 100 1 60 3 0 0.005971 0.02924 0.002035 0.02552 0 0 1.226 1.931 0 5.277 -2.638 0 0 1
31 100 1 60 3 0 0.03804 0.2434 0.02638 0.1653 0 0 5.683 1.314 0 1.155 -0.5774 0 0 1
34 100 1 60 3 0 0.1013 0.6885 0.04886 0.4294 0 0 11.57 1.31 0 0.501 -0.2505 0 0 1
35 100 1 60 3 0 0.01138 0.09808 0.01449 0.05777 0 0 1.842 0.9667 0 3.287 -1.643 0 0 1
36 100 1 60 3 0 0.6273 3.107 0.2828 4.522 0 0 186.1 0.6069 0 0.05638 -0.02819 0 0 1
41 100 1 60 3 0 0.01769 0.07529 0.005856 0.1008 0 0 3.705 0.773 0 4.228 -2.114 0 0 1
42 100 1 60 3 0 0.04953 0.2724 0.03055 0.1674 0 0 7.149 0.6395 0 1.572 -0.786 0 0 1
45 100 1 60 3 0 0.02916 0.1525 0.02441 0.1363 0 0 6.797 1.195 0 2.446 -1.223 0 0 1
47 100 1 60 3 0 0.004248 0.04144 0.004292 0.04125 0 0 2.016 0.514 0 5.928 -2.964 0 0 1
49 100 1 60 3 0 0.07005 0.3828 0.03064 0.3343 0 0 12.05 1.873 0 0.6719 -0.336 0 0 1
51 100 1 60 3 0 0.03936 0.2897 0.02621 0.1965 0 0 9.612 1.464 0 1.511 -0.7557 0 0 1
53 100 1 60 3 0 0.03125 0.1968 0.01732 0.1894 0 0 4.445 0.5021 0 1.944 -0.9718 0 0 1
55 100 1 60 3 0 0.01092 0.07696 0.01234 0.1105 0 0 2.38 0.5456 0 3.455 -1.727 0 0 1
56 100 1 60 3 0 0.04204 0.1899 0.0367 0.2007 0 0 5.845 0.8127 0 0.9845 -0.4923 0 0 1
58 100 1 60 3 0 0.04665 0.306 0.04748 0.3337 0 0 12.48 1.182 0 0.9155 -0.4578 0 0 1
59 100 1 60 3 0 0.002179 0.02069 0.001203 0.01165 0 0 0.4185 0.6909 0 10.17 -5.085 0 0 1
61 100 1 60 3 0 0.02993 0.2162 0.0232 0.1872 0 0 8.803 0.513 0 1.254 -0.6268 0 0 1
64 100 1 60 3 0 0.08695 0.6347 0.03854 0.5015 0 0 18.16 1.591 0 0.5223 -0.2611 0 0 1
68 100 1 60 3 0 0.05194 0.3318 0.0383 0.2544 0 0 8.384 1.031 0 1.175 -0.5873 0 0 1
71 100 1 60 3 0 0.01181 0.05979 0.007961 0.07188 0 0 2.608 1.671 0 4.902 -2.451 0 0 1
78 100 1 60 3 0 0.007986 0.05175 0.01026 0.05071 0 0 2.098 1.155 0 5.098 -2.549 0 0 1
80 100 1 60 3 0 0.009435 0.06246 0.01052 0.05835 0 0 1.196 1.155 0 5.444 -2.722 0 0 1
83 100 1 60 3 0 0.05698 0.2618 0.04237 0.3977 0 0 17.51 0.5738 0 0.7214 -0.3607 0 0 1
86 100 1 60 3 0 0.1165 0.6265 0.1124 0.5816 0 0 14.12 0.5744 0 0.5919 -0.296 0 0 1
88 100 1 60 3 0 0.08651 0.4117 0.02941 0.3255 0 0 11.18 0.6367 0 1.06 -0.5298 0 0 1
89 100 1 60 3 0 0.1169 0.5529 0.06662 0.6039 0 0 16.73 1.391 0 0.5936 -0.2968 0 0 1
90 100 1 60 3 0 0.034 0.2611 0.04137 0.1734 0 0 5.389 0.8616 0 1.08 -0.5399 0 0 1
91 100 1 60 3 0 0.00582 0.03044 0.005067 0.02302 0 0 0.9174 1.762 0 9.577 -4.789 0 0 1
92 100 1 60 3 0 0.6007 4.623 0.8085 5.471 0 0 137.3 1.786 0 0.04275 -0.02138 0 0 1
97 100 1 60 3 0 0.003028 0.02711 0.004092 0.02864 0 0 0.8124 1.945 0 12.73 -6.365 0 0 1
101 100 1 60 3 0 0.04464 0.3715 0.04315 0.4259 0 0 11.05 1.233 0 0.9699 -0.4849 0 0 1
104 100 1 60 3 0 0.01756 0.1662 0.02729 0.119 0 0 3.077 0.8305 0 2.533 -1.267 0 0 1
110 100 1 60 3 0 0.01882 0.1473 0.01003 0.111 0 0 3.308 0.8393 0 2.13 -1.065 0 0 1
111 100 1 60 3 0 0.02323 0.1561 0.02651 0.1697 0 0 7.878 1.305 0 1.656 -0.8282 0 0 1
117 100 1 60 3 0 0.006466 0.07093 0.009576 0.05615 0 0 1.917 1.643 0 2.836 -1.418 0 0 1
118 100 1 60 3 0 0.03281 0.2359 0.03301 0.1364 0 0 4.382 1.021 0 1.848 -0.9241 0 0 1
119 100 1 60 3 0 0.004995 0.0515 0.005101 0.03649 0 0 0.9261 1.192 0 5.641 -2.821 0 0 1
123 100 1 60 3 0 0.03546 0.3299 0.04854 0.2575 0 0 12.63 1.459 0 0.6588 -0.3294 0 0 1
124 100 1 60 3 0 0.01677 0.06788 0.01576 0.1094 0 0 3.527 1.876 0 4.181 -2.091 0 0 1
125 100 1 60 3 0 0.168 0.708 0.08019 0.8081 0 0 36.64 0.7424 0 0.4193 -0.2097 0 0 1
136 100 1 60 3 0 0.2585 1.145 0.1501 1.026 0 0 39.48 1.573 0 0.3038 -0.1519 0 0 1
138 100 1 60 3 0 0.02732 0.1476 0.02993 0.1549 0 0 4.849 1.367 0 1.258 -0.6291 0 0 1
];

@ -0,0 +1,587 @@
% Modified NPCC 140-bus system, only steady-state
% Original NPCC 140-bus system can be found at
% https://github.com/cuihantao/andes
Bus.con = [ ...
1 1.00 1.0111 0.0866 1 1;
2 1.00 1.0067 0.0727 1 1;
3 1.00 1.0470 0.0719 1 1;
4 1.00 1.0076 0.0735 1 1;
5 1.00 1.0038 0.0427 1 1;
6 1.00 1.0070 0.0338 1 1;
7 1.00 1.0233 0.0580 1 1;
8 1.00 1.0226 0.0361 1 1;
9 1.00 1.0182 0.0201 1 1;
10 1.00 1.0420 0.1391 1 1;
11 1.00 0.9841 0.1133 1 1;
12 1.00 1.0251 0.1047 1 1;
13 1.00 1.0458 0.1872 1 1;
14 1.00 1.0400 0.1821 1 1;
15 1.00 1.0292 0.0611 1 1;
16 1.00 1.0394 0.0796 1 1;
17 1.00 1.0398 0.0585 1 1;
18 1.00 1.0260 0.0276 1 1;
19 1.00 1.0408 0.1143 1 1;
20 1.00 1.0416 0.1610 1 1;
21 1.00 0.9800 0.2274 1 1;
22 1.00 0.9900 0.2315 1 1;
23 1.00 1.0066 0.2041 1 1;
24 1.00 1.0500 0.2808 1 1;
25 1.00 1.0600 0.3203 1 1;
26 1.00 1.0200 0.2815 1 1;
27 1.00 1.0200 0.2007 1 1;
28 1.00 1.0507 0.0583 1 1;
29 1.00 1.0251 0.0583 1 1;
30 1.00 1.0147 0.0142 1 1;
31 1.00 0.9947 0.0084 1 1;
32 1.00 0.9992 0.0338 1 1;
33 1.00 1.0019 0.0461 1 1;
34 1.00 0.9918 0.0101 1 1;
35 1.00 0.9911 0.0026 1 1;
36 1.00 0.9800 0.1952 1 1;
37 1.00 1.0360 0.0837 1 1;
38 1.00 1.0355 0.1252 1 1;
39 1.00 1.0349 0.0595 1 1;
40 1.00 1.0018 0.0122 1 1;
41 1.00 1.0347 -0.0548 1 1;
42 1.00 1.0400 -0.0392 1 1;
43 1.00 1.0438 0.1508 1 1;
44 1.00 1.0401 0.1198 1 1;
45 1.00 1.0379 0.0740 1 1;
46 1.00 1.0433 0.1160 1 1;
47 1.00 1.0300 0.2126 1 1;
48 1.00 1.0500 0.2714 1 1;
49 1.00 0.9435 -0.0164 1 1;
50 1.00 1.0500 0.2364 1 1;
51 1.00 1.0400 0.1540 1 1;
52 1.00 1.0405 0.3465 1 1;
53 1.00 1.0300 0.3218 1 1;
54 1.00 1.0408 0.4802 1 1;
55 1.00 1.0400 0.4679 1 1;
56 1.00 1.0300 0.4786 1 1;
57 1.00 1.0300 0.4604 1 1;
58 1.00 1.0020 0.4380 1 1;
59 1.00 1.0232 0.3975 1 1;
60 1.00 1.0400 0.5377 1 1;
61 1.00 1.0400 0.4799 1 1;
62 1.00 1.0104 0.4269 1 1;
63 1.00 1.0028 0.3135 1 1;
64 1.00 1.0055 0.2595 1 1;
65 1.00 1.0400 0.2813 1 1;
66 1.00 1.0193 0.3663 1 1;
67 1.00 1.0021 0.2939 1 1;
68 1.00 0.9900 0.2255 1 1;
69 1.00 1.0178 0.2533 1 1;
70 1.00 0.9987 0.2401 1 1;
71 1.00 1.0000 0.1978 1 1;
72 1.00 1.0500 0.1810 1 1;
73 1.00 1.0295 0.0298 1 1;
74 1.00 1.0268 0.0054 1 1;
75 1.00 1.0425 0.0214 1 1;
76 1.00 1.0485 0.0133 1 1;
77 1.00 1.0360 0.0096 1 1;
78 1.00 1.0200 0 1 1;
79 1.00 1.0500 0.1426 1 1;
80 1.00 1.0232 0.0110 1 1;
81 1.00 1.0208 -0.0578 1 1;
82 1.00 1.0500 0.1321 1 1;
83 1.00 1.0098 0.4055 1 1;
84 1.00 1.0138 0.4139 1 1;
85 1.00 1.0797 0.6115 1 1;
86 1.00 1.0000 0.7053 1 1;
87 1.00 1.0196 0.5754 1 1;
88 1.00 1.0514 0.5580 1 1;
89 1.00 1.0184 0.5174 1 1;
90 1.00 1.0127 0.5157 1 1;
91 1.00 1.0400 0.2139 1 1;
92 1.00 1.0400 0.3446 1 1;
93 1.00 0.9766 0.1529 1 1;
94 1.00 0.9770 0.1572 1 1;
95 1.00 0.9789 0.2738 1 1;
96 1.00 1.0260 0.2837 1 1;
97 1.00 1.0400 0.2639 1 1;
98 1.00 1.0400 0.5715 1 1;
99 1.00 1.0396 0.5596 1 1;
100 1.00 1.0428 0.4693 1 1;
101 1.00 1.0500 0.4382 1 1;
102 1.00 1.0211 0.4581 1 1;
103 1.00 1.0117 0.4548 1 1;
104 1.00 1.0066 0.2468 1 1;
105 1.00 1.0317 0.4250 1 1;
106 1.00 1.0090 0.2710 1 1;
107 1.00 1.0188 0.2936 1 1;
108 1.00 1.0099 0.2596 1 1;
109 1.00 1.0099 0.2592 1 1;
110 1.00 1.0108 0.2343 1 1;
111 1.00 0.9830 0.1954 1 1;
112 1.00 1.0485 0.5085 1 1;
113 1.00 1.0107 0.3974 1 1;
114 1.00 1.0059 0.5249 1 1;
115 1.00 1.0200 0.5725 1 1;
116 1.00 1.0071 0.4619 1 1;
117 1.00 1.0062 0.5288 1 1;
118 1.00 1.0003 0.5455 1 1;
119 1.00 1.0000 0.5182 1 1;
120 1.00 1.0200 0.4564 1 1;
121 1.00 1.0400 0.5652 1 1;
122 1.00 1.0500 0.5569 1 1;
123 1.00 1.0100 0.6471 1 1;
124 1.00 1.0417 0.0409 1 1;
125 1.00 1.0207 -0.0601 1 1;
126 1.00 1.0208 -0.0950 1 1;
127 1.00 1.0463 0.1139 1 1;
128 1.00 1.0375 0.0470 1 1;
129 1.00 1.0229 0.1554 1 1;
130 1.00 1.0200 0.2122 1 1;
131 1.00 1.0261 0.2333 1 1;
132 1.00 1.0393 0.3410 1 1;
133 1.00 1.0200 0.5988 1 1;
134 1.00 1.0300 0.4475 1 1;
135 1.00 1.0200 0.6102 1 1;
136 1.00 1.0006 0.3441 1 1;
137 1.00 1.0400 0.3547 1 1;
138 1.00 0.9700 0.2386 1 1;
139 1.00 1.0100 0.5090 1 1;
140 1.00 1.0413 0.5375 1 1;
];
SW.con = [ ...
78 100.0 1.00 1.02000 0.00000 9.99000 -9.99000 1.1 0.9 6.32100 1 1 1;
];
PV.con = [ ...
21 100.0 1.00 6.50000 0.98000 9.99000 -9.99000 1.1 0.9 1 1;
22 100.0 1.00 6.32000 0.99000 9.99000 -9.99000 1.1 0.9 1 1;
23 100.0 1.00 5.03000 1.00660 19.98000 -19.9800 1.1 0.9 1 1;
24 100.0 1.00 7.00000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
25 100.0 1.00 5.60000 1.06000 9.99000 -9.99000 1.1 0.9 1 1;
26 100.0 1.00 8.00000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
27 100.0 1.00 5.40000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
36 100.0 1.00 5.54000 0.98000 9.99000 -9.99000 1.1 0.9 1 1;
42 100.0 1.00 3.70000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
47 100.0 1.00 4.00000 1.03000 9.99000 -9.99000 1.1 0.9 1 1;
48 100.0 1.00 4.00000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
50 100.0 1.00 6.00000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
51 100.0 1.00 1.41000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
53 100.0 1.00 8.33000 1.03000 9.99000 -9.99000 1.1 0.9 1 1;
54 100.0 1.00 11.15000 1.04080 19.98000 -19.9800 1.1 0.9 1 1;
55 100.0 1.00 10.95000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
56 100.0 1.00 4.10000 1.03000 9.99000 -9.99000 1.1 0.9 1 1;
57 100.0 1.00 2.98000 1.03000 9.99000 -9.99000 1.1 0.9 1 1;
60 100.0 1.00 4.10000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
61 100.0 1.00 1.94000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
65 100.0 1.00 0.91000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
68 100.0 1.00 0.66000 0.99000 9.99000 -9.99000 1.1 0.9 1 1;
71 100.0 1.00 1.34000 1.00000 9.99000 -9.99000 1.1 0.9 1 1;
72 100.0 1.00 1.50000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
79 100.0 1.00 10.00000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
80 100.0 1.00 7.20000 1.02320 9.99000 -9.99000 1.1 0.9 1 1;
82 100.0 1.00 4.60000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
86 100.0 1.00 16.50000 1.00000 9.99000 -9.99000 1.1 0.9 1 1;
91 100.0 1.00 9.30000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
92 100.0 1.00 4.50000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
97 100.0 1.00 6.00000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
98 100.0 1.00 5.85000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
101 100.0 1.00 12.00000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
115 100.0 1.00 5.50000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
119 100.0 1.00 5.50000 1.00000 9.99000 -9.99000 1.1 0.9 1 1;
120 100.0 1.00 7.00000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
121 100.0 1.00 1.45000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
122 100.0 1.00 1.55000 1.05000 9.99000 -9.99000 1.1 0.9 1 1;
123 100.0 1.00 6.55000 1.01000 9.99000 -9.99000 1.1 0.9 1 1;
130 100.0 1.00 4.90000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
133 100.0 1.00 17.00000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
134 100.0 1.00 8.80000 1.03000 9.99000 -9.99000 1.1 0.9 1 1;
135 100.0 1.00 23.30000 1.02000 9.99000 -9.99000 1.1 0.9 1 1;
137 100.0 1.00 0.70000 1.04000 9.99000 -9.99000 1.1 0.9 1 1;
139 100.0 1.00 1.15000 1.01000 9.99000 -9.99000 1.1 0.9 1 1;
];
PQ.con = [ ...
3 100.0 1.00 0.09000 0.88000 1.1 0.9 0 1;
6 100.0 1.00 3.20000 1.53000 1.1 0.9 0 1;
7 100.0 1.00 3.29000 0.32000 1.1 0.9 0 1;
9 100.0 1.00 1.58000 0.30000 1.1 0.9 0 1;
11 100.0 1.00 6.80000 1.03000 1.1 0.9 0 1;
12 100.0 1.00 2.74000 1.15000 1.1 0.9 0 1;
14 100.0 1.00 2.48000 0.85000 1.1 0.9 0 1;
15 100.0 1.00 3.09000 -0.92000 1.1 0.9 0 1;
16 100.0 1.00 2.24000 0.47000 1.1 0.9 0 1;
17 100.0 1.00 1.39000 0.17000 1.1 0.9 0 1;
18 100.0 1.00 2.81000 0.76000 1.1 0.9 0 1;
19 100.0 1.00 2.06000 0.28000 1.1 0.9 0 1;
20 100.0 1.00 2.84000 0.27000 1.1 0.9 0 1;
30 100.0 1.00 3.22000 0.02000 1.1 0.9 0 1;
31 100.0 1.00 5.00000 1.84000 1.1 0.9 0 1;
34 100.0 1.00 2.34000 0.84000 1.1 0.9 0 1;
35 100.0 1.00 5.22000 1.77000 1.1 0.9 0 1;
36 100.0 1.00 0.09000 0.05000 1.1 0.9 0 1;
41 100.0 1.00 7.00000 1.50000 1.1 0.9 0 1;
42 100.0 1.00 1.77000 0.17000 1.1 0.9 0 1;
45 100.0 1.00 2.56000 0.42000 1.1 0.9 0 1;
46 100.0 1.00 0.23000 -0.42500 1.1 0.9 0 1;
47 100.0 1.00 5.28000 1.60000 1.1 0.9 0 1;
49 100.0 1.00 2.08000 0.47000 1.1 0.9 0 1;
51 100.0 1.00 7.31000 1.00000 1.1 0.9 0 1;
53 100.0 1.00 9.23000 2.50000 1.1 0.9 0 1;
54 100.0 1.00 0.20000 0.00000 1.1 0.9 0 1;
55 100.0 1.00 9.39000 1.34000 1.1 0.9 0 1;
56 100.0 1.00 1.72000 0.50000 1.1 0.9 0 1;
57 100.0 1.00 2.40000 -0.06000 1.1 0.9 0 1;
58 100.0 1.00 0.84000 0.40000 1.1 0.9 0 1;
59 100.0 1.00 7.05000 2.48000 1.1 0.9 0 1;
61 100.0 1.00 2.37000 0.12000 1.1 0.9 0 1;
64 100.0 1.00 1.43000 0.25000 1.1 0.9 0 1;
65 100.0 1.00 0.91000 0.00000 1.1 0.9 0 1;
68 100.0 1.00 2.11000 0.41000 1.1 0.9 0 1;
71 100.0 1.00 3.71000 0.53000 1.1 0.9 0 1;
74 100.0 1.00 1.02000 0.00000 1.1 0.9 0 1;
78 100.0 1.00 20.00000 6.00000 1.1 0.9 0 1;
80 100.0 1.00 7.00000 0.25000 1.1 0.9 0 1;
83 100.0 1.00 0.80000 0.16000 1.1 0.9 0 1;
85 100.0 1.00 0.18000 0.00000 1.1 0.9 0 1;
86 100.0 1.00 0.50000 0.25000 1.1 0.9 0 1;
88 100.0 1.00 1.10000 0.55000 1.1 0.9 0 1;
89 100.0 1.00 1.00000 0.70000 1.1 0.9 0 1;
90 100.0 1.00 1.15000 0.45000 1.1 0.9 0 1;
91 100.0 1.00 16.50000 5.00000 1.1 0.9 0 1;
92 100.0 1.00 0.10000 3.20000 1.1 0.9 0 1;
93 100.0 1.00 1.25000 0.00000 1.1 0.9 0 1;
94 100.0 1.00 0.95000 0.00000 1.1 0.9 0 1;
95 100.0 1.00 -1.00000 0.87000 1.1 0.9 0 1;
96 100.0 1.00 -0.40000 -0.25000 1.1 0.9 0 1;
97 100.0 1.00 9.10000 0.50000 1.1 0.9 0 1;
101 100.0 1.00 3.50000 1.30000 1.1 0.9 0 1;
104 100.0 1.00 2.00000 0.90000 1.1 0.9 0 1;
105 100.0 1.00 3.25000 0.00000 1.1 0.9 0 1;
106 100.0 1.00 0.00000 -0.12000 1.1 0.9 0 1;
107 100.0 1.00 0.00000 -0.19000 1.1 0.9 0 1;
108 100.0 1.00 0.00000 -0.13000 1.1 0.9 0 1;
109 100.0 1.00 0.00000 -0.13000 1.1 0.9 0 1;
110 100.0 1.00 7.18000 1.25000 1.1 0.9 0 1;
111 100.0 1.00 3.99000 0.45000 1.1 0.9 0 1;
113 100.0 1.00 2.06000 0.00000 1.1 0.9 0 1;
114 100.0 1.00 0.00000 0.90000 1.1 0.9 0 1;
115 100.0 1.00 1.00000 0.00000 1.1 0.9 0 1;
116 100.0 1.00 2.00000 0.00000 1.1 0.9 0 1;
117 100.0 1.00 4.00000 0.97000 1.1 0.9 0 1;
118 100.0 1.00 2.80000 0.86000 1.1 0.9 0 1;
119 100.0 1.00 7.50000 2.00000 1.1 0.9 0 1;
120 100.0 1.00 9.46000 -0.40000 1.1 0.9 0 1;
123 100.0 1.00 0.63000 0.10000 1.1 0.9 0 1;
124 100.0 1.00 3.70000 0.49000 1.1 0.9 0 1;
125 100.0 1.00 3.20000 0.05000 1.1 0.9 0 1;
126 100.0 1.00 4.50000 0.00000 1.1 0.9 0 1;
127 100.0 1.00 2.00000 -1.50000 1.1 0.9 0 1;
128 100.0 1.00 9.70000 -1.02000 1.1 0.9 0 1;
129 100.0 1.00 6.10000 -0.50000 1.1 0.9 0 1;
130 100.0 1.00 1.80000 0.00000 1.1 0.9 0 1;
131 100.0 1.00 11.60000 -4.32000 1.1 0.9 0 1;
132 100.0 1.00 2.10000 -3.37000 1.1 0.9 0 1;
135 100.0 1.00 1.70000 0.00000 1.1 0.9 0 1;
136 100.0 1.00 2.70000 2.23000 1.1 0.9 0 1;
138 100.0 1.00 1.10000 0.64000 1.1 0.9 0 1;
];
Shunt.con = [ ...
41 100.0 1.00 60 0.00000 0.25000 1;
45 100.0 1.00 60 0.00000 0.25000 1;
47 100.0 1.00 60 0.00000 0.60000 1;
48 100.0 1.00 60 0.00000 -0.01000 1;
49 100.0 1.00 60 0.00000 0.10000 1;
51 100.0 1.00 60 0.00000 0.25000 1;
54 100.0 1.00 60 0.00000 -1.12000 1;
55 100.0 1.00 60 0.00000 0.02000 1;
56 100.0 1.00 60 0.00000 0.06000 1;
58 100.0 1.00 60 0.00000 0.02000 1;
59 100.0 1.00 60 0.00000 0.50000 1;
61 100.0 1.00 60 0.00000 0.04000 1;
];
Line.con = [ ...
2 1 100.00 1.00 60 0 0.0000 0.00040 0.00430 0.07000 0.00000 0.00000 5.1758 0.000 0.000 1;
2 33 100.00 1.00 60 0 0.0000 0.00070 0.00820 0.14000 0.00000 0.00000 7.9667 0.000 0.000 1;
4 1 100.00 1.00 60 0 0.0000 0.00040 0.00430 0.07000 0.00000 0.00000 4.8411 0.000 0.000 1;
5 4 100.00 1.00 60 0 0.0000 0.00090 0.01010 0.17000 0.00000 0.00000 3.5382 0.000 0.000 1;
5 31 100.00 1.00 60 0 0.0000 0.00080 0.01290 0.14000 0.00000 0.00000 7.8363 0.000 0.000 1;
6 5 100.00 1.00 60 0 0.0000 0.00180 0.02170 0.37000 0.00000 0.00000 1.2528 0.000 0.000 1;
7 6 100.00 1.00 60 0 0.0000 0.00090 0.00940 0.17000 0.00000 0.00000 4.1797 0.000 0.000 1;
8 7 100.00 1.00 60 0 0.0000 0.00070 0.00890 0.13000 0.00000 0.00000 5.6453 0.000 0.000 1;
9 8 100.00 1.00 60 0 0.0000 0.00070 0.00820 0.13000 0.00000 0.00000 3.6236 0.000 0.000 1;
9 30 100.00 1.00 60 0 0.0000 0.00110 0.01330 0.21000 0.00000 0.00000 0.4141 0.000 0.000 1;
10 7 100.00 1.00 60 0 0.0000 0.00160 0.01950 0.30000 0.00000 0.00000 2.5047 0.000 0.000 1;
12 7 100.00 1.00 60 0 0.0000 0.00080 0.01350 0.25000 0.00000 0.00000 6.9703 0.000 0.000 1;
13 12 100.00 1.00 60 0 0.0000 0.00080 0.01400 0.26000 0.00000 0.00000 8.3582 0.000 0.000 1;
14 13 100.00 1.00 60 0 0.0000 0.00060 0.00960 0.18000 0.00000 0.00000 1.2397 0.000 0.000 1;
15 7 100.00 1.00 60 0 0.0000 0.00030 0.00590 0.07000 0.00000 0.00000 1.5484 0.000 0.000 1;
15 14 100.00 1.00 60 0 0.0000 0.00220 0.03500 0.36000 0.00000 0.00000 3.6211 0.000 0.000 1;
16 29 100.00 1.00 60 0 0.0000 0.00700 0.00860 0.15000 0.00000 0.00000 4.0149 0.000 0.000 1;
17 16 100.00 1.00 60 0 0.0000 0.00320 0.03230 0.53000 0.00000 0.00000 1.8799 0.000 0.000 1;
18 8 100.00 1.00 60 0 0.0000 0.00130 0.01730 0.32000 0.00000 0.00000 0.6222 0.000 0.000 1;
18 17 100.00 1.00 60 0 0.0000 0.00140 0.01470 0.24000 0.00000 0.00000 5.8886 0.000 0.000 1;
19 17 100.00 1.00 60 0 0.0000 0.00430 0.04740 0.78000 0.00000 0.00000 2.3284 0.000 0.000 1;
20 17 100.00 1.00 60 0 0.0000 0.00570 0.06250 1.03000 0.00000 0.00000 3.1591 0.000 0.000 1;
20 19 100.00 1.00 60 0 0.0000 0.00140 0.01510 0.25000 0.00000 0.00000 3.2944 0.000 0.000 1;
30 29 100.00 1.00 60 0 0.0000 0.00130 0.01510 0.26000 0.00000 0.00000 3.2892 0.000 0.000 1;
31 30 100.00 1.00 60 0 0.0000 0.00130 0.02130 0.22000 0.00000 0.00000 2.2875 0.000 0.000 1;
32 31 100.00 1.00 60 0 0.0000 0.00080 0.01280 0.13000 0.00000 0.00000 2.6244 0.000 0.000 1;
33 32 100.00 1.00 60 0 0.0000 0.00020 0.00260 0.04000 0.00000 0.00000 10.5434 0.000 0.000 1;
34 33 100.00 1.00 60 0 0.0000 0.00060 0.00920 0.11000 0.00000 0.00000 13.4960 0.000 0.000 1;
35 32 100.00 1.00 60 0 0.0000 0.00080 0.01120 0.15000 0.00000 0.00000 7.5557 0.000 0.000 1;
35 34 100.00 1.00 60 0 0.0000 0.00040 0.00460 0.08000 0.00000 0.00000 4.0977 0.000 0.000 1;
37 29 100.00 1.00 60 0 0.0000 0.00350 0.04110 0.70000 0.00000 0.00000 2.5884 0.000 0.000 1;
38 37 100.00 1.00 60 0 0.0000 0.00160 0.01630 0.25000 0.00000 0.00000 7.4122 0.000 0.000 1;
39 37 100.00 1.00 60 0 0.0000 0.00080 0.00740 0.48000 0.00000 0.00000 7.8549 0.000 0.000 1;
40 37 100.00 1.00 60 0 0.0000 0.00090 0.03150 0.06000 0.00000 0.00000 8.5347 0.000 0.000 1;
42 41 100.00 1.00 60 0 0.0000 0.00180 0.00890 0.07000 0.00000 0.00000 1.2701 0.000 0.000 1;
43 37 100.00 1.00 60 0 0.0000 0.00130 0.01880 1.31000 0.00000 0.00000 4.9182 0.000 0.000 1;
44 40 100.00 1.00 60 0 0.0000 0.00800 0.05300 0.40000 0.00000 0.00000 7.4962 0.000 0.000 1;
44 43 100.00 1.00 60 0 0.0000 0.00000 0.01100 0.00000 0.00000 0.00000 8.3433 0.000 0.000 1;
45 41 100.00 1.00 60 0 0.0000 0.07760 0.22410 0.13000 0.00000 0.00000 1.0821 0.000 0.000 1;
45 44 100.00 1.00 60 0 0.0000 0.00000 0.02050 0.00000 0.00000 0.00000 5.9095 0.000 0.000 1;
46 45 100.00 1.00 60 0 0.0000 0.12350 0.35480 0.16000 0.00000 0.00000 0.2481 0.000 0.000 1;
47 46 100.00 1.00 60 0 0.0000 0.06320 0.12100 0.05000 0.00000 0.00000 1.2125 0.000 0.000 1;
48 44 100.00 1.00 60 0 0.0000 0.01500 0.10500 0.79000 0.00000 0.00000 1.7333 0.000 0.000 1;
48 47 100.00 1.00 60 0 0.0000 0.00000 0.03300 0.00000 0.00000 0.00000 3.2111 0.000 0.000 1;
49 46 100.00 1.00 60 0 0.0000 0.16400 0.57800 0.06000 0.00000 0.00000 0.1610 0.000 0.000 1;
50 43 100.00 1.00 60 0 0.0000 0.00250 0.02680 0.40000 0.00000 0.00000 6.3871 0.000 0.000 1;
50 43 100.00 1.00 60 0 0.0000 0.00250 0.02680 0.40000 0.00000 0.00000 4.9983 0.000 0.000 1;
51 45 100.00 1.00 60 0 0.0000 0.06050 0.18960 0.08000 0.00000 0.00000 1.4332 0.000 0.000 1;
51 50 100.00 1.00 60 0 0.0000 0.00000 0.02070 0.00000 0.00000 0.00000 9.0699 0.000 0.000 1;
52 50 100.00 1.00 60 0 0.0000 0.00200 0.02200 1.28000 0.00000 0.00000 15.8874 0.000 0.000 1;
53 51 100.00 1.00 60 0 0.0000 0.08440 0.21610 0.22000 0.00000 0.00000 1.2885 0.000 0.000 1;
53 52 100.00 1.00 60 0 0.0000 0.00140 0.03880 0.00000 0.00000 0.00000 1.3415 0.000 0.000 1;
55 53 100.00 1.00 60 0 0.0000 0.03000 0.10700 0.30000 0.00000 0.00000 4.0511 0.000 0.000 1;
56 54 100.00 1.00 60 0 0.0000 0.01000 0.00800 0.07000 0.00000 0.00000 2.9649 0.000 0.000 1;
57 55 100.00 1.00 60 0 0.0000 0.00740 0.04000 0.02000 0.00000 0.00000 0.6460 0.000 0.000 1;
58 56 100.00 1.00 60 0 0.0000 0.00200 0.01500 0.11000 0.00000 0.00000 10.7835 0.000 0.000 1;
59 55 100.00 1.00 60 0 0.0000 0.01600 0.08170 0.04000 0.00000 0.00000 2.4304 0.000 0.000 1;
59 57 100.00 1.00 60 0 0.0000 0.01400 0.06800 0.03000 0.00000 0.00000 2.0568 0.000 0.000 1;
60 58 100.00 1.00 60 0 0.0000 0.00350 0.03440 0.27000 0.00000 0.00000 10.6774 0.000 0.000 1;
61 59 100.00 1.00 60 0 0.0000 0.06800 0.14300 0.06000 0.00000 0.00000 1.6245 0.000 0.000 1;
62 54 100.00 1.00 60 0 0.0000 0.00800 0.06900 0.13000 0.00000 0.00000 3.0447 0.000 0.000 1;
62 58 100.00 1.00 60 0 0.0000 0.00200 0.01800 0.03000 0.00000 0.00000 1.8843 0.000 0.000 1;
63 62 100.00 1.00 60 0 0.0000 0.01290 0.08030 0.15000 0.00000 0.00000 2.2988 0.000 0.000 1;
64 63 100.00 1.00 60 0 0.0000 0.00000 0.04600 0.00000 0.00000 0.00000 2.2771 0.000 0.000 1;
65 53 100.00 1.00 60 0 0.0000 0.03500 0.08000 0.05000 0.00000 0.00000 1.5986 0.000 0.000 1;
65 64 100.00 1.00 60 0 0.0000 0.03500 0.08000 0.05000 0.00000 0.00000 0.2557 0.000 0.000 1;
67 63 100.00 1.00 60 0 0.0000 0.01200 0.09300 0.18000 0.00000 0.00000 0.2211 0.000 0.000 1;
67 66 100.00 1.00 60 0 0.0000 0.00000 0.02310 0.00000 0.00000 0.00000 6.2348 0.000 0.000 1;
68 64 100.00 1.00 60 0 0.0000 0.09880 0.23100 0.13000 0.00000 0.00000 0.3428 0.000 0.000 1;
68 67 100.00 1.00 60 0 0.0000 0.00000 0.04900 0.00000 0.00000 0.00000 0.9577 0.000 0.000 1;
69 38 100.00 1.00 60 0 0.0000 0.00430 0.04850 0.79000 0.00000 0.00000 6.7439 0.000 0.000 1;
69 66 100.00 1.00 60 0 0.0000 0.00180 0.02740 0.27000 0.00000 0.00000 13.2664 0.000 0.000 1;
70 67 100.00 1.00 60 0 0.0000 0.00700 0.06190 0.12000 0.00000 0.00000 0.7176 0.000 0.000 1;
71 45 100.00 1.00 60 0 0.0000 0.17510 0.55750 0.12000 0.00000 0.00000 0.4122 0.000 0.000 1;
71 68 100.00 1.00 60 0 0.0000 0.12030 0.20480 0.07000 0.00000 0.00000 0.1678 0.000 0.000 1;
71 69 100.00 1.00 60 0 0.0000 0.00000 0.03750 0.00000 0.00000 0.00000 5.4088 0.000 0.000 1;
71 70 100.00 1.00 60 0 0.0000 0.00000 0.04900 0.00000 0.00000 0.00000 2.0068 0.000 0.000 1;
72 51 100.00 1.00 60 0 0.0000 0.00510 0.02320 0.30000 0.00000 0.00000 1.5968 0.000 0.000 1;
72 71 100.00 1.00 60 0 0.0000 0.00530 0.01350 0.10000 0.00000 0.00000 3.2737 0.000 0.000 1;
73 35 100.00 1.00 60 0 0.0000 0.00230 0.03630 0.38000 0.00000 0.00000 2.7767 0.000 0.000 1;
73 39 100.00 1.00 60 0 0.0000 0.00190 0.01830 0.29000 0.00000 0.00000 5.0514 0.000 0.000 1;
73 39 100.00 1.00 60 0 0.0000 0.00190 0.01830 0.29000 0.00000 0.00000 5.0981 0.000 0.000 1;
74 73 100.00 1.00 60 0 0.0000 0.00220 0.01960 0.34000 0.00000 0.00000 3.8768 0.000 0.000 1;
74 73 100.00 1.00 60 0 0.0000 0.00220 0.01960 0.34000 0.00000 0.00000 1.4359 0.000 0.000 1;
77 74 100.00 1.00 60 0 0.0000 0.00030 0.00430 0.08000 0.00000 0.00000 5.0526 0.000 0.000 1;
77 76 100.00 1.00 60 0 0.0000 0.00300 0.00680 1.37000 0.00000 0.00000 5.6752 0.000 0.000 1;
78 74 100.00 1.00 60 0 0.0000 0.00050 0.00450 0.32000 0.00000 0.00000 1.6719 0.000 0.000 1;
78 74 100.00 1.00 60 0 0.0000 0.00050 0.00450 0.32000 0.00000 0.00000 5.9456 0.000 0.000 1;
79 78 100.00 1.00 60 0 0.0000 0.00030 0.01530 0.00000 0.00000 0.00000 31.4626 0.000 0.000 1;
80 78 100.00 1.00 60 0 0.0000 0.01350 0.05820 0.50000 0.00000 0.00000 0.3701 0.000 0.000 1;
81 78 100.00 1.00 60 0 0.0000 0.00050 0.02760 0.00000 0.00000 0.00000 1.5626 0.000 0.000 1;
82 78 100.00 1.00 60 0 0.0000 0.00050 0.03080 0.00000 0.00000 0.00000 8.7289 0.000 0.000 1;
83 112 100.00 1.00 60 0 0.0000 0.01850 0.15370 0.00000 0.00000 0.00000 2.1898 0.000 0.000 1;
83 113 100.00 1.00 60 0 0.0000 0.00370 0.02020 0.00000 0.00000 0.00000 0.7692 0.000 0.000 1;
85 105 100.00 1.00 60 0 0.0000 0.01000 0.10900 0.18000 0.00000 0.00000 3.2060 0.000 0.000 1;
85 105 100.00 1.00 60 0 0.0000 0.01000 0.10900 0.18000 0.00000 0.00000 3.6974 0.000 0.000 1;
85 112 100.00 1.00 60 0 0.0000 0.00690 0.05950 0.10000 0.00000 0.00000 1.6633 0.000 0.000 1;
85 112 100.00 1.00 60 0 0.0000 0.00690 0.05950 0.10000 0.00000 0.00000 1.7023 0.000 0.000 1;
88 85 100.00 1.00 60 0 0.0000 0.00160 0.02020 0.03000 0.00000 0.00000 9.7657 0.000 0.000 1;
88 85 100.00 1.00 60 0 0.0000 0.00160 0.02020 0.03000 0.00000 0.00000 7.2467 0.000 0.000 1;
88 105 100.00 1.00 60 0 0.0000 0.01120 0.09930 0.17000 0.00000 0.00000 1.8085 0.000 0.000 1;
88 105 100.00 1.00 60 0 0.0000 0.01120 0.09930 0.17000 0.00000 0.00000 4.3185 0.000 0.000 1;
89 88 100.00 1.00 60 0 0.0000 0.00050 0.02050 0.00000 0.00000 0.00000 1.7583 0.000 0.000 1;
89 105 100.00 1.00 60 0 0.0000 0.08940 0.33630 0.00000 0.00000 0.00000 0.5145 0.000 0.000 1;
89 113 100.00 1.00 60 0 0.0000 0.14560 0.41150 0.00000 0.00000 0.00000 0.7448 0.000 0.000 1;
90 89 100.00 1.00 60 0 0.0000 0.00130 0.00490 0.00000 0.00000 0.00000 1.7584 0.000 0.000 1;
91 110 100.00 1.00 60 0 0.0000 0.00170 0.01170 0.00000 0.00000 0.00000 5.1785 0.000 0.000 1;
92 91 100.00 1.00 60 0 0.0000 0.00580 0.09280 0.00000 0.00000 0.00000 3.0403 0.000 0.000 1;
93 91 100.00 1.00 60 0 0.0000 0.04210 0.29320 0.00000 0.00000 0.00000 0.9488 0.000 0.000 1;
94 93 100.00 1.00 60 0 0.0000 0.00420 0.02830 0.00000 0.00000 0.00000 0.4088 0.000 0.000 1;
94 111 100.00 1.00 60 0 0.0000 0.00490 0.03360 0.00000 0.00000 0.00000 0.7906 0.000 0.000 1;
95 91 100.00 1.00 60 0 0.0000 0.02610 0.18440 0.00000 0.00000 0.00000 0.6165 0.000 0.000 1;
95 93 100.00 1.00 60 0 0.0000 0.01870 0.12840 0.00000 0.00000 0.00000 1.4911 0.000 0.000 1;
96 95 100.00 1.00 60 0 0.0000 0.01360 0.09550 0.00000 0.00000 0.00000 1.5441 0.000 0.000 1;
97 92 100.00 1.00 60 0 0.0000 0.00080 0.03030 0.00000 0.00000 0.00000 4.8749 0.000 0.000 1;
97 96 100.00 1.00 60 0 0.0000 0.01600 0.07670 0.00000 0.00000 0.00000 0.3860 0.000 0.000 1;
98 91 100.00 1.00 60 0 0.0000 0.01200 0.08540 0.00000 0.00000 0.00000 9.8340 0.000 0.000 1;
99 98 100.00 1.00 60 0 0.0000 0.00030 0.00920 0.00000 0.00000 0.00000 2.5964 0.000 0.000 1;
100 99 100.00 1.00 60 0 0.0000 0.00100 0.07020 0.00000 0.00000 0.00000 4.2808 0.000 0.000 1;
102 54 100.00 1.00 60 0 0.0000 0.00160 0.02480 0.06000 0.00000 0.00000 4.0024 0.000 0.000 1;
103 54 100.00 1.00 60 0 0.0000 0.00160 0.02480 0.06000 0.00000 0.00000 4.6429 0.000 0.000 1;
104 101 100.00 1.00 60 0 0.0000 0.00770 0.07730 0.00000 0.00000 0.00000 6.8020 0.000 0.000 1;
105 101 100.00 1.00 60 0 0.0000 0.01880 0.14930 0.00000 0.00000 0.00000 0.4139 0.000 0.000 1;
106 104 100.00 1.00 60 0 0.0000 0.00180 0.01800 0.00000 0.00000 0.00000 4.3336 0.000 0.000 1;
106 105 100.00 1.00 60 0 0.0000 0.01650 0.11560 0.00000 0.00000 0.00000 0.9451 0.000 0.000 1;
107 101 100.00 1.00 60 0 0.0000 0.00760 0.07510 0.00000 0.00000 0.00000 3.0487 0.000 0.000 1;
107 105 100.00 1.00 60 0 0.0000 0.01150 0.11030 0.00000 0.00000 0.00000 0.6258 0.000 0.000 1;
108 101 100.00 1.00 60 0 0.0000 0.00780 0.07720 0.00000 0.00000 0.00000 7.2302 0.000 0.000 1;
109 101 100.00 1.00 60 0 0.0000 0.00780 0.07830 0.00000 0.00000 0.00000 4.8421 0.000 0.000 1;
110 101 100.00 1.00 60 0 0.0000 0.04820 0.26360 0.00000 0.00000 0.00000 1.2723 0.000 0.000 1;
110 104 100.00 1.00 60 0 0.0000 0.00060 0.00620 0.00000 0.00000 0.00000 2.5190 0.000 0.000 1;
110 107 100.00 1.00 60 0 0.0000 0.00210 0.01860 0.00000 0.00000 0.00000 6.8218 0.000 0.000 1;
110 108 100.00 1.00 60 0 0.0000 0.00260 0.01940 0.00000 0.00000 0.00000 1.7853 0.000 0.000 1;
110 109 100.00 1.00 60 0 0.0000 0.00260 0.01940 0.00000 0.00000 0.00000 0.9048 0.000 0.000 1;
111 105 100.00 1.00 60 0 0.0000 0.01310 0.08090 0.13000 0.00000 0.00000 2.1677 0.000 0.000 1;
111 108 100.00 1.00 60 0 0.0000 0.00590 0.05770 0.00000 0.00000 0.00000 0.8439 0.000 0.000 1;
111 109 100.00 1.00 60 0 0.0000 0.00590 0.05770 0.00000 0.00000 0.00000 2.0586 0.000 0.000 1;
112 105 100.00 1.00 60 0 0.0000 0.00800 0.04970 0.30000 0.00000 0.00000 1.5291 0.000 0.000 1;
113 105 100.00 1.00 60 0 0.0000 0.38240 0.94790 0.00000 0.00000 0.00000 0.0630 0.000 0.000 1;
113 112 100.00 1.00 60 0 0.0000 0.01010 0.08730 0.00000 0.00000 0.00000 4.3818 0.000 0.000 1;
114 90 100.00 1.00 60 0 0.0000 0.00240 0.01500 0.00000 0.00000 0.00000 1.1808 0.000 0.000 1;
115 87 100.00 1.00 60 0 0.0000 0.00010 0.00180 0.02000 0.00000 0.00000 1.4684 0.000 0.000 1;
116 84 100.00 1.00 60 0 0.0000 0.00150 0.10450 0.00000 0.00000 0.00000 1.0332 0.000 0.000 1;
116 115 100.00 1.00 60 0 0.0000 0.07330 0.97990 0.00000 0.00000 0.00000 0.3586 0.000 0.000 1;
117 114 100.00 1.00 60 0 0.0000 0.06630 0.36960 0.00000 0.00000 0.00000 0.0162 0.000 0.000 1;
117 115 100.00 1.00 60 0 0.0000 0.00100 0.01140 0.00000 0.00000 0.00000 2.5353 0.000 0.000 1;
117 116 100.00 1.00 60 0 0.0000 0.04740 0.26310 0.00000 0.00000 0.00000 0.2335 0.000 0.000 1;
118 115 100.00 1.00 60 0 0.0000 0.16570 0.15510 0.00000 0.00000 0.00000 0.1082 0.000 0.000 1;
118 116 100.00 1.00 60 0 0.0000 0.01170 0.07440 0.00000 0.00000 0.00000 3.0411 0.000 0.000 1;
118 117 100.00 1.00 60 0 0.0000 0.00200 0.01990 0.00000 0.00000 0.00000 1.6608 0.000 0.000 1;
119 114 100.00 1.00 60 0 0.0000 0.08760 0.25400 0.00000 0.00000 0.00000 0.0830 0.000 0.000 1;
119 115 100.00 1.00 60 0 0.0000 0.00330 0.03920 0.00000 0.00000 0.00000 3.8491 0.000 0.000 1;
119 117 100.00 1.00 60 0 0.0000 0.00170 0.01890 0.00000 0.00000 0.00000 1.4273 0.000 0.000 1;
120 116 100.00 1.00 60 0 0.0000 0.23070 0.70410 0.00000 0.00000 0.00000 0.0453 0.000 0.000 1;
120 117 100.00 1.00 60 0 0.0000 0.00670 0.07970 0.00000 0.00000 0.00000 2.9229 0.000 0.000 1;
120 118 100.00 1.00 60 0 0.0000 0.00500 0.06290 0.00000 0.00000 0.00000 3.6303 0.000 0.000 1;
120 119 100.00 1.00 60 0 0.0000 0.10650 0.34980 0.00000 0.00000 0.00000 0.5608 0.000 0.000 1;
121 114 100.00 1.00 60 0 0.0000 0.00630 0.08020 0.00000 0.00000 0.00000 1.2662 0.000 0.000 1;
121 115 100.00 1.00 60 0 0.0000 0.02200 0.29840 0.00000 0.00000 0.00000 0.0659 0.000 0.000 1;
121 116 100.00 1.00 60 0 0.0000 0.09510 0.45760 0.00000 0.00000 0.00000 0.1669 0.000 0.000 1;
121 117 100.00 1.00 60 0 0.0000 0.01500 0.08690 0.00000 0.00000 0.00000 1.5092 0.000 0.000 1;
121 118 100.00 1.00 60 0 0.0000 0.13910 0.47980 0.00000 0.00000 0.00000 0.1270 0.000 0.000 1;
121 119 100.00 1.00 60 0 0.0000 0.16360 0.58040 0.00000 0.00000 0.00000 0.2602 0.000 0.000 1;
122 116 100.00 1.00 60 0 0.0000 0.00330 0.12870 0.00000 0.00000 0.00000 2.0355 0.000 0.000 1;
122 117 100.00 1.00 60 0 0.0000 0.03830 0.08860 0.00000 0.00000 0.00000 1.1382 0.000 0.000 1;
122 118 100.00 1.00 60 0 0.0000 0.09500 0.50710 0.00000 0.00000 0.00000 0.2618 0.000 0.000 1;
122 121 100.00 1.00 60 0 0.0000 0.12500 0.46990 0.00000 0.00000 0.00000 0.0551 0.000 0.000 1;
123 118 100.00 1.00 60 0 0.0000 0.00140 0.01740 0.00000 0.00000 0.00000 11.5363 0.000 0.000 1;
124 75 100.00 1.00 60 0 0.0000 0.00070 0.01750 1.39000 0.00000 0.00000 2.7186 0.000 0.000 1;
125 81 100.00 1.00 60 0 0.0000 0.00010 0.00110 0.00000 0.00000 0.00000 7.0718 0.000 0.000 1;
125 124 100.00 1.00 60 0 0.0000 0.00250 0.07300 0.00000 0.00000 0.00000 2.4264 0.000 0.000 1;
126 124 100.00 1.00 60 0 0.0000 0.00000 0.08390 0.00000 0.00000 0.00000 1.4374 0.000 0.000 1;
126 125 100.00 1.00 60 0 0.0000 0.00000 0.04110 0.00000 0.00000 0.00000 1.0578 0.000 0.000 1;
127 124 100.00 1.00 60 0 0.0000 0.00040 0.01050 0.72000 0.00000 0.00000 18.5346 0.000 0.000 1;
127 126 100.00 1.00 60 0 0.0000 0.00000 0.25320 0.00000 0.00000 0.00000 2.5864 0.000 0.000 1;
128 124 100.00 1.00 60 0 0.0000 0.00050 0.01170 0.84000 0.00000 0.00000 2.5529 0.000 0.000 1;
128 125 100.00 1.00 60 0 0.0000 0.00490 0.26340 0.00000 0.00000 0.00000 0.4849 0.000 0.000 1;
128 126 100.00 1.00 60 0 0.0000 0.00000 0.27410 0.00000 0.00000 0.00000 1.4917 0.000 0.000 1;
128 127 100.00 1.00 60 0 0.0000 0.00000 0.13390 0.00000 0.00000 0.00000 1.1806 0.000 0.000 1;
129 128 100.00 1.00 60 0 0.0000 0.00000 0.13810 0.00000 0.00000 0.00000 1.3922 0.000 0.000 1;
130 128 100.00 1.00 60 0 0.0000 0.00070 0.01750 1.26000 0.00000 0.00000 19.7116 0.000 0.000 1;
130 129 100.00 1.00 60 0 0.0000 0.00040 0.00850 0.60000 0.00000 0.00000 13.5663 0.000 0.000 1;
131 130 100.00 1.00 60 0 0.0000 0.00020 0.00380 0.54000 0.00000 0.00000 14.4852 0.000 0.000 1;
132 127 100.00 1.00 60 0 0.0000 0.00090 0.02210 1.62000 0.00000 0.00000 29.0287 0.000 0.000 1;
132 130 100.00 1.00 60 0 0.0000 0.00070 0.01730 1.25000 0.00000 0.00000 10.8540 0.000 0.000 1;
133 131 100.00 1.00 60 0 0.0000 0.00200 0.03900 2.77000 0.00000 0.00000 7.2030 0.000 0.000 1;
133 132 100.00 1.00 60 0 0.0000 0.00120 0.02930 2.09000 0.00000 0.00000 26.7217 0.000 0.000 1;
134 66 100.00 1.00 60 0 0.0000 0.00076 0.01141 1.16000 0.00000 0.00000 12.2379 0.000 0.000 1;
134 132 100.00 1.00 60 0 0.0000 0.00235 0.04388 0.00000 0.00000 0.00000 7.1079 0.000 0.000 1;
135 115 100.00 1.00 60 0 0.0000 0.00000 0.63090 0.00000 0.00000 0.00000 0.0633 0.000 0.000 1;
135 122 100.00 1.00 60 0 0.0000 0.05730 0.75810 0.00000 0.00000 0.00000 0.0684 0.000 0.000 1;
135 131 100.00 1.00 60 0 0.0000 0.00570 0.06990 0.00000 0.00000 0.00000 17.5741 0.000 0.000 1;
135 132 100.00 1.00 60 0 0.0000 0.00120 0.02880 2.06000 0.00000 0.00000 29.7987 0.000 0.000 1;
135 133 100.00 1.00 60 0 0.0000 0.00030 0.00630 0.45000 0.00000 0.00000 6.4931 0.000 0.000 1;
135 134 100.00 1.00 60 0 0.0000 0.00460 0.06250 0.00000 0.00000 0.00000 8.2336 0.000 0.000 1;
136 134 100.00 1.00 60 0 0.0000 0.00460 0.07820 0.79000 0.00000 0.00000 0.8702 0.000 0.000 1;
138 67 100.00 1.00 60 0 0.0000 0.00630 0.04910 0.09000 0.00000 0.00000 2.7217 0.000 0.000 1;
138 126 100.00 1.00 60 0 0.0000 0.00000 0.68050 0.00000 0.00000 0.00000 1.7161 0.000 0.000 1;
138 132 100.00 1.00 60 0 0.0000 0.03310 0.42240 0.00000 0.00000 0.00000 0.5946 0.000 0.000 1;
138 137 100.00 1.00 60 0 0.0000 0.25530 0.71800 0.00000 0.00000 0.00000 0.5567 0.000 0.000 1;
139 115 100.00 1.00 60 0 0.0000 0.00000 0.12430 0.00000 0.00000 0.00000 0.3724 0.000 0.000 1;
139 122 100.00 1.00 60 0 0.0000 0.00000 0.15320 0.00000 0.00000 0.00000 1.4341 0.000 0.000 1;
139 131 100.00 1.00 60 0 0.0000 0.00590 0.10520 0.00000 0.00000 0.00000 8.6921 0.000 0.000 1;
139 135 100.00 1.00 60 0 0.0000 0.01770 0.06610 0.00000 0.00000 0.00000 3.3043 0.000 0.000 1;
139 136 100.00 1.00 60 0 0.0000 0.00000 0.20540 0.00000 0.00000 0.00000 1.4492 0.000 0.000 1;
140 60 100.00 1.00 60 0 0.0000 0.00390 0.03630 0.07000 0.00000 0.00000 0.0551 0.000 0.000 1;
1 21 100.00 1.00 60 0 0.0000 0.00000 0.02000 0.00000 1.07000 0.00000 18.0123 0.000 0.000 1;
3 2 100.00 1.00 60 0 0.0000 0.00160 0.04350 0.00000 1.06000 0.00000 0.2297 0.000 0.000 1;
3 4 100.00 1.00 60 0 0.0000 0.00160 0.04350 0.00000 1.06000 0.00000 0.7231 0.000 0.000 1;
10 11 100.00 1.00 60 0 0.0000 0.00070 0.01380 0.00000 1.06000 0.00000 5.8248 0.000 0.000 1;
10 22 100.00 1.00 60 0 0.0000 0.00070 0.01420 0.00000 1.07000 0.00000 13.4109 0.000 0.000 1;
11 23 100.00 1.00 60 0 0.0000 0.00090 0.01800 0.00000 1.00900 0.00000 10.1043 0.000 0.000 1;
13 24 100.00 1.00 60 0 0.0000 0.00000 0.01430 0.00000 1.02500 0.00000 13.9204 0.000 0.000 1;
14 25 100.00 1.00 60 0 0.0000 0.00050 0.02720 0.00000 1.00000 0.00000 7.6733 0.000 0.000 1;
16 27 100.00 1.00 60 0 0.0000 0.00060 0.02320 0.00000 1.02500 0.00000 17.5929 0.000 0.000 1;
20 26 100.00 1.00 60 0 0.0000 0.00080 0.01560 0.00000 1.02500 0.00000 26.7189 0.000 0.000 1;
28 29 100.00 1.00 60 0 0.0000 0.00000 0.01810 0.00000 1.02500 0.00000 0.0000 0.000 0.000 1;
33 36 100.00 1.00 60 0 0.0000 0.00000 0.02500 0.00000 1.07000 0.00000 20.0701 0.000 0.000 1;
40 41 100.00 1.00 60 0 0.0000 0.00000 0.01610 0.00000 0.95000 0.00000 8.6539 0.000 0.000 1;
48 100 100.00 1.00 60 0 0.0000 0.00100 0.15950 0.00000 0.97000 0.00000 2.4187 0.000 0.000 1;
49 48 100.00 1.00 60 0 0.0000 0.01560 0.15360 0.00000 1.01400 0.00000 2.2549 0.000 0.000 1;
54 52 100.00 1.00 60 0 0.0000 0.00200 0.02330 0.00000 1.00300 0.00000 6.4036 0.000 0.000 1;
54 55 100.00 1.00 60 0 0.0000 0.00000 0.01300 0.00000 1.01000 0.00000 3.6477 0.000 0.000 1;
56 57 100.00 1.00 60 0 0.0000 0.00000 0.14200 0.00000 0.98000 0.00000 0.5401 0.000 0.000 1;
58 59 100.00 1.00 60 0 0.0000 0.00000 0.00930 0.00000 0.96000 0.00000 10.6988 0.000 0.000 1;
60 61 100.00 1.00 60 0 0.0000 0.00000 0.06400 0.00000 0.99000 0.00000 2.8769 0.000 0.000 1;
75 76 100.00 1.00 60 0 0.0000 0.00010 0.00740 0.00000 0.99000 0.00000 2.6592 0.000 0.000 1;
84 83 100.00 1.00 60 0 0.0000 0.00520 0.01740 0.00000 1.00300 0.00000 1.0106 0.000 0.000 1;
85 86 100.00 1.00 60 0 0.0000 0.00000 0.00570 0.00000 1.11000 0.00000 18.3415 0.000 0.000 1;
87 85 100.00 1.00 60 0 0.0000 0.00020 0.02460 0.00000 0.93900 0.00000 3.7485 0.000 0.000 1;
101 102 100.00 1.00 60 0 0.0000 0.00070 0.02110 0.00000 1.04500 0.00000 1.1172 0.000 0.000 1;
101 103 100.00 1.00 60 0 0.0000 0.00060 0.01510 0.00000 1.05600 0.00000 1.0186 0.000 0.000 1;
137 136 100.00 1.00 60 0 0.0000 0.00080 0.02390 0.00000 1.00000 0.00000 4.3596 0.000 0.000 1;
];
Supply.con=[...
];
Areas.con = [ ...
0 0 100.0 0 0 0 0 0;
1 0 100.0 0 0 0 0 0;
];
Regions.con = [ ...
1 0 100.0 0.00000 0.05000 0 0 0;
];
Bus.names = { ...
'bus1'; 'bus2'; 'bus3'; 'bus4'; 'bus5';
'bus6'; 'bus7'; 'bus8'; 'bus9'; 'bus10';
'bus11'; 'bus12'; 'bus13'; 'bus14'; 'bus15';
'bus16'; 'bus17'; 'bus18'; 'bus19'; 'bus20';
'bus21'; 'bus22'; 'bus23'; 'bus24'; 'bus25';
'bus26'; 'bus27'; 'bus28'; 'bus29'; 'bus30';
'bus31'; 'bus32'; 'bus33'; 'bus34'; 'bus35';
'bus36'; 'bus37'; 'bus38'; 'bus39'; 'bus40';
'bus41'; 'bus42'; 'bus43'; 'bus44'; 'bus45';
'bus46'; 'bus47'; 'bus48'; 'bus49'; 'bus50';
'bus51'; 'bus52'; 'bus53'; 'bus54'; 'bus55';
'bus56'; 'bus57'; 'bus58'; 'bus59'; 'bus60';
'bus61'; 'bus62'; 'bus63'; 'bus64'; 'bus65';
'bus66'; 'bus67'; 'bus68'; 'bus69'; 'bus70';
'bus71'; 'bus72'; 'bus73'; 'bus74'; 'bus75';
'bus76'; 'bus77'; 'bus78'; 'bus79'; 'bus80';
'bus81'; 'bus82'; 'bus83'; 'bus84'; 'bus85';
'bus86'; 'bus87'; 'bus88'; 'bus89'; 'bus90';
'bus91'; 'bus92'; 'bus93'; 'bus94'; 'bus95';
'bus96'; 'bus97'; 'bus98'; 'bus99'; 'bus100';
'bus101'; 'bus102'; 'bus103'; 'bus104'; 'bus105';
'bus106'; 'bus107'; 'bus108'; 'bus109'; 'bus110';
'bus111'; 'bus112'; 'bus113'; 'bus114'; 'bus115';
'bus116'; 'bus117'; 'bus118'; 'bus119'; 'bus120';
'bus121'; 'bus122'; 'bus123'; 'bus124'; 'bus125';
'bus126'; 'bus127'; 'bus128'; 'bus129'; 'bus130';
'bus131'; 'bus132'; 'bus133'; 'bus134'; 'bus135';
'bus136'; 'bus137'; 'bus138'; 'bus139'; 'bus140'};
Areas.names = { ...
'Area 0';
'ZONE-001'};
Regions.names = { ...
'AREA'};

@ -0,0 +1,632 @@
% Modified NPCC 140-bus system, replaced syncornous generators with PV buses, and added ZIP load model
% Original NPCC 140-bus system can be found at
% https://github.com/cuihantao/andes
%bus data: 140
Bus.con = [...
1 1.0000 1.0111 0.0866 1 1
2 1.0000 1.0067 0.0727 1 1
3 1.0000 1.0470 0.0719 1 1
4 1.0000 1.0076 0.0735 1 1
5 1.0000 1.0038 0.0427 1 1
6 1.0000 1.0070 0.0338 1 1
7 1.0000 1.0233 0.0580 1 1
8 1.0000 1.0226 0.0361 1 1
9 1.0000 1.0182 0.0201 1 1
10 1.0000 1.0420 0.1391 1 1
11 1.0000 0.9841 0.1133 1 1
12 1.0000 1.0251 0.1047 1 1
13 1.0000 1.0458 0.1872 1 1
14 1.0000 1.0400 0.1821 1 1
15 1.0000 1.0292 0.0611 1 1
16 1.0000 1.0394 0.0796 1 1
17 1.0000 1.0398 0.0585 1 1
18 1.0000 1.0260 0.0276 1 1
19 1.0000 1.0408 0.1143 1 1
20 1.0000 1.0416 0.1610 1 1
21 1.0000 0.9800 0.2274 1 1
22 1.0000 0.9900 0.2315 1 1
23 1.0000 1.0066 0.2041 1 1
24 1.0000 1.0500 0.2808 1 1
25 1.0000 1.0600 0.3203 1 1
26 1.0000 1.0200 0.2815 1 1
27 1.0000 1.0200 0.2007 1 1
28 1.0000 1.0507 0.0583 1 1
29 1.0000 1.0251 0.0583 1 1
30 1.0000 1.0147 0.0142 1 1
31 1.0000 0.9947 0.0084 1 1
32 1.0000 0.9992 0.0338 1 1
33 1.0000 1.0019 0.0461 1 1
34 1.0000 0.9918 0.0101 1 1
35 1.0000 0.9911 0.0026 1 1
36 1.0000 0.9800 0.1952 1 1
37 1.0000 1.0360 0.0837 1 1
38 1.0000 1.0355 0.1252 1 1
39 1.0000 1.0349 0.0595 1 1
40 1.0000 1.0018 0.0122 1 1
41 1.0000 1.0347 -0.0548 1 1
42 1.0000 1.0400 -0.0392 1 1
43 1.0000 1.0438 0.1508 1 1
44 1.0000 1.0401 0.1198 1 1
45 1.0000 1.0379 0.0740 1 1
46 1.0000 1.0433 0.1160 1 1
47 1.0000 1.0300 0.2126 1 1
48 1.0000 1.0500 0.2714 1 1
49 1.0000 0.9435 -0.0164 1 1
50 1.0000 1.0500 0.2364 1 1
51 1.0000 1.0400 0.1540 1 1
52 1.0000 1.0405 0.3465 1 1
53 1.0000 1.0300 0.3218 1 1
54 1.0000 1.0408 0.4802 1 1
55 1.0000 1.0400 0.4679 1 1
56 1.0000 1.0300 0.4786 1 1
57 1.0000 1.0300 0.4604 1 1
58 1.0000 1.0020 0.4380 1 1
59 1.0000 1.0232 0.3975 1 1
60 1.0000 1.0400 0.5377 1 1
61 1.0000 1.0400 0.4799 1 1
62 1.0000 1.0104 0.4269 1 1
63 1.0000 1.0028 0.3135 1 1
64 1.0000 1.0055 0.2595 1 1
65 1.0000 1.0400 0.2813 1 1
66 1.0000 1.0193 0.3663 1 1
67 1.0000 1.0021 0.2939 1 1
68 1.0000 0.9900 0.2255 1 1
69 1.0000 1.0178 0.2533 1 1
70 1.0000 0.9987 0.2401 1 1
71 1.0000 1.0000 0.1978 1 1
72 1.0000 1.0500 0.1810 1 1
73 1.0000 1.0295 0.0298 1 1
74 1.0000 1.0268 0.0054 1 1
75 1.0000 1.0425 0.0214 1 1
76 1.0000 1.0485 0.0133 1 1
77 1.0000 1.0360 0.0096 1 1
78 1.0000 1.0200 0.0000 1 1
79 1.0000 1.0500 0.1426 1 1
80 1.0000 1.0232 0.0110 1 1
81 1.0000 1.0208 -0.0578 1 1
82 1.0000 1.0500 0.1321 1 1
83 1.0000 1.0098 0.4055 1 1
84 1.0000 1.0138 0.4139 1 1
85 1.0000 1.0797 0.6115 1 1
86 1.0000 1.0000 0.7053 1 1
87 1.0000 1.0196 0.5754 1 1
88 1.0000 1.0514 0.5580 1 1
89 1.0000 1.0184 0.5174 1 1
90 1.0000 1.0127 0.5157 1 1
91 1.0000 1.0400 0.2139 1 1
92 1.0000 1.0400 0.3446 1 1
93 1.0000 0.9766 0.1529 1 1
94 1.0000 0.9770 0.1572 1 1
95 1.0000 0.9789 0.2738 1 1
96 1.0000 1.0260 0.2837 1 1
97 1.0000 1.0400 0.2639 1 1
98 1.0000 1.0400 0.5715 1 1
99 1.0000 1.0396 0.5596 1 1
100 1.0000 1.0428 0.4693 1 1
101 1.0000 1.0500 0.4382 1 1
102 1.0000 1.0211 0.4581 1 1
103 1.0000 1.0117 0.4548 1 1
104 1.0000 1.0066 0.2468 1 1
105 1.0000 1.0317 0.4250 1 1
106 1.0000 1.0090 0.2710 1 1
107 1.0000 1.0188 0.2936 1 1
108 1.0000 1.0099 0.2596 1 1
109 1.0000 1.0099 0.2592 1 1
110 1.0000 1.0108 0.2343 1 1
111 1.0000 0.9830 0.1954 1 1
112 1.0000 1.0485 0.5085 1 1
113 1.0000 1.0107 0.3974 1 1
114 1.0000 1.0059 0.5249 1 1
115 1.0000 1.0200 0.5725 1 1
116 1.0000 1.0071 0.4619 1 1
117 1.0000 1.0062 0.5288 1 1
118 1.0000 1.0003 0.5455 1 1
119 1.0000 1.0000 0.5182 1 1
120 1.0000 1.0200 0.4564 1 1
121 1.0000 1.0400 0.5652 1 1
122 1.0000 1.0500 0.5569 1 1
123 1.0000 1.0100 0.6471 1 1
124 1.0000 1.0417 0.0409 1 1
125 1.0000 1.0207 -0.0601 1 1
126 1.0000 1.0208 -0.0950 1 1
127 1.0000 1.0463 0.1139 1 1
128 1.0000 1.0375 0.0470 1 1
129 1.0000 1.0229 0.1554 1 1
130 1.0000 1.0200 0.2122 1 1
131 1.0000 1.0261 0.2333 1 1
132 1.0000 1.0393 0.3410 1 1
133 1.0000 1.0200 0.5988 1 1
134 1.0000 1.0300 0.4475 1 1
135 1.0000 1.0200 0.6102 1 1
136 1.0000 1.0006 0.3441 1 1
137 1.0000 1.0400 0.3547 1 1
138 1.0000 0.9700 0.2386 1 1
139 1.0000 1.0100 0.5090 1 1
140 1.0000 1.0413 0.5375 1 1
];
%SW data: 1
SW.con = [...
78 100.0000 1.0000 1.0200 0.0000 9.9900 -9.9900 1.1000 0.9000 6.3210 1.0000 1 1
];
%PV data: 45
PV.con = [...
21 100.0000 1.0000 6.5000 0.9800 9.9900 -9.9900 1.1000 0.9000 1.0000 1
22 100.0000 1.0000 6.3200 0.9900 9.9900 -9.9900 1.1000 0.9000 1.0000 1
23 100.0000 1.0000 5.0300 1.0066 19.9800 -19.9800 1.1000 0.9000 1.0000 1
24 100.0000 1.0000 7.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
25 100.0000 1.0000 5.6000 1.0600 9.9900 -9.9900 1.1000 0.9000 1.0000 1
26 100.0000 1.0000 8.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
27 100.0000 1.0000 5.4000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
36 100.0000 1.0000 5.5400 0.9800 9.9900 -9.9900 1.1000 0.9000 1.0000 1
42 100.0000 1.0000 3.7000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
47 100.0000 1.0000 4.0000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
48 100.0000 1.0000 4.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
50 100.0000 1.0000 6.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
51 100.0000 1.0000 1.4100 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
53 100.0000 1.0000 8.3300 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
54 100.0000 1.0000 11.1500 1.0408 19.9800 -19.9800 1.1000 0.9000 1.0000 1
55 100.0000 1.0000 10.9500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
56 100.0000 1.0000 4.1000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
57 100.0000 1.0000 2.9800 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
60 100.0000 1.0000 4.1000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
61 100.0000 1.0000 1.9400 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
65 100.0000 1.0000 0.9100 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
68 100.0000 1.0000 0.6600 0.9900 9.9900 -9.9900 1.1000 0.9000 1.0000 1
71 100.0000 1.0000 1.3400 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
72 100.0000 1.0000 1.5000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
79 100.0000 1.0000 10.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
80 100.0000 1.0000 7.2000 1.0232 9.9900 -9.9900 1.1000 0.9000 1.0000 1
82 100.0000 1.0000 4.6000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
86 100.0000 1.0000 16.5000 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
91 100.0000 1.0000 9.3000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
92 100.0000 1.0000 4.5000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
97 100.0000 1.0000 6.0000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
98 100.0000 1.0000 5.8500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
101 100.0000 1.0000 12.0000 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
115 100.0000 1.0000 5.5000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
119 100.0000 1.0000 5.5000 1.0000 9.9900 -9.9900 1.1000 0.9000 1.0000 1
120 100.0000 1.0000 7.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
121 100.0000 1.0000 1.4500 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
122 100.0000 1.0000 1.5500 1.0500 9.9900 -9.9900 1.1000 0.9000 1.0000 1
123 100.0000 1.0000 6.5500 1.0100 9.9900 -9.9900 1.1000 0.9000 1.0000 1
130 100.0000 1.0000 4.9000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
133 100.0000 1.0000 17.0000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
134 100.0000 1.0000 8.8000 1.0300 9.9900 -9.9900 1.1000 0.9000 1.0000 1
135 100.0000 1.0000 23.3000 1.0200 9.9900 -9.9900 1.1000 0.9000 1.0000 1
137 100.0000 1.0000 0.7000 1.0400 9.9900 -9.9900 1.1000 0.9000 1.0000 1
139 100.0000 1.0000 1.1500 1.0100 9.9900 -9.9900 1.1000 0.9000 1.0000 1
];
%PQ data: 83
PQ.con = [...
3 100.0000 1.0000 0.0642 0.6282 1.1000 0.9000 0 1
6 100.0000 1.0000 2.0997 1.0039 1.1000 0.9000 0 1
7 100.0000 1.0000 2.2946 0.2232 1.1000 0.9000 0 1
9 100.0000 1.0000 1.0549 0.2003 1.1000 0.9000 0 1
11 100.0000 1.0000 5.2370 0.7932 1.1000 0.9000 0 1
12 100.0000 1.0000 0.9737 0.4087 1.1000 0.9000 0 1
14 100.0000 1.0000 1.4947 0.5123 1.1000 0.9000 0 1
15 100.0000 1.0000 3.0900 -0.9200 1.1000 0.9000 0 1
16 100.0000 1.0000 0.9475 0.1988 1.1000 0.9000 0 1
17 100.0000 1.0000 0.4356 0.0533 1.1000 0.9000 0 1
18 100.0000 1.0000 1.2662 0.3425 1.1000 0.9000 0 1
19 100.0000 1.0000 0.8754 0.1190 1.1000 0.9000 0 1
20 100.0000 1.0000 1.3870 0.1319 1.1000 0.9000 0 1
30 100.0000 1.0000 2.2967 0.0143 1.1000 0.9000 0 1
31 100.0000 1.0000 2.2837 0.8404 1.1000 0.9000 0 1
34 100.0000 1.0000 0.4748 0.1704 1.1000 0.9000 0 1
35 100.0000 1.0000 0.9827 0.3332 1.1000 0.9000 0 1
36 100.0000 1.0000 0.0550 0.0305 1.1000 0.9000 0 1
41 100.0000 1.0000 4.5785 0.9811 1.1000 0.9000 0 1
42 100.0000 1.0000 0.7160 0.0688 1.1000 0.9000 0 1
45 100.0000 1.0000 0.9006 0.1477 1.1000 0.9000 0 1
46 100.0000 1.0000 0.2300 -0.4250 1.1000 0.9000 0 1
47 100.0000 1.0000 2.6827 0.8129 1.1000 0.9000 0 1
49 100.0000 1.0000 1.3641 0.3082 1.1000 0.9000 0 1
51 100.0000 1.0000 0.9974 0.1364 1.1000 0.9000 0 1
53 100.0000 1.0000 6.8537 1.8564 1.1000 0.9000 0 1
54 100.0000 1.0000 0.2000 0.0000 1.1000 0.9000 0 1
55 100.0000 1.0000 6.8172 0.9728 1.1000 0.9000 0 1
56 100.0000 1.0000 1.2050 0.3503 1.1000 0.9000 0 1
57 100.0000 1.0000 2.4000 -0.0600 1.1000 0.9000 0 1
58 100.0000 1.0000 0.5741 0.2734 1.1000 0.9000 0 1
59 100.0000 1.0000 2.5756 0.9060 1.1000 0.9000 0 1
61 100.0000 1.0000 0.9442 0.0478 1.1000 0.9000 0 1
64 100.0000 1.0000 1.0919 0.1909 1.1000 0.9000 0 1
65 100.0000 1.0000 0.9100 0.0000 1.1000 0.9000 0 1
68 100.0000 1.0000 0.3126 0.0607 1.1000 0.9000 0 1
71 100.0000 1.0000 1.0757 0.1537 1.1000 0.9000 0 1
74 100.0000 1.0000 1.0200 0.0000 1.1000 0.9000 0 1
78 100.0000 1.0000 5.6702 1.7011 1.1000 0.9000 0 1
80 100.0000 1.0000 5.2893 0.1889 1.1000 0.9000 0 1
83 100.0000 1.0000 0.1582 0.0316 1.1000 0.9000 0 1
85 100.0000 1.0000 0.1800 0.0000 1.1000 0.9000 0 1
86 100.0000 1.0000 0.0730 0.0365 1.1000 0.9000 0 1
88 100.0000 1.0000 0.1220 0.0610 1.1000 0.9000 0 1
89 100.0000 1.0000 0.1987 0.1391 1.1000 0.9000 0 1
90 100.0000 1.0000 0.2876 0.1125 1.1000 0.9000 0 1
91 100.0000 1.0000 7.2705 2.2032 1.1000 0.9000 0 1
92 100.0000 1.0000 0.0676 2.1622 1.1000 0.9000 0 1
93 100.0000 1.0000 1.2500 0.0000 1.1000 0.9000 0 1
94 100.0000 1.0000 0.9500 0.0000 1.1000 0.9000 0 1
95 100.0000 1.0000 -1.0000 0.8700 1.1000 0.9000 0 1
96 100.0000 1.0000 -0.4000 -0.2500 1.1000 0.9000 0 1
97 100.0000 1.0000 4.7410 0.2605 1.1000 0.9000 0 1
101 100.0000 1.0000 2.4719 0.9181 1.1000 0.9000 0 1
104 100.0000 1.0000 1.5568 0.7005 1.1000 0.9000 0 1
105 100.0000 1.0000 3.2500 0.0000 1.1000 0.9000 0 1
106 100.0000 1.0000 0.0000 -0.1200 1.1000 0.9000 0 1
107 100.0000 1.0000 0.0000 -0.1900 1.1000 0.9000 0 1
108 100.0000 1.0000 0.0000 -0.1300 1.1000 0.9000 0 1
109 100.0000 1.0000 0.0000 -0.1300 1.1000 0.9000 0 1
110 100.0000 1.0000 1.0239 0.1783 1.1000 0.9000 0 1
111 100.0000 1.0000 2.3505 0.2651 1.1000 0.9000 0 1
113 100.0000 1.0000 2.0600 0.0000 1.1000 0.9000 0 1
114 100.0000 1.0000 0.0000 0.9000 1.1000 0.9000 0 1
115 100.0000 1.0000 1.0000 0.0000 1.1000 0.9000 0 1
116 100.0000 1.0000 2.0000 0.0000 1.1000 0.9000 0 1
117 100.0000 1.0000 2.3725 0.5753 1.1000 0.9000 0 1
118 100.0000 1.0000 1.5874 0.4876 1.1000 0.9000 0 1
119 100.0000 1.0000 3.5479 0.9461 1.1000 0.9000 0 1
120 100.0000 1.0000 9.4600 -0.4000 1.1000 0.9000 0 1
123 100.0000 1.0000 0.2181 0.0346 1.1000 0.9000 0 1
124 100.0000 1.0000 2.8947 0.3833 1.1000 0.9000 0 1
125 100.0000 1.0000 0.6735 0.0105 1.1000 0.9000 0 1
126 100.0000 1.0000 4.5000 0.0000 1.1000 0.9000 0 1
127 100.0000 1.0000 2.0000 -1.5000 1.1000 0.9000 0 1
128 100.0000 1.0000 9.7000 -1.0200 1.1000 0.9000 0 1
129 100.0000 1.0000 6.1000 -0.5000 1.1000 0.9000 0 1
130 100.0000 1.0000 1.8000 0.0000 1.1000 0.9000 0 1
131 100.0000 1.0000 11.6000 -4.3200 1.1000 0.9000 0 1
132 100.0000 1.0000 2.1000 -3.3700 1.1000 0.9000 0 1
135 100.0000 1.0000 1.7000 0.0000 1.1000 0.9000 0 1
136 100.0000 1.0000 1.1034 0.9114 1.1000 0.9000 0 1
138 100.0000 1.0000 0.2223 0.1294 1.1000 0.9000 0 1
];
%Shunt data: 12
Shunt.con = [...
41 100.0000 1.0000 60.0000 0.0000 0.2500 1
45 100.0000 1.0000 60.0000 0.0000 0.2500 1
47 100.0000 1.0000 60.0000 0.0000 0.6000 1
48 100.0000 1.0000 60.0000 0.0000 -0.0100 1
49 100.0000 1.0000 60.0000 0.0000 0.1000 1
51 100.0000 1.0000 60.0000 0.0000 0.2500 1
54 100.0000 1.0000 60.0000 0.0000 -1.1200 1
55 100.0000 1.0000 60.0000 0.0000 0.0200 1
56 100.0000 1.0000 60.0000 0.0000 0.0600 1
58 100.0000 1.0000 60.0000 0.0000 0.0200 1
59 100.0000 1.0000 60.0000 0.0000 0.5000 1
61 100.0000 1.0000 60.0000 0.0000 0.0400 1
];
%Line Data: 233
Line.con = [...
2 1 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00430 0.07000 1.00000 0.00000 5.17580 0.00000 0.00000 1.00000
2 33 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00820 0.14000 1.00000 0.00000 7.96670 0.00000 0.00000 1.00000
4 1 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00430 0.07000 1.00000 0.00000 4.84110 0.00000 0.00000 1.00000
5 4 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.01010 0.17000 1.00000 0.00000 3.53820 0.00000 0.00000 1.00000
5 31 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01290 0.14000 1.00000 0.00000 7.83630 0.00000 0.00000 1.00000
6 5 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.02170 0.37000 1.00000 0.00000 1.25280 0.00000 0.00000 1.00000
7 6 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.00940 0.17000 1.00000 0.00000 4.17970 0.00000 0.00000 1.00000
8 7 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00890 0.13000 1.00000 0.00000 5.64530 0.00000 0.00000 1.00000
9 8 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.00820 0.13000 1.00000 0.00000 3.62360 0.00000 0.00000 1.00000
9 30 100.00000 1.00000 60.00000 0 0.00000 0.00110 0.01330 0.21000 1.00000 0.00000 0.41410 0.00000 0.00000 1.00000
10 7 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.01950 0.30000 1.00000 0.00000 2.50470 0.00000 0.00000 1.00000
12 7 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01350 0.25000 1.00000 0.00000 6.97030 0.00000 0.00000 1.00000
13 12 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01400 0.26000 1.00000 0.00000 8.35820 0.00000 0.00000 1.00000
14 13 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00960 0.18000 1.00000 0.00000 1.23970 0.00000 0.00000 1.00000
15 7 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00590 0.07000 1.00000 0.00000 1.54840 0.00000 0.00000 1.00000
15 14 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.03500 0.36000 1.00000 0.00000 3.62110 0.00000 0.00000 1.00000
16 29 100.00000 1.00000 60.00000 0 0.00000 0.00700 0.00860 0.15000 1.00000 0.00000 4.01490 0.00000 0.00000 1.00000
17 16 100.00000 1.00000 60.00000 0 0.00000 0.00320 0.03230 0.53000 1.00000 0.00000 1.87990 0.00000 0.00000 1.00000
18 8 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01730 0.32000 1.00000 0.00000 0.62220 0.00000 0.00000 1.00000
18 17 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01470 0.24000 1.00000 0.00000 5.88860 0.00000 0.00000 1.00000
19 17 100.00000 1.00000 60.00000 0 0.00000 0.00430 0.04740 0.78000 1.00000 0.00000 2.32840 0.00000 0.00000 1.00000
20 17 100.00000 1.00000 60.00000 0 0.00000 0.00570 0.06250 1.03000 1.00000 0.00000 3.15910 0.00000 0.00000 1.00000
20 19 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01510 0.25000 1.00000 0.00000 3.29440 0.00000 0.00000 1.00000
30 29 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01510 0.26000 1.00000 0.00000 3.28920 0.00000 0.00000 1.00000
31 30 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.02130 0.22000 1.00000 0.00000 2.28750 0.00000 0.00000 1.00000
32 31 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01280 0.13000 1.00000 0.00000 2.62440 0.00000 0.00000 1.00000
33 32 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.00260 0.04000 1.00000 0.00000 10.54340 0.00000 0.00000 1.00000
34 33 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00920 0.11000 1.00000 0.00000 13.49600 0.00000 0.00000 1.00000
35 32 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01120 0.15000 1.00000 0.00000 7.55570 0.00000 0.00000 1.00000
35 34 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00460 0.08000 1.00000 0.00000 4.09770 0.00000 0.00000 1.00000
37 29 100.00000 1.00000 60.00000 0 0.00000 0.00350 0.04110 0.70000 1.00000 0.00000 2.58840 0.00000 0.00000 1.00000
38 37 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.01630 0.25000 1.00000 0.00000 7.41220 0.00000 0.00000 1.00000
39 37 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.00740 0.48000 1.00000 0.00000 7.85490 0.00000 0.00000 1.00000
40 37 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.03150 0.06000 1.00000 0.00000 8.53470 0.00000 0.00000 1.00000
42 41 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.00890 0.07000 1.00000 0.00000 1.27010 0.00000 0.00000 1.00000
43 37 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.01880 1.31000 1.00000 0.00000 4.91820 0.00000 0.00000 1.00000
44 40 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.05300 0.40000 1.00000 0.00000 7.49620 0.00000 0.00000 1.00000
44 43 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01100 0.00000 1.00000 0.00000 8.34330 0.00000 0.00000 1.00000
45 41 100.00000 1.00000 60.00000 0 0.00000 0.07760 0.22410 0.13000 1.00000 0.00000 1.08210 0.00000 0.00000 1.00000
45 44 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02050 0.00000 1.00000 0.00000 5.90950 0.00000 0.00000 1.00000
46 45 100.00000 1.00000 60.00000 0 0.00000 0.12350 0.35480 0.16000 1.00000 0.00000 0.24810 0.00000 0.00000 1.00000
47 46 100.00000 1.00000 60.00000 0 0.00000 0.06320 0.12100 0.05000 1.00000 0.00000 1.21250 0.00000 0.00000 1.00000
48 44 100.00000 1.00000 60.00000 0 0.00000 0.01500 0.10500 0.79000 1.00000 0.00000 1.73330 0.00000 0.00000 1.00000
48 47 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.03300 0.00000 1.00000 0.00000 3.21110 0.00000 0.00000 1.00000
49 46 100.00000 1.00000 60.00000 0 0.00000 0.16400 0.57800 0.06000 1.00000 0.00000 0.16100 0.00000 0.00000 1.00000
50 43 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.02680 0.40000 1.00000 0.00000 6.38710 0.00000 0.00000 1.00000
50 43 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.02680 0.40000 1.00000 0.00000 4.99830 0.00000 0.00000 1.00000
51 45 100.00000 1.00000 60.00000 0 0.00000 0.06050 0.18960 0.08000 1.00000 0.00000 1.43320 0.00000 0.00000 1.00000
51 50 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02070 0.00000 1.00000 0.00000 9.06990 0.00000 0.00000 1.00000
52 50 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.02200 1.28000 1.00000 0.00000 15.88740 0.00000 0.00000 1.00000
53 51 100.00000 1.00000 60.00000 0 0.00000 0.08440 0.21610 0.22000 1.00000 0.00000 1.28850 0.00000 0.00000 1.00000
53 52 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.03880 0.00000 1.00000 0.00000 1.34150 0.00000 0.00000 1.00000
55 53 100.00000 1.00000 60.00000 0 0.00000 0.03000 0.10700 0.30000 1.00000 0.00000 4.05110 0.00000 0.00000 1.00000
56 54 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.00800 0.07000 1.00000 0.00000 2.96490 0.00000 0.00000 1.00000
57 55 100.00000 1.00000 60.00000 0 0.00000 0.00740 0.04000 0.02000 1.00000 0.00000 0.64600 0.00000 0.00000 1.00000
58 56 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01500 0.11000 1.00000 0.00000 10.78350 0.00000 0.00000 1.00000
59 55 100.00000 1.00000 60.00000 0 0.00000 0.01600 0.08170 0.04000 1.00000 0.00000 2.43040 0.00000 0.00000 1.00000
59 57 100.00000 1.00000 60.00000 0 0.00000 0.01400 0.06800 0.03000 1.00000 0.00000 2.05680 0.00000 0.00000 1.00000
60 58 100.00000 1.00000 60.00000 0 0.00000 0.00350 0.03440 0.27000 1.00000 0.00000 10.67740 0.00000 0.00000 1.00000
61 59 100.00000 1.00000 60.00000 0 0.00000 0.06800 0.14300 0.06000 1.00000 0.00000 1.62450 0.00000 0.00000 1.00000
62 54 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.06900 0.13000 1.00000 0.00000 3.04470 0.00000 0.00000 1.00000
62 58 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01800 0.03000 1.00000 0.00000 1.88430 0.00000 0.00000 1.00000
63 62 100.00000 1.00000 60.00000 0 0.00000 0.01290 0.08030 0.15000 1.00000 0.00000 2.29880 0.00000 0.00000 1.00000
64 63 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04600 0.00000 1.00000 0.00000 2.27710 0.00000 0.00000 1.00000
65 53 100.00000 1.00000 60.00000 0 0.00000 0.03500 0.08000 0.05000 1.00000 0.00000 1.59860 0.00000 0.00000 1.00000
65 64 100.00000 1.00000 60.00000 0 0.00000 0.03500 0.08000 0.05000 1.00000 0.00000 0.25570 0.00000 0.00000 1.00000
67 63 100.00000 1.00000 60.00000 0 0.00000 0.01200 0.09300 0.18000 1.00000 0.00000 0.22110 0.00000 0.00000 1.00000
67 66 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02310 0.00000 1.00000 0.00000 6.23480 0.00000 0.00000 1.00000
68 64 100.00000 1.00000 60.00000 0 0.00000 0.09880 0.23100 0.13000 1.00000 0.00000 0.34280 0.00000 0.00000 1.00000
68 67 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04900 0.00000 1.00000 0.00000 0.95770 0.00000 0.00000 1.00000
69 38 100.00000 1.00000 60.00000 0 0.00000 0.00430 0.04850 0.79000 1.00000 0.00000 6.74390 0.00000 0.00000 1.00000
69 66 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.02740 0.27000 1.00000 0.00000 13.26640 0.00000 0.00000 1.00000
70 67 100.00000 1.00000 60.00000 0 0.00000 0.00700 0.06190 0.12000 1.00000 0.00000 0.71760 0.00000 0.00000 1.00000
71 45 100.00000 1.00000 60.00000 0 0.00000 0.17510 0.55750 0.12000 1.00000 0.00000 0.41220 0.00000 0.00000 1.00000
71 68 100.00000 1.00000 60.00000 0 0.00000 0.12030 0.20480 0.07000 1.00000 0.00000 0.16780 0.00000 0.00000 1.00000
71 69 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.03750 0.00000 1.00000 0.00000 5.40880 0.00000 0.00000 1.00000
71 70 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04900 0.00000 1.00000 0.00000 2.00680 0.00000 0.00000 1.00000
72 51 100.00000 1.00000 60.00000 0 0.00000 0.00510 0.02320 0.30000 1.00000 0.00000 1.59680 0.00000 0.00000 1.00000
72 71 100.00000 1.00000 60.00000 0 0.00000 0.00530 0.01350 0.10000 1.00000 0.00000 3.27370 0.00000 0.00000 1.00000
73 35 100.00000 1.00000 60.00000 0 0.00000 0.00230 0.03630 0.38000 1.00000 0.00000 2.77670 0.00000 0.00000 1.00000
73 39 100.00000 1.00000 60.00000 0 0.00000 0.00190 0.01830 0.29000 1.00000 0.00000 5.05140 0.00000 0.00000 1.00000
73 39 100.00000 1.00000 60.00000 0 0.00000 0.00190 0.01830 0.29000 1.00000 0.00000 5.09810 0.00000 0.00000 1.00000
74 73 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.01960 0.34000 1.00000 0.00000 3.87680 0.00000 0.00000 1.00000
74 73 100.00000 1.00000 60.00000 0 0.00000 0.00220 0.01960 0.34000 1.00000 0.00000 1.43590 0.00000 0.00000 1.00000
77 74 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00430 0.08000 1.00000 0.00000 5.05260 0.00000 0.00000 1.00000
77 76 100.00000 1.00000 60.00000 0 0.00000 0.00300 0.00680 1.37000 1.00000 0.00000 5.67520 0.00000 0.00000 1.00000
78 74 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.00450 0.32000 1.00000 0.00000 1.67190 0.00000 0.00000 1.00000
78 74 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.00450 0.32000 1.00000 0.00000 5.94560 0.00000 0.00000 1.00000
79 78 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.01530 0.00000 1.00000 0.00000 31.46260 0.00000 0.00000 1.00000
80 78 100.00000 1.00000 60.00000 0 0.00000 0.01350 0.05820 0.50000 1.00000 0.00000 0.37010 0.00000 0.00000 1.00000
81 78 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02760 0.00000 1.00000 0.00000 1.56260 0.00000 0.00000 1.00000
82 78 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.03080 0.00000 1.00000 0.00000 8.72890 0.00000 0.00000 1.00000
83 112 100.00000 1.00000 60.00000 0 0.00000 0.01850 0.15370 0.00000 1.00000 0.00000 2.18980 0.00000 0.00000 1.00000
83 113 100.00000 1.00000 60.00000 0 0.00000 0.00370 0.02020 0.00000 1.00000 0.00000 0.76920 0.00000 0.00000 1.00000
85 105 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.10900 0.18000 1.00000 0.00000 3.20600 0.00000 0.00000 1.00000
85 105 100.00000 1.00000 60.00000 0 0.00000 0.01000 0.10900 0.18000 1.00000 0.00000 3.69740 0.00000 0.00000 1.00000
85 112 100.00000 1.00000 60.00000 0 0.00000 0.00690 0.05950 0.10000 1.00000 0.00000 1.66330 0.00000 0.00000 1.00000
85 112 100.00000 1.00000 60.00000 0 0.00000 0.00690 0.05950 0.10000 1.00000 0.00000 1.70230 0.00000 0.00000 1.00000
88 85 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02020 0.03000 1.00000 0.00000 9.76570 0.00000 0.00000 1.00000
88 85 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02020 0.03000 1.00000 0.00000 7.24670 0.00000 0.00000 1.00000
88 105 100.00000 1.00000 60.00000 0 0.00000 0.01120 0.09930 0.17000 1.00000 0.00000 1.80850 0.00000 0.00000 1.00000
88 105 100.00000 1.00000 60.00000 0 0.00000 0.01120 0.09930 0.17000 1.00000 0.00000 4.31850 0.00000 0.00000 1.00000
89 88 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02050 0.00000 1.00000 0.00000 1.75830 0.00000 0.00000 1.00000
89 105 100.00000 1.00000 60.00000 0 0.00000 0.08940 0.33630 0.00000 1.00000 0.00000 0.51450 0.00000 0.00000 1.00000
89 113 100.00000 1.00000 60.00000 0 0.00000 0.14560 0.41150 0.00000 1.00000 0.00000 0.74480 0.00000 0.00000 1.00000
90 89 100.00000 1.00000 60.00000 0 0.00000 0.00130 0.00490 0.00000 1.00000 0.00000 1.75840 0.00000 0.00000 1.00000
91 110 100.00000 1.00000 60.00000 0 0.00000 0.00170 0.01170 0.00000 1.00000 0.00000 5.17850 0.00000 0.00000 1.00000
92 91 100.00000 1.00000 60.00000 0 0.00000 0.00580 0.09280 0.00000 1.00000 0.00000 3.04030 0.00000 0.00000 1.00000
93 91 100.00000 1.00000 60.00000 0 0.00000 0.04210 0.29320 0.00000 1.00000 0.00000 0.94880 0.00000 0.00000 1.00000
94 93 100.00000 1.00000 60.00000 0 0.00000 0.00420 0.02830 0.00000 1.00000 0.00000 0.40880 0.00000 0.00000 1.00000
94 111 100.00000 1.00000 60.00000 0 0.00000 0.00490 0.03360 0.00000 1.00000 0.00000 0.79060 0.00000 0.00000 1.00000
95 91 100.00000 1.00000 60.00000 0 0.00000 0.02610 0.18440 0.00000 1.00000 0.00000 0.61650 0.00000 0.00000 1.00000
95 93 100.00000 1.00000 60.00000 0 0.00000 0.01870 0.12840 0.00000 1.00000 0.00000 1.49110 0.00000 0.00000 1.00000
96 95 100.00000 1.00000 60.00000 0 0.00000 0.01360 0.09550 0.00000 1.00000 0.00000 1.54410 0.00000 0.00000 1.00000
97 92 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.03030 0.00000 1.00000 0.00000 4.87490 0.00000 0.00000 1.00000
97 96 100.00000 1.00000 60.00000 0 0.00000 0.01600 0.07670 0.00000 1.00000 0.00000 0.38600 0.00000 0.00000 1.00000
98 91 100.00000 1.00000 60.00000 0 0.00000 0.01200 0.08540 0.00000 1.00000 0.00000 9.83400 0.00000 0.00000 1.00000
99 98 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00920 0.00000 1.00000 0.00000 2.59640 0.00000 0.00000 1.00000
100 99 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.07020 0.00000 1.00000 0.00000 4.28080 0.00000 0.00000 1.00000
102 54 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02480 0.06000 1.00000 0.00000 4.00240 0.00000 0.00000 1.00000
103 54 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.02480 0.06000 1.00000 0.00000 4.64290 0.00000 0.00000 1.00000
104 101 100.00000 1.00000 60.00000 0 0.00000 0.00770 0.07730 0.00000 1.00000 0.00000 6.80200 0.00000 0.00000 1.00000
105 101 100.00000 1.00000 60.00000 0 0.00000 0.01880 0.14930 0.00000 1.00000 0.00000 0.41390 0.00000 0.00000 1.00000
106 104 100.00000 1.00000 60.00000 0 0.00000 0.00180 0.01800 0.00000 1.00000 0.00000 4.33360 0.00000 0.00000 1.00000
106 105 100.00000 1.00000 60.00000 0 0.00000 0.01650 0.11560 0.00000 1.00000 0.00000 0.94510 0.00000 0.00000 1.00000
107 101 100.00000 1.00000 60.00000 0 0.00000 0.00760 0.07510 0.00000 1.00000 0.00000 3.04870 0.00000 0.00000 1.00000
107 105 100.00000 1.00000 60.00000 0 0.00000 0.01150 0.11030 0.00000 1.00000 0.00000 0.62580 0.00000 0.00000 1.00000
108 101 100.00000 1.00000 60.00000 0 0.00000 0.00780 0.07720 0.00000 1.00000 0.00000 7.23020 0.00000 0.00000 1.00000
109 101 100.00000 1.00000 60.00000 0 0.00000 0.00780 0.07830 0.00000 1.00000 0.00000 4.84210 0.00000 0.00000 1.00000
110 101 100.00000 1.00000 60.00000 0 0.00000 0.04820 0.26360 0.00000 1.00000 0.00000 1.27230 0.00000 0.00000 1.00000
110 104 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.00620 0.00000 1.00000 0.00000 2.51900 0.00000 0.00000 1.00000
110 107 100.00000 1.00000 60.00000 0 0.00000 0.00210 0.01860 0.00000 1.00000 0.00000 6.82180 0.00000 0.00000 1.00000
110 108 100.00000 1.00000 60.00000 0 0.00000 0.00260 0.01940 0.00000 1.00000 0.00000 1.78530 0.00000 0.00000 1.00000
110 109 100.00000 1.00000 60.00000 0 0.00000 0.00260 0.01940 0.00000 1.00000 0.00000 0.90480 0.00000 0.00000 1.00000
111 105 100.00000 1.00000 60.00000 0 0.00000 0.01310 0.08090 0.13000 1.00000 0.00000 2.16770 0.00000 0.00000 1.00000
111 108 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.05770 0.00000 1.00000 0.00000 0.84390 0.00000 0.00000 1.00000
111 109 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.05770 0.00000 1.00000 0.00000 2.05860 0.00000 0.00000 1.00000
112 105 100.00000 1.00000 60.00000 0 0.00000 0.00800 0.04970 0.30000 1.00000 0.00000 1.52910 0.00000 0.00000 1.00000
113 105 100.00000 1.00000 60.00000 0 0.00000 0.38240 0.94790 0.00000 1.00000 0.00000 0.06300 0.00000 0.00000 1.00000
113 112 100.00000 1.00000 60.00000 0 0.00000 0.01010 0.08730 0.00000 1.00000 0.00000 4.38180 0.00000 0.00000 1.00000
114 90 100.00000 1.00000 60.00000 0 0.00000 0.00240 0.01500 0.00000 1.00000 0.00000 1.18080 0.00000 0.00000 1.00000
115 87 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00180 0.02000 1.00000 0.00000 1.46840 0.00000 0.00000 1.00000
116 84 100.00000 1.00000 60.00000 0 0.00000 0.00150 0.10450 0.00000 1.00000 0.00000 1.03320 0.00000 0.00000 1.00000
116 115 100.00000 1.00000 60.00000 0 0.00000 0.07330 0.97990 0.00000 1.00000 0.00000 0.35860 0.00000 0.00000 1.00000
117 114 100.00000 1.00000 60.00000 0 0.00000 0.06630 0.36960 0.00000 1.00000 0.00000 0.01620 0.00000 0.00000 1.00000
117 115 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.01140 0.00000 1.00000 0.00000 2.53530 0.00000 0.00000 1.00000
117 116 100.00000 1.00000 60.00000 0 0.00000 0.04740 0.26310 0.00000 1.00000 0.00000 0.23350 0.00000 0.00000 1.00000
118 115 100.00000 1.00000 60.00000 0 0.00000 0.16570 0.15510 0.00000 1.00000 0.00000 0.10820 0.00000 0.00000 1.00000
118 116 100.00000 1.00000 60.00000 0 0.00000 0.01170 0.07440 0.00000 1.00000 0.00000 3.04110 0.00000 0.00000 1.00000
118 117 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.01990 0.00000 1.00000 0.00000 1.66080 0.00000 0.00000 1.00000
119 114 100.00000 1.00000 60.00000 0 0.00000 0.08760 0.25400 0.00000 1.00000 0.00000 0.08300 0.00000 0.00000 1.00000
119 115 100.00000 1.00000 60.00000 0 0.00000 0.00330 0.03920 0.00000 1.00000 0.00000 3.84910 0.00000 0.00000 1.00000
119 117 100.00000 1.00000 60.00000 0 0.00000 0.00170 0.01890 0.00000 1.00000 0.00000 1.42730 0.00000 0.00000 1.00000
120 116 100.00000 1.00000 60.00000 0 0.00000 0.23070 0.70410 0.00000 1.00000 0.00000 0.04530 0.00000 0.00000 1.00000
120 117 100.00000 1.00000 60.00000 0 0.00000 0.00670 0.07970 0.00000 1.00000 0.00000 2.92290 0.00000 0.00000 1.00000
120 118 100.00000 1.00000 60.00000 0 0.00000 0.00500 0.06290 0.00000 1.00000 0.00000 3.63030 0.00000 0.00000 1.00000
120 119 100.00000 1.00000 60.00000 0 0.00000 0.10650 0.34980 0.00000 1.00000 0.00000 0.56080 0.00000 0.00000 1.00000
121 114 100.00000 1.00000 60.00000 0 0.00000 0.00630 0.08020 0.00000 1.00000 0.00000 1.26620 0.00000 0.00000 1.00000
121 115 100.00000 1.00000 60.00000 0 0.00000 0.02200 0.29840 0.00000 1.00000 0.00000 0.06590 0.00000 0.00000 1.00000
121 116 100.00000 1.00000 60.00000 0 0.00000 0.09510 0.45760 0.00000 1.00000 0.00000 0.16690 0.00000 0.00000 1.00000
121 117 100.00000 1.00000 60.00000 0 0.00000 0.01500 0.08690 0.00000 1.00000 0.00000 1.50920 0.00000 0.00000 1.00000
121 118 100.00000 1.00000 60.00000 0 0.00000 0.13910 0.47980 0.00000 1.00000 0.00000 0.12700 0.00000 0.00000 1.00000
121 119 100.00000 1.00000 60.00000 0 0.00000 0.16360 0.58040 0.00000 1.00000 0.00000 0.26020 0.00000 0.00000 1.00000
122 116 100.00000 1.00000 60.00000 0 0.00000 0.00330 0.12870 0.00000 1.00000 0.00000 2.03550 0.00000 0.00000 1.00000
122 117 100.00000 1.00000 60.00000 0 0.00000 0.03830 0.08860 0.00000 1.00000 0.00000 1.13820 0.00000 0.00000 1.00000
122 118 100.00000 1.00000 60.00000 0 0.00000 0.09500 0.50710 0.00000 1.00000 0.00000 0.26180 0.00000 0.00000 1.00000
122 121 100.00000 1.00000 60.00000 0 0.00000 0.12500 0.46990 0.00000 1.00000 0.00000 0.05510 0.00000 0.00000 1.00000
123 118 100.00000 1.00000 60.00000 0 0.00000 0.00140 0.01740 0.00000 1.00000 0.00000 11.53630 0.00000 0.00000 1.00000
124 75 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01750 1.39000 1.00000 0.00000 2.71860 0.00000 0.00000 1.00000
125 81 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00110 0.00000 1.00000 0.00000 7.07180 0.00000 0.00000 1.00000
125 124 100.00000 1.00000 60.00000 0 0.00000 0.00250 0.07300 0.00000 1.00000 0.00000 2.42640 0.00000 0.00000 1.00000
126 124 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.08390 0.00000 1.00000 0.00000 1.43740 0.00000 0.00000 1.00000
126 125 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.04110 0.00000 1.00000 0.00000 1.05780 0.00000 0.00000 1.00000
127 124 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.01050 0.72000 1.00000 0.00000 18.53460 0.00000 0.00000 1.00000
127 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.25320 0.00000 1.00000 0.00000 2.58640 0.00000 0.00000 1.00000
128 124 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.01170 0.84000 1.00000 0.00000 2.55290 0.00000 0.00000 1.00000
128 125 100.00000 1.00000 60.00000 0 0.00000 0.00490 0.26340 0.00000 1.00000 0.00000 0.48490 0.00000 0.00000 1.00000
128 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.27410 0.00000 1.00000 0.00000 1.49170 0.00000 0.00000 1.00000
128 127 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.13390 0.00000 1.00000 0.00000 1.18060 0.00000 0.00000 1.00000
129 128 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.13810 0.00000 1.00000 0.00000 1.39220 0.00000 0.00000 1.00000
130 128 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01750 1.26000 1.00000 0.00000 19.71160 0.00000 0.00000 1.00000
130 129 100.00000 1.00000 60.00000 0 0.00000 0.00040 0.00850 0.60000 1.00000 0.00000 13.56630 0.00000 0.00000 1.00000
131 130 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.00380 0.54000 1.00000 0.00000 14.48520 0.00000 0.00000 1.00000
132 127 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.02210 1.62000 1.00000 0.00000 29.02870 0.00000 0.00000 1.00000
132 130 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01730 1.25000 1.00000 0.00000 10.85400 0.00000 0.00000 1.00000
133 131 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.03900 2.77000 1.00000 0.00000 7.20300 0.00000 0.00000 1.00000
133 132 100.00000 1.00000 60.00000 0 0.00000 0.00120 0.02930 2.09000 1.00000 0.00000 26.72170 0.00000 0.00000 1.00000
134 66 100.00000 1.00000 60.00000 0 0.00000 0.00076 0.01141 1.16000 1.00000 0.00000 12.23790 0.00000 0.00000 1.00000
134 132 100.00000 1.00000 60.00000 0 0.00000 0.00235 0.04388 0.00000 1.00000 0.00000 7.10790 0.00000 0.00000 1.00000
135 115 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.63090 0.00000 1.00000 0.00000 0.06330 0.00000 0.00000 1.00000
135 122 100.00000 1.00000 60.00000 0 0.00000 0.05730 0.75810 0.00000 1.00000 0.00000 0.06840 0.00000 0.00000 1.00000
135 131 100.00000 1.00000 60.00000 0 0.00000 0.00570 0.06990 0.00000 1.00000 0.00000 17.57410 0.00000 0.00000 1.00000
135 132 100.00000 1.00000 60.00000 0 0.00000 0.00120 0.02880 2.06000 1.00000 0.00000 29.79870 0.00000 0.00000 1.00000
135 133 100.00000 1.00000 60.00000 0 0.00000 0.00030 0.00630 0.45000 1.00000 0.00000 6.49310 0.00000 0.00000 1.00000
135 134 100.00000 1.00000 60.00000 0 0.00000 0.00460 0.06250 0.00000 1.00000 0.00000 8.23360 0.00000 0.00000 1.00000
136 134 100.00000 1.00000 60.00000 0 0.00000 0.00460 0.07820 0.79000 1.00000 0.00000 0.87020 0.00000 0.00000 1.00000
138 67 100.00000 1.00000 60.00000 0 0.00000 0.00630 0.04910 0.09000 1.00000 0.00000 2.72170 0.00000 0.00000 1.00000
138 126 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.68050 0.00000 1.00000 0.00000 1.71610 0.00000 0.00000 1.00000
138 132 100.00000 1.00000 60.00000 0 0.00000 0.03310 0.42240 0.00000 1.00000 0.00000 0.59460 0.00000 0.00000 1.00000
138 137 100.00000 1.00000 60.00000 0 0.00000 0.25530 0.71800 0.00000 1.00000 0.00000 0.55670 0.00000 0.00000 1.00000
139 115 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.12430 0.00000 1.00000 0.00000 0.37240 0.00000 0.00000 1.00000
139 122 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.15320 0.00000 1.00000 0.00000 1.43410 0.00000 0.00000 1.00000
139 131 100.00000 1.00000 60.00000 0 0.00000 0.00590 0.10520 0.00000 1.00000 0.00000 8.69210 0.00000 0.00000 1.00000
139 135 100.00000 1.00000 60.00000 0 0.00000 0.01770 0.06610 0.00000 1.00000 0.00000 3.30430 0.00000 0.00000 1.00000
139 136 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.20540 0.00000 1.00000 0.00000 1.44920 0.00000 0.00000 1.00000
140 60 100.00000 1.00000 60.00000 0 0.00000 0.00390 0.03630 0.07000 1.00000 0.00000 0.05510 0.00000 0.00000 1.00000
1 21 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02000 0.00000 1.07000 0.00000 18.01230 0.00000 0.00000 1.00000
3 2 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.04350 0.00000 1.06000 0.00000 0.22970 0.00000 0.00000 1.00000
3 4 100.00000 1.00000 60.00000 0 0.00000 0.00160 0.04350 0.00000 1.06000 0.00000 0.72310 0.00000 0.00000 1.00000
10 11 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01380 0.00000 1.06000 0.00000 5.82480 0.00000 0.00000 1.00000
10 22 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.01420 0.00000 1.07000 0.00000 13.41090 0.00000 0.00000 1.00000
11 23 100.00000 1.00000 60.00000 0 0.00000 0.00090 0.01800 0.00000 1.00900 0.00000 10.10430 0.00000 0.00000 1.00000
13 24 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01430 0.00000 1.02500 0.00000 13.92040 0.00000 0.00000 1.00000
14 25 100.00000 1.00000 60.00000 0 0.00000 0.00050 0.02720 0.00000 1.00000 0.00000 7.67330 0.00000 0.00000 1.00000
16 27 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.02320 0.00000 1.02500 0.00000 17.59290 0.00000 0.00000 1.00000
20 26 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.01560 0.00000 1.02500 0.00000 26.71890 0.00000 0.00000 1.00000
28 29 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01810 0.00000 1.02500 0.00000 0.00000 0.00000 0.00000 1.00000
33 36 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.02500 0.00000 1.07000 0.00000 20.07010 0.00000 0.00000 1.00000
40 41 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01610 0.00000 0.95000 0.00000 8.65390 0.00000 0.00000 1.00000
48 100 100.00000 1.00000 60.00000 0 0.00000 0.00100 0.15950 0.00000 0.97000 0.00000 2.41870 0.00000 0.00000 1.00000
49 48 100.00000 1.00000 60.00000 0 0.00000 0.01560 0.15360 0.00000 1.01400 0.00000 2.25490 0.00000 0.00000 1.00000
54 52 100.00000 1.00000 60.00000 0 0.00000 0.00200 0.02330 0.00000 1.00300 0.00000 6.40360 0.00000 0.00000 1.00000
54 55 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.01300 0.00000 1.01000 0.00000 3.64770 0.00000 0.00000 1.00000
56 57 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.14200 0.00000 0.98000 0.00000 0.54010 0.00000 0.00000 1.00000
58 59 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.00930 0.00000 0.96000 0.00000 10.69880 0.00000 0.00000 1.00000
60 61 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.06400 0.00000 0.99000 0.00000 2.87690 0.00000 0.00000 1.00000
75 76 100.00000 1.00000 60.00000 0 0.00000 0.00010 0.00740 0.00000 0.99000 0.00000 2.65920 0.00000 0.00000 1.00000
84 83 100.00000 1.00000 60.00000 0 0.00000 0.00520 0.01740 0.00000 1.00300 0.00000 1.01060 0.00000 0.00000 1.00000
85 86 100.00000 1.00000 60.00000 0 0.00000 0.00000 0.00570 0.00000 1.11000 0.00000 18.34150 0.00000 0.00000 1.00000
87 85 100.00000 1.00000 60.00000 0 0.00000 0.00020 0.02460 0.00000 0.93900 0.00000 3.74850 0.00000 0.00000 1.00000
101 102 100.00000 1.00000 60.00000 0 0.00000 0.00070 0.02110 0.00000 1.04500 0.00000 1.11720 0.00000 0.00000 1.00000
101 103 100.00000 1.00000 60.00000 0 0.00000 0.00060 0.01510 0.00000 1.05600 0.00000 1.01860 0.00000 0.00000 1.00000
137 136 100.00000 1.00000 60.00000 0 0.00000 0.00080 0.02390 0.00000 1.00000 0.00000 4.35960 0.00000 0.00000 1.00000
];
Hvdc.con = [];
Bus.names = {...
'bus1 ';'bus2 ';'bus3 ';'bus4 ';'bus5 ';
'bus6 ';'bus7 ';'bus8 ';'bus9 ';'bus10 ';
'bus11 ';'bus12 ';'bus13 ';'bus14 ';'bus15 ';
'bus16 ';'bus17 ';'bus18 ';'bus19 ';'bus20 ';
'bus21 ';'bus22 ';'bus23 ';'bus24 ';'bus25 ';
'bus26 ';'bus27 ';'bus28 ';'bus29 ';'bus30 ';
'bus31 ';'bus32 ';'bus33 ';'bus34 ';'bus35 ';
'bus36 ';'bus37 ';'bus38 ';'bus39 ';'bus40 ';
'bus41 ';'bus42 ';'bus43 ';'bus44 ';'bus45 ';
'bus46 ';'bus47 ';'bus48 ';'bus49 ';'bus50 ';
'bus51 ';'bus52 ';'bus53 ';'bus54 ';'bus55 ';
'bus56 ';'bus57 ';'bus58 ';'bus59 ';'bus60 ';
'bus61 ';'bus62 ';'bus63 ';'bus64 ';'bus65 ';
'bus66 ';'bus67 ';'bus68 ';'bus69 ';'bus70 ';
'bus71 ';'bus72 ';'bus73 ';'bus74 ';'bus75 ';
'bus76 ';'bus77 ';'bus78 ';'bus79 ';'bus80 ';
'bus81 ';'bus82 ';'bus83 ';'bus84 ';'bus85 ';
'bus86 ';'bus87 ';'bus88 ';'bus89 ';'bus90 ';
'bus91 ';'bus92 ';'bus93 ';'bus94 ';'bus95 ';
'bus96 ';'bus97 ';'bus98 ';'bus99 ';'bus100 ';
'bus101 ';'bus102 ';'bus103 ';'bus104 ';'bus105 ';
'bus106 ';'bus107 ';'bus108 ';'bus109 ';'bus110 ';
'bus111 ';'bus112 ';'bus113 ';'bus114 ';'bus115 ';
'bus116 ';'bus117 ';'bus118 ';'bus119 ';'bus120 ';
'bus121 ';'bus122 ';'bus123 ';'bus124 ';'bus125 ';
'bus126 ';'bus127 ';'bus128 ';'bus129 ';'bus130 ';
'bus131 ';'bus132 ';'bus133 ';'bus134 ';'bus135 ';
'bus136 ';'bus137 ';'bus138 ';'bus139 ';'bus140 '};
%ZIP Data: 54
Pl.con = [...
3 100 1 60 0.006463 0.005541 0.01375 0.01203 0.1074 0.1324 0 1
6 100 1 60 0.6749 0.07013 0.3553 0.07984 0.2105 0.2358 0 1
7 100 1 60 0.0417 0.3886 0.5651 0.04878 0.03772 0.01032 0 1
9 100 1 60 0.04871 0.2094 0.267 0.03556 0.01712 0.04703 0 1
11 100 1 60 0.4794 0.4565 0.6271 0.02434 0.0581 0.1543 0 1
12 100 1 60 1.153 0.3132 0.3005 0.08317 0.2892 0.369 0 1
14 100 1 60 0.6578 0.0592 0.2683 0.03266 0.1495 0.1556 0 1
16 100 1 60 0.1208 0.7944 0.3774 0.003393 0.156 0.1118 0 1
17 100 1 60 0.3658 0.335 0.2535 0.02849 0.0376 0.05064 0 1
18 100 1 60 0.4987 0.4929 0.5522 0.1683 0.1906 0.05869 0 1
19 100 1 60 0.5216 0.08054 0.5825 0.09609 0.0564 0.008531 0 1
20 100 1 60 0.6623 0.5472 0.2436 0.04247 0.03433 0.06135 0 1
30 100 1 60 0.3195 0.3752 0.2287 0.0006897 0.0007914 0.004254 0 1
31 100 1 60 1.416 1.004 0.2961 0.4605 0.01781 0.5213 0 1
34 100 1 60 0.4372 0.702 0.726 0.08 0.1835 0.406 0 1
35 100 1 60 3.303 0.04469 0.8893 0.2216 0.5239 0.6914 0 1
36 100 1 60 0.02284 0.001352 0.01084 0.001679 0.01113 0.006653 0 1
41 100 1 60 0.1839 1.225 1.012 0.03848 0.2593 0.2211 0 1
42 100 1 60 0.1858 0.6294 0.2388 0.01198 0.06664 0.02261 0 1
45 100 1 60 0.3907 0.5715 0.6973 0.03638 0.08488 0.151 0 1
47 100 1 60 0.1159 1.491 0.9901 0.1855 0.1405 0.4611 0 1
49 100 1 60 0.2705 0.3666 0.07872 0.02649 0.06394 0.07134 0 1
51 100 1 60 1.116 2.597 2.599 0.1267 0.4423 0.2945 0 1
53 100 1 60 0.7398 1.213 0.4237 0.09929 0.2929 0.2514 0 1
55 100 1 60 0.4497 1.49 0.6328 0.1267 0.1055 0.1349 0 1
56 100 1 60 0.2743 0.1687 0.07195 0.08402 0.01265 0.05304 0 1
58 100 1 60 0.112 0.06578 0.08806 0.05424 0.06652 0.005857 0 1
59 100 1 60 3.372 0.4434 0.6587 0.1917 0.4815 0.9008 0 1
61 100 1 60 0.62 0.5303 0.2755 0.0145 0.01451 0.04318 0 1
64 100 1 60 0.06436 0.2089 0.06488 0.008612 0.01097 0.03953 0 1
68 100 1 60 0.9143 0.7454 0.1377 0.1167 0.1052 0.1273 0 1
71 100 1 60 0.8575 0.8633 0.9136 0.2405 0.05956 0.07628 0 1
78 100 1 60 8.402 1.567 4.36 1.745 0.5118 2.042 0 1
80 100 1 60 0.3441 0.2389 1.128 0.01209 0.02568 0.02333 0 1
83 100 1 60 0.1816 0.1671 0.2932 0.01474 0.0793 0.03433 0 1
86 100 1 60 0.1052 0.1702 0.1517 0.1037 0.08609 0.0237 0 1
88 100 1 60 0.07629 0.5065 0.3952 0.2816 0.2003 0.007163 0 1
89 100 1 60 0.09626 0.3617 0.3432 0.1283 0.1156 0.317 0 1
90 100 1 60 0.3743 0.3071 0.1809 0.06234 0.2306 0.04452 0 1
91 100 1 60 0.8473 0.6087 7.773 0.6672 0.9094 1.22 0 1
92 100 1 60 0.0185 0.00556 0.008373 0.06832 0.6276 0.3419 0 1
97 100 1 60 0.2178 0.3586 3.783 0.1049 0.005606 0.129 0 1
101 100 1 60 0.3181 0.575 0.135 0.07897 0.1588 0.1441 0 1
104 100 1 60 0.004816 0.3419 0.09651 0.08514 0.06485 0.04947 0 1
110 100 1 60 2.322 1.769 2.065 0.6165 0.1842 0.2711 0 1
111 100 1 60 0.395 0.2653 0.9793 0.05457 0.04616 0.08418 0 1
117 100 1 60 0.09587 0.7421 0.7895 0.08172 0.1725 0.1405 0 1
118 100 1 60 0.458 0.1644 0.5901 0.07667 0.1099 0.1859 0 1
119 100 1 60 2.129 0.5486 1.274 0.2167 0.5363 0.3009 0 1
123 100 1 60 0.05371 0.3385 0.01967 0.03204 0.01754 0.01579 0 1
124 100 1 60 0.4013 0.1326 0.2715 0.08154 0.01692 0.008191 0 1
125 100 1 60 0.5928 1.167 0.7668 0.01111 0.00809 0.02028 0 1
136 100 1 60 0.3169 0.7983 0.4814 1.02 0.03054 0.2686 0 1
138 100 1 60 0.04339 0.4078 0.4265 0.1189 0.3735 0.01822 0 1
];

@ -0,0 +1,828 @@
% Modified WECC test system, with 181 buses
% Modified from WECC 179-bus system
Bus.con = [ ...
1 500 0.99361 -0.357138 10 10;
2 345 1.02903 -0.206638 10 10;
3 20 1.01148 -0.241871 10 10;
4 345 1.01368 0.216182 60 70;
5 20 1.01712 0.33026 60 70;
6 500 1.12547 -0.161904 10 10;
7 345 1.04845 -0.110216 10 10;
8 20 1.01935 0.0037542 10 10;
9 230 1.04664 -0.119 10 10;
10 20 1 0.508898 10 10;
11 500 1.15161 -0.378551 10 10;
12 20 1.08081 -0.286538 10 10;
13 500 1.15234 -0.392263 10 10;
14 20 1.03911 -0.352433 10 10;
15 500 1.1295 -0.47092 10 10;
16 345 1.06265 -0.0952374 10 10;
17 20 1.01 -0.0449318 10 10;
18 500 1.13748 -0.4686 10 10;
19 500 1.14341 -0.362924 10 10;
20 500 1.1509 -0.407749 10 10;
21 500 1.12344 -0.349588 10 10;
22 500 1.10525 -0.498223 10 10;
23 500 1.14048 -0.368668 10 10;
24 500 1.12042 -0.492802 10 10;
25 500 1.14954 -0.259667 10 10;
26 500 1.02866 -0.672774 10 10;
27 500 1.11272 -0.127842 10 10;
28 500 1.13373 -0.479798 10 10;
29 20 1.05527 0.313484 50 50;
30 500 1.09433 0.254122 50 50;
31 500 1.03936 0.743889 50 50;
32 230 0.99847 0.825375 50 50;
33 230 1.00373 0.981481 50 50;
34 20 1.02 1.06715 50 50;
35 22 1.06125 6.10865e-05 60 63;
36 500 1.07297 -0.667472 90 90;
37 500 1.09333 -0.736943 90 90;
38 230 1.04123 -0.75497 26 26;
39 20 1.02393 -0.732291 26 26;
40 230 1.04269 -0.817374 26 26;
41 230 1.04467 -0.812346 26 26;
42 20 1.00496 -0.755536 26 26;
43 345 1.06442 -0.108881 90 90;
44 20 1.06068 -0.0294838 90 90;
45 230 1.04611 -0.760897 26 26;
46 20 1.01546 -0.753916 26 26;
47 230 1.04566 -0.764494 26 26;
48 500 1.08445 -0.724223 26 26;
49 230 1.03943 -0.832704 26 26;
50 138 1.04793 -0.833564 26 26;
51 287 1.05183 -0.813454 26 26;
52 287 1.05183 -0.813454 26 26;
53 230 1.04287 -0.837133 26 26;
54 230 1.04048 -0.802497 26 26;
55 500 1.05779 -0.7617 26 26;
56 230 1.04058 -0.833281 26 26;
57 230 1.04059 -0.821465 26 26;
58 230 1.04267 -0.782824 26 26;
59 230 1.04935 -0.752734 90 90;
60 230 1.03068 -0.771713 24 24;
61 230 1.04229 -0.784896 26 26;
62 287 1.06562 -0.707366 26 26;
63 500 1.07102 -0.672896 26 26;
64 20 1.08 0.751048 60 62;
65 500 1.13557 0.625851 60 62;
66 115 1.04177 -0.306356 40 40;
67 230 1.03973 -0.26299 40 40;
68 500 1.08364 -0.240588 40 40;
69 20 1.03 -0.141455 40 40;
70 230 1.03577 -0.272298 90 90;
71 500 1.08226 -0.24244 40 40;
72 500 1.10766 0.0709948 60 62;
73 500 1.11555 -0.0574894 40 41;
74 500 1.09515 -0.299684 60 62;
75 500 1.11457 -0.204924 40 40;
76 20 1.04512 0 40 40;
77 500 1.1403 -0.0586762 40 41;
78 20 1.0647 0.337292 40 42;
79 500 1.11464 0.116326 40 42;
80 500 1.11137 -0.346123 40 40;
81 500 1.12109 -0.306352 40 40;
82 500 1.12407 -0.40741 40 40;
83 500 1.12132 -0.120382 61 61;
84 345 1.053 -0.0633729 61 61;
85 500 1.11895 -0.325619 40 40;
86 500 1.1295 -0.333295 40 40;
87 500 1.1179 -0.287875 40 40;
88 500 1.10339 -0.25996 40 40;
89 500 1.12464 -0.350759 40 40;
90 500 1.14661 -0.381674 40 40;
91 500 1.12366 -0.308236 40 40;
92 500 1.13655 -0.392655 40 40;
93 500 1.12813 -0.319191 40 40;
94 500 1.14647 -0.385793 40 40;
95 500 1.12341 -0.30826 40 40;
96 500 1.13621 -0.397359 40 40;
97 500 1.12758 -0.319781 40 40;
98 500 1.01905 0.0888425 40 40;
99 230 1.03177 -0.562958 39 39;
100 230 1.12739 -0.507795 39 39;
101 500 1.09283 -0.739168 38 38;
102 20 1.05077 -0.679542 38 38;
103 500 1.07607 -0.764472 38 38;
104 230 1.02175 -0.55503 39 39;
105 230 1.11621 -0.571471 39 39;
106 500 1.06808 -0.795259 39 39;
107 500 1.07043 -0.779176 38 38;
108 230 1.13261 -0.829026 38 38;
109 500 1.06526 -0.799719 39 39;
110 500 1.10947 -0.529083 80 80;
111 20 1.07075 -0.267421 39 39;
112 230 1.15677 -0.429817 39 39;
113 500 1.08067 -0.481978 39 39;
114 500 1.06166 -0.516185 39 39;
115 20 1.012 -0.576501 39 39;
116 200 1.08072 -0.6511 39 39;
117 20 1.012 -0.491677 39 39;
118 500 0.99117 -0.6343 39 39;
119 500 1.12426 -0.428367 80 80;
120 500 1.07766 -0.629619 80 80;
121 500 1.10132 -0.524613 80 80;
122 500 1.03251 -0.754851 80 80;
123 500 1.08706 -0.431355 39 39;
124 500 1.04974 -0.551521 39 39;
125 500 1.08706 -0.431355 39 39;
126 500 1.04974 -0.551521 39 39;
127 500 1.07966 -0.407515 39 39;
128 500 1.00804 -0.756956 39 39;
129 500 1.09103 -0.436997 39 39;
130 500 0.9971 -0.680059 39 39;
131 500 1.01443 -0.602472 39 39;
132 500 1.07257 -0.82793 39 39;
133 500 1.10181 -0.570916 39 39;
134 500 1.04998 -0.805614 38 38;
135 500 1.0855 -0.688028 24 24;
136 230 1.01363 -0.84926 24 24;
137 20 1.02 -0.396427 24 29;
138 500 1.07993 -0.517399 24 29;
139 20 1.009 -0.79184 24 24;
140 230 1.00194 -0.901422 24 24;
141 500 1.05985 -0.73418 24 24;
142 230 1.00314 -0.889299 24 24;
143 20 1.009 -0.717725 24 24;
144 500 1.03185 -0.795369 24 24;
145 230 1.02962 -0.803178 24 24;
146 500 1.08169 -0.45195 24 29;
147 22 1.05 -0.308309 24 24;
148 20 1.01 -0.621072 24 24;
149 230 1.01244 -0.83059 24 24;
150 500 1.04459 -0.801563 25 25;
151 500 1.06411 -0.759422 24 24;
152 500 1.06986 -0.78425 24 24;
153 230 1.00186 -0.830342 24 24;
154 345 1.06619 -0.0697434 60 65;
155 345 1.08193 -0.0777719 60 65;
156 230 1.09107 -0.0870047 60 65;
157 345 1.0337 0.0252322 60 65;
158 20 1.02 0.111104 60 65;
159 345 1.06764 -0.0686071 60 65;
160 230 1.11056 -0.0178495 60 63;
161 20 1.06159 0.0254434 60 63;
162 345 1.13174 -0.0875195 60 65;
163 345 1.15979 -0.0749479 60 65;
164 345 1.05148 -0.056622 60 65;
165 345 1.05706 -0.0557127 60 65;
166 345 1.06561 -0.070904 60 65;
167 500 1.14854 -0.34945 40 40;
168 500 1.05292 -0.54708 40 40;
169 500 1.15295 -0.337334 40 40;
170 500 1.05425 -0.547698 40 40;
171 500 1.08195 -0.318868 40 40;
172 500 1.08798 -0.61744 40 40;
173 500 1.06034 -0.773385 38 38;
174 500 1.06032 -0.790039 38 38;
175 500 1.06012 -0.773303 38 38;
176 500 1.06043 -0.790063 38 38;
177 500 1.05999 -0.773137 38 38;
178 500 1.06293 -0.789659 38 38;
179 500 1.04218 -0.144487 40 40;
180 20 1 -0.299684 40 40;
181 20 1.1085 -0.634214 39 39;
];
SW.con = [ ...
76 10522 20 1.04512 0 0.251758 -0.175822 1.1 0.9 0.556786 1 1 1;
];
PV.con = [ ...
3 1462 20 0.547196 1.01148 0.205198 -0.205198 1.1 0.9 1 1;
5 1488 20 0.704301 1.01712 0.268817 -0.268817 1.1 0.9 1 1;
8 2458 20 0.878763 1.01935 0.284784 -0.203417 1.1 0.9 1 1;
10 3000 20 0.683333 1 0.3 -0.3 1.1 0.9 1 1;
12 3540 20 0.477401 1.08081 0.19774 -0.079096 1.1 0.9 1 1;
14 3117 20 0.846968 1.03911 0.417068 -0.288739 1.1 0.9 1 1;
17 2054 20 0.468354 1.01 0.632911 -0.632911 1.1 0.9 1 1;
29 10578 20 0.420684 1.05527 0.378143 -0.378143 1.1 0.9 1 1;
34 6698.04 20 0.668852 1.02 0.794262 -0.522541 1.1 0.9 1 1;
35 2166 22 0.757156 1.06125 0.277008 -0.242382 1.1 0.9 1 1;
39 500 20 0.4 1.02393 0.536 -0.268 1.1 0.9 1 1;
42 540 20 0.601852 1.00496 0.555556 -0.407407 1.1 0.9 1 1;
44 1982 20 0.898083 1.06068 0.42886 -0.221998 1.1 0.9 1 1;
46 113 20 0.973451 1.01546 0.884956 -0.884956 1.1 0.9 1 1;
64 4830 20 0.602484 1.08 0.310629 -0.207039 1.1 0.9 1 1;
69 2822 20 0.461021 1.03 0.245216 -0.251949 1.1 0.9 1 1;
78 14469 20 0.681457 1.0647 0.399475 -0.138227 1.1 0.9 1 1;
102 1685 20 0.454006 1.05077 0.195846 -0.183976 1.1 0.9 1 1;
111 2000 20 0.5285 1.07075 0.75 -0.5 1.1 0.9 1 1;
115 895 20 0.663687 1.012 0.335196 -0.335196 1.1 0.9 1 1;
117 7913 20 0.43814 1.012 0.315936 -0.126374 1.1 0.9 1 1;
137 2104 20 0.467063 1.02 0.142586 -0.142586 1.1 0.9 1 1;
139 10871 20 0.293901 1.009 0.183976 -0.0827891 1.1 0.9 1 1;
143 3000 20 0.563333 1.009 0.333333 -0.466667 1.1 0.9 1 1;
147 3393.6 22 0.49505 1.05 0.206271 -0.0884017 1.1 0.9 1 1;
148 2500 20 0.88 1.01 0.24 -0.24 1.1 0.9 1 1;
158 2229 20 0.746972 1.02 0.224316 -0.224316 1.1 0.9 1 1;
161 832 20 0.534856 1.06159 0.138221 -0.120192 1.1 0.9 1 1;
180 2000 20 0 1 0.5 -0.5 1.1 0.9 1 1;
181 2000 20 0 1.1085 0.75 -0.75 1.1 0.9 1 1;
];
PQ.con = [ ...
1 100 500 17.5 -0.56 1.1 0.9 0 1;
3 100 20 1 0 1.1 0.9 0 1;
4 100 345 23.5 -1.27 1.1 0.9 0 1;
5 100 20 1 0 1.1 0.9 0 1;
7 100 345 2.39 -0.56 1.1 0.9 0 1;
8 100 20 1 0 1.1 0.9 0 1;
9 100 230 1.397 0.238 1.1 0.9 0 1;
10 100 20 1 0 1.1 0.9 0 1;
11 100 500 0.9 0.7 1.1 0.9 0 1;
12 100 20 1 0 1.1 0.9 0 1;
14 100 20 1 0 1.1 0.9 0 1;
15 100 500 7.934 2.07 1.1 0.9 0 1;
16 100 345 8.4 0.05 1.1 0.9 0 1;
17 100 20 1 0 1.1 0.9 0 1;
18 100 500 6.17 -0.69 1.1 0.9 0 1;
29 100 20 1 0 1.1 0.9 0 1;
30 100 500 44 10 1.1 0.9 0 1;
33 100 230 36 7 1.1 0.9 0 1;
34 100 20 1 0 1.1 0.9 0 1;
35 100 22 1 0 1.1 0.9 0 1;
36 100 500 -18.62 9.71 1.1 0.9 0 1;
39 100 20 1 0 1.1 0.9 0 1;
40 100 230 1.35 0.27 1.1 0.9 0 1;
42 100 20 1 0 1.1 0.9 0 1;
43 100 345 20.53 9.071 1.1 0.9 0 1;
44 100 20 1 0 1.1 0.9 0 1;
45 100 230 -0.728 -0.17 1.1 0.9 0 1;
46 100 20 1 0 1.1 0.9 0 1;
47 100 230 1.21 0.25 1.1 0.9 0 1;
49 100 230 3.2 0.65 1.1 0.9 0 1;
50 100 138 2.372 -0.632 1.1 0.9 0 1;
53 100 230 1.38 0.28 1.1 0.9 0 1;
54 100 230 8.078 1.321 1.1 0.9 0 1;
56 100 230 1.17 0.24 1.1 0.9 0 1;
57 100 230 1.21 0.25 1.1 0.9 0 1;
58 100 230 8.877 -0.062 1.1 0.9 0 1;
59 100 230 -27.71 16.54 1.1 0.9 0 1;
60 100 230 4.01 0.806 1.1 0.9 0 1;
61 100 230 2.052 0.176 1.1 0.9 0 1;
62 100 287 -1.29 0.322 1.1 0.9 0 1;
64 100 20 1 0 1.1 0.9 0 1;
65 100 500 17 3 1.1 0.9 0 1;
66 100 115 1.6 0.3125 1.1 0.9 0 1;
67 100 230 -0.675 1.6 1.1 0.9 0 1;
68 100 500 -0.442 0.22 1.1 0.9 0 1;
69 100 20 1 0 1.1 0.9 0 1;
70 100 230 31.37 16.81 1.1 0.9 0 1;
72 100 500 -15.25 -0.5 1.1 0.9 0 1;
74 100 500 25.84 3.94 1.1 0.9 0 1;
75 100 500 32 11 1.1 0.9 0 1;
76 100 20 1 0 1.1 0.9 0 1;
77 100 500 35 5 1.1 0.9 0 1;
78 100 20 1 0 1.1 0.9 0 1;
79 100 500 50 4 1.1 0.9 0 1;
81 100 500 -0.666 -0.97 1.1 0.9 0 1;
82 100 500 -3.39 -1.19 1.1 0.9 0 1;
84 100 345 6.1 -4.14 1.1 0.9 0 1;
99 100 230 -0.433 0.2 1.1 0.9 0 1;
100 100 230 2.104 -0.77 1.1 0.9 0 1;
101 100 500 0.5 0.25 1.1 0.9 0 1;
102 100 20 1 0 1.1 0.9 0 1;
103 100 500 3.05 -0.076 1.1 0.9 0 1;
104 100 230 0.275 -0.001 1.1 0.9 0 1;
105 100 230 0.0801 0 1.1 0.9 0 1;
106 100 500 2.65 0.14 1.1 0.9 0 1;
107 100 500 0.556 -3.29 1.1 0.9 0 1;
108 100 230 7.776 0.326 1.1 0.9 0 1;
109 100 500 0.4 0.215 1.1 0.9 0 1;
110 100 500 -1.89 0.615 1.1 0.9 0 1;
111 100 20 1 0 1.1 0.9 0 1;
112 100 230 1.48 0 1.1 0.9 0 1;
114 100 500 -0.007 1.185 1.1 0.9 0 1;
115 100 20 1 0 1.1 0.9 0 1;
116 100 200 8.84 0.548 1.1 0.9 0 1;
117 100 20 1 0 1.1 0.9 0 1;
118 100 500 57.61 34.91 1.1 0.9 0 1;
135 100 500 8.56 0.196 1.1 0.9 0 1;
136 100 230 1.75 0.18 1.1 0.9 0 1;
137 100 20 1 0 1.1 0.9 0 1;
138 100 500 9.023 -0.114 1.1 0.9 0 1;
139 100 20 1 0 1.1 0.9 0 1;
140 100 230 31.91 6.3 1.1 0.9 0 1;
141 100 500 2.042 -0.282 1.1 0.9 0 1;
142 100 230 3.774 0.645 1.1 0.9 0 1;
143 100 20 1 0 1.1 0.9 0 1;
144 100 500 30.98 11.89 1.1 0.9 0 1;
147 100 22 1 0 1.1 0.9 0 1;
148 100 20 1 0 1.1 0.9 0 1;
149 100 230 31.18 0.78 1.1 0.9 0 1;
150 100 500 12.3 0.728 1.1 0.9 0 1;
151 100 500 4.06 0.41 1.1 0.9 0 1;
153 100 230 10.66 -0.108 1.1 0.9 0 1;
154 100 345 4.577 0.817 1.1 0.9 0 1;
155 100 345 0.339 0.119 1.1 0.9 0 1;
156 100 230 1.48 -0.079 1.1 0.9 0 1;
157 100 345 1.161 0.384 1.1 0.9 0 1;
158 100 20 1 0 1.1 0.9 0 1;
159 100 345 -0.62 0.128 1.1 0.9 0 1;
160 100 230 2.55 1 1.1 0.9 0 1;
161 100 20 1 0 1.1 0.9 0 1;
163 100 345 0.316 0.115 1.1 0.9 0 1;
164 100 345 1.412 0.714 1.1 0.9 0 1;
165 100 345 3.79 -0.43 1.1 0.9 0 1;
166 100 345 1.85 0.785 1.1 0.9 0 1;
2 100 345 0 0 1.1 0.9 0 1;
6 100 500 0 0 1.1 0.9 0 1;
13 100 500 0 0 1.1 0.9 0 1;
19 100 500 0 0 1.1 0.9 0 1;
20 100 500 0 0 1.1 0.9 0 1;
21 100 500 0 0 1.1 0.9 0 1;
22 100 500 0 0 1.1 0.9 0 1;
23 100 500 0 0 1.1 0.9 0 1;
24 100 500 0 0 1.1 0.9 0 1;
25 100 500 0 0 1.1 0.9 0 1;
26 100 500 0 0 1.1 0.9 0 1;
27 100 500 0 0 1.1 0.9 0 1;
28 100 500 0 0 1.1 0.9 0 1;
31 100 500 0 0 1.1 0.9 0 1;
32 100 230 0 0 1.1 0.9 0 1;
37 100 500 0 0 1.1 0.9 0 1;
38 100 230 0 0 1.1 0.9 0 1;
41 100 230 0 0 1.1 0.9 0 1;
48 100 500 0 0 1.1 0.9 0 1;
51 100 287 0 0 1.1 0.9 0 1;
52 100 287 0 0 1.1 0.9 0 1;
55 100 500 0 0 1.1 0.9 0 1;
63 100 500 0 0 1.1 0.9 0 1;
71 100 500 0 0 1.1 0.9 0 1;
73 100 500 0 0 1.1 0.9 0 1;
80 100 500 0 0 1.1 0.9 0 1;
83 100 500 0 0 1.1 0.9 0 1;
85 100 500 0 0 1.1 0.9 0 1;
86 100 500 0 0 1.1 0.9 0 1;
87 100 500 0 0 1.1 0.9 0 1;
88 100 500 0 0 1.1 0.9 0 1;
89 100 500 0 0 1.1 0.9 0 1;
90 100 500 0 0 1.1 0.9 0 1;
91 100 500 0 0 1.1 0.9 0 1;
92 100 500 0 0 1.1 0.9 0 1;
93 100 500 0 0 1.1 0.9 0 1;
94 100 500 0 0 1.1 0.9 0 1;
95 100 500 0 0 1.1 0.9 0 1;
96 100 500 0 0 1.1 0.9 0 1;
97 100 500 0 0 1.1 0.9 0 1;
98 100 500 0 0 1.1 0.9 0 1;
113 100 500 0 0 1.1 0.9 0 1;
119 100 500 0 0 1.1 0.9 0 1;
120 100 500 0 0 1.1 0.9 0 1;
121 100 500 0 0 1.1 0.9 0 1;
122 100 500 0 0 1.1 0.9 0 1;
123 100 500 0 0 1.1 0.9 0 1;
124 100 500 0 0 1.1 0.9 0 1;
125 100 500 0 0 1.1 0.9 0 1;
126 100 500 0 0 1.1 0.9 0 1;
127 100 500 0 0 1.1 0.9 0 1;
128 100 500 0 0 1.1 0.9 0 1;
129 100 500 0 0 1.1 0.9 0 1;
130 100 500 0 0 1.1 0.9 0 1;
131 100 500 0 0 1.1 0.9 0 1;
132 100 500 0 0 1.1 0.9 0 1;
133 100 500 0 0 1.1 0.9 0 1;
134 100 500 0 0 1.1 0.9 0 1;
145 100 230 0 0 1.1 0.9 0 1;
146 100 500 0 0 1.1 0.9 0 1;
152 100 500 0 0 1.1 0.9 0 1;
162 100 345 0 0 1.1 0.9 0 1;
167 100 500 0 0 1.1 0.9 0 1;
168 100 500 0 0 1.1 0.9 0 1;
169 100 500 0 0 1.1 0.9 0 1;
170 100 500 0 0 1.1 0.9 0 1;
171 100 500 0 0 1.1 0.9 0 1;
172 100 500 0 0 1.1 0.9 0 1;
173 100 500 0 0 1.1 0.9 0 1;
174 100 500 0 0 1.1 0.9 0 1;
175 100 500 0 0 1.1 0.9 0 1;
176 100 500 0 0 1.1 0.9 0 1;
177 100 500 0 0 1.1 0.9 0 1;
178 100 500 0 0 1.1 0.9 0 1;
179 100 500 0 0 1.1 0.9 0 1;
];
Shunt.con = [ ...
6 100 500 60 0 -1.13 1;
7 100 345 60 0 -1.55 1;
11 100 500 60 0 -1.9 1;
13 100 500 60 0 -3.91 1;
15 100 500 60 0 -1.46 1;
16 100 345 60 0 3.9 1;
18 100 500 60 0 -4.27 1;
25 100 500 60 0 1 1;
31 100 500 60 0 -6 1;
32 100 230 60 0 6 1;
36 100 500 60 0 9.12 1;
40 100 230 60 0 1 1;
43 100 345 60 0 4.3 1;
48 100 500 60 0 -0.8 1;
59 100 230 60 0 21.46 1;
62 100 287 60 0 -1.08 1;
64 100 20 60 0 10 1;
65 100 500 60 0 -2 1;
67 100 230 60 0 1 1;
69 100 20 60 0 5 1;
70 100 230 60 0 1 1;
71 100 500 60 0 1 1;
72 100 500 60 0 -12.5 1;
73 100 500 60 0 -2 1;
74 100 500 60 0 8.5 1;
75 100 500 60 0 12 1;
77 100 500 60 0 15 1;
79 100 500 60 0 1 1;
80 100 500 60 0 -2.2 1;
81 100 500 60 0 -6.74 1;
82 100 500 60 0 2 1;
83 100 500 60 0 -2.2 1;
84 100 345 60 0 -8.7 1;
99 100 230 60 0 -1 1;
103 100 500 60 0 -0.91 1;
104 100 230 60 0 -1.5 1;
107 100 500 60 0 -3.27 1;
108 100 230 60 0 -6 1;
110 100 500 60 0 -1 1;
111 100 20 60 0 -6.25 1;
112 100 230 60 0 -1.25 1;
113 100 500 60 0 -0.91 1;
114 100 500 60 0 -0.91 1;
115 100 20 60 0 2 1;
116 100 200 60 0 -2.32 1;
117 100 20 60 0 5 1;
118 100 500 60 0 45 1;
122 100 500 60 0 -7 1;
128 100 500 60 0 -3 1;
130 100 500 60 0 -5 1;
131 100 500 60 0 -5 1;
133 100 500 60 0 -9 1;
137 100 20 60 0 -0.5 1;
138 100 500 60 0 -3.19 1;
144 100 500 60 0 4 1;
146 100 500 60 0 -1.96 1;
153 100 230 60 0 -1.9 1;
154 100 345 60 0 -0.6 1;
157 100 345 60 0 -2.2 1;
163 100 345 60 0 2 1;
165 100 345 60 0 -0.5 1;
171 100 500 60 0 3 1;
172 100 500 60 0 2 1;
179 100 500 60 0 -2.2 1;
];
Line.con = [ ...
2 7 100 345 60 0 0 0.00179 0.01988 2.576 0 0 0 0 0 1;
2 7 100 345 60 0 0 0.00179 0.01988 2.576 0 0 0 0 0 1;
4 16 100 345 60 0 0 0.01954 0.2 1 0 0 0 0 0 1;
4 16 100 345 60 0 0 0.01954 0.2 1 0 0 0 0 0 1;
4 159 100 345 60 0 0 0.00811 0.1369 2.4348 0 0 0 0 0 1;
6 27 100 500 60 0 0 -0 -0.00818 0 0 0 0 0 0 1;
6 27 100 500 60 0 0 -0 -0.00818 0 0 0 0 0 0 1;
7 16 100 345 60 0 0 0.001 0.0106 0.0441 0 0 0 0 0 1;
7 16 100 345 60 0 0 0.001 0.0106 0.0441 0 0 0 0 0 1;
7 162 100 345 60 0 0 0.0048 0.0436 0.7078 0 0 0 0 0 1;
11 19 100 500 60 0 0 -0 -0.00634 0 0 0 0 0 0 1;
11 21 100 500 60 0 0 -0 -0.01188 0 0 0 0 0 0 1;
11 138 100 500 60 0 0 0.0028 0.0211 1.0194 0 0 0 0 16.3 1;
13 20 100 500 60 0 0 -0 -0.00634 0 0 0 0 0 0 1;
13 23 100 500 60 0 0 -0 -0.00826 0 0 0 0 0 0 1;
13 25 100 500 60 0 0 -0 -0.01795 0 0 0 0 0 0 1;
13 28 100 500 60 0 0 -0 -0.02224 0 0 0 0 0 0 1;
13 28 100 500 60 0 0 -0 -0.02224 0 0 0 0 0 0 1;
15 18 100 500 60 0 0 0.0004 0.0096 0.9038 0 0 0 0 0 1;
15 18 100 500 60 0 0 0.0004 0.0096 0.9038 0 0 0 0 0 1;
15 135 100 500 60 0 0 0.00259 0.02967 2.153 0 0 0 0 18 1;
15 135 100 500 60 0 0 0.00259 0.02967 2.153 0 0 0 0 18 1;
18 22 100 500 60 0 0 -0 -0.01188 0 0 0 0 0 0 1;
18 24 100 500 60 0 0 -0 -0.00826 0 0 0 0 0 0 1;
19 20 100 500 60 0 0 0.00077 0.01804 1.3984 0 0 0 0 0 1;
21 22 100 500 60 0 0 0.00241 0.05865 4.8656 0 0 0 0 0 1;
23 24 100 500 60 0 0 0.00179 0.04244 3.3922 0 0 0 0 0 1;
25 26 100 500 60 0 0 0.00207 0.04959 3.9516 0 0 0 0 0 1;
26 138 100 500 60 0 0 -0 -0.01795 0 0 0 0 0 0 1;
27 28 100 500 60 0 0 0.00354 0.0837 3.3446 0 0 0 0 0 1;
27 28 100 500 60 0 0 0.00354 0.0837 3.3446 0 0 0 0 0 1;
30 31 100 500 60 0 0 0.0105 0.21 1.506 0 0 0 0 0 1;
30 31 100 500 60 0 0 0.0105 0.21 1.506 0 0 0 0 0 1;
30 31 100 500 60 0 0 0.0105 0.21 1.506 0 0 0 0 0 1;
30 79 100 500 60 0 0 0.00166 0.0478 1.65 0 0 0 0 0 1;
30 79 100 500 60 0 0 0.00166 0.0478 1.65 0 0 0 0 0 1;
32 33 100 230 60 0 0 0.004 0.04 0.8 0 0 0 0 0 1;
32 33 100 230 60 0 0 0.004 0.04 0.8 0 0 0 0 0 1;
36 37 100 500 60 0 0 0.00074 0.01861 1.4026 0 0 0 0 0 1;
36 55 100 500 60 0 0 0.00082 0.01668 1.188 0 0 0 0 0 1;
36 63 100 500 60 0 0 -0 0.00159 0.12002 0 0 0 0 0 1;
36 63 100 500 60 0 0 -0 0.00159 0.12002 0 0 0 0 0 1;
38 45 100 230 60 0 0 0.00221 0.03346 0.07338 0 0 0 0 0 1;
38 47 100 230 60 0 0 0.0029 0.038 0.0824 0 0 0 0 0 1;
38 58 100 230 60 0 0 0.00309 0.04677 0.1008 0 0 0 0 0 1;
38 59 100 230 60 0 0 0.00226 0.03422 0.07506 0 0 0 0 0 1;
40 54 100 230 60 0 0 0.00047 0.00723 0.01624 0 0 0 0 0 1;
40 57 100 230 60 0 0 0.00035 0.00536 0.01204 0 0 0 0 0 1;
41 49 100 230 60 0 0 0.0022 0.03422 0.07716 0 0 0 0 0 1;
41 49 100 230 60 0 0 0.00238 0.03669 0.08284 0 0 0 0 0 1;
41 56 100 230 60 0 0 0.00201 0.03074 0.06886 0 0 0 0 0 1;
41 57 100 230 60 0 0 0.00281 0.04296 0.09648 0 0 0 0 0 1;
43 159 100 345 60 0 0 0.0018 0.0245 0.4392 0 0 0 0 0 1;
43 159 100 345 60 0 0 0.0018 0.0245 0.4392 0 0 0 0 0 1;
45 47 100 230 60 0 0 0.00029 0.00434 0.0095 0 0 0 0 0 1;
47 54 100 230 60 0 0 0.00229 0.01583 0.0306 0 0 0 0 0 1;
47 54 100 230 60 0 0 0.00229 0.01583 0.0306 0 0 0 0 0 1;
47 58 100 230 60 0 0 0.00141 0.00967 0.0194 0 0 0 0 0 1;
47 58 100 230 60 0 0 0.00141 0.00967 0.0194 0 0 0 0 0 1;
47 58 100 230 60 0 0 0.00161 0.00971 0.01928 0 0 0 0 0 1;
47 58 100 230 60 0 0 0.00161 0.00971 0.01928 0 0 0 0 0 1;
47 59 100 230 60 0 0 0.00027 0.00393 0.00918 0 0 0 0 0 1;
47 59 100 230 60 0 0 0.00027 0.00393 0.00918 0 0 0 0 0 1;
47 59 100 230 60 0 0 0.00027 0.00393 0.00918 0 0 0 0 0 1;
47 61 100 230 60 0 0 0.00138 0.01116 0.0247 0 0 0 0 0 1;
47 61 100 230 60 0 0 0.00138 0.01116 0.0247 0 0 0 0 0 1;
48 63 100 500 60 0 0 0.00083 0.01884 1.6667 0 0 0 0 0 1;
49 56 100 230 60 0 0 0.00037 0.00366 0.0083 0 0 0 0 0 1;
49 57 100 230 60 0 0 0.00055 0.00586 0.01246 0 0 0 0 0 1;
51 62 100 287 60 0 0 0.0107 0.07905 0.3667 0 0 0 0 0 1;
52 62 100 287 60 0 0 0.0107 0.07905 0.3667 0 0 0 0 0 1;
53 56 100 230 60 0 0 0.00073 0.01025 0.02558 0 0 0 0 0 1;
53 56 100 230 60 0 0 0.00073 0.01025 0.02558 0 0 0 0 0 1;
54 57 100 230 60 0 0 0.00119 0.01244 0.02798 0 0 0 0 0 1;
54 57 100 230 60 0 0 0.00119 0.01244 0.02798 0 0 0 0 0 1;
54 61 100 230 60 0 0 0.00128 0.00979 0.0212 0 0 0 0 0 1;
56 57 100 230 60 0 0 0.0011 0.01189 0.02514 0 0 0 0 0 1;
60 136 100 230 60 0 0 0.0014 0.0264 0.102 0 0 0 0 30.7 1;
60 149 100 230 60 0 0 0.00065 0.01187 0.04672 0 0 0 0 30.7 1;
60 149 100 230 60 0 0 0.00065 0.01187 0.04672 0 0 0 0 30.7 1;
63 138 100 500 60 0 0 0.00179 0.02524 0.53546 0 0 0 0 0 1;
63 138 100 500 60 0 0 0.00179 0.02524 0.53546 0 0 0 0 0 1;
63 141 100 500 60 0 0 0.0002 0.0041 0.2962 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
65 77 100 500 60 0 0 0.0056 0.592 0.61 0 0 0 0 0 1;
67 70 100 230 60 0 0 6e-05 0.00131 0.00378 0 0 0 0 30.2 1;
67 70 100 230 60 0 0 6e-05 0.00116 0.00332 0 0 0 0 30.2 1;
68 71 100 500 60 0 0 1e-05 0.0003 0.01434 0 0 0 0 34.5 1;
68 71 100 500 60 0 0 1e-05 0.0003 0.01844 0 0 0 0 34.5 1;
68 75 100 500 60 0 0 0.00023 0.00451 0.3332 0 0 0 0 21.75 1;
68 75 100 500 60 0 0 0.0002 0.00446 0.305 0 0 0 0 21.75 1;
72 74 100 500 60 0 0 0.0716 0.0562 0.92 0 0 0 0 0 1;
72 74 100 500 60 0 0 0.0716 0.0562 0.92 0 0 0 0 0 1;
72 74 100 500 60 0 0 0.0716 0.0562 0.92 0 0 0 0 0 1;
72 74 100 500 60 0 0 0.0716 0.0562 0.92 0 0 0 0 0 1;
73 77 100 500 60 0 0 0.00113 0.02069 1.8553 0 0 0 0 0 1;
74 75 100 500 60 0 0 0.00392 0.06608 0.94 0 0 0 0 0 1;
74 75 100 500 60 0 0 0.00392 0.06608 0.94 0 0 0 0 0 1;
74 77 100 500 60 0 0 0.00568 0.0932 0.47 0 0 0 0 0 1;
74 77 100 500 60 0 0 0.00568 0.0932 0.47 0 0 0 0 0 1;
74 77 100 500 60 0 0 0.00568 0.0932 0.47 0 0 0 0 0 1;
74 77 100 500 60 0 0 0.00568 0.0932 0.47 0 0 0 0 0 1;
75 77 100 500 60 0 0 0.0012 0.02316 1.7152 0 0 0 0 0 1;
75 77 100 500 60 0 0 0.0003 0.02 3.6 0 0 0 0 0 1;
75 81 100 500 60 0 0 0.00063 0.01412 1.0976 0 0 0 0 34.5 1;
75 81 100 500 60 0 0 0.00109 0.02408 1.5554 0 0 0 0 30.2 1;
75 81 100 500 60 0 0 0.00108 0.02409 1.5535 0 0 0 0 30.2 1;
77 79 100 500 60 0 0 0.0004 0.0162 0.65 0 0 0 0 0 1;
77 79 100 500 60 0 0 0.0004 0.0162 0.65 0 0 0 0 0 1;
77 79 100 500 60 0 0 0.0004 0.0162 0.65 0 0 0 0 0 1;
77 79 100 500 60 0 0 0.0004 0.0162 0.65 0 0 0 0 0 1;
80 98 100 500 60 0 0 0.00528 0.10712 2.64535 0 0 0 0 36 1;
80 98 100 500 60 0 0 0.00528 0.10712 2.64535 0 0 0 0 36 1;
80 179 100 500 60 0 0 -0 -0.05334 0 0 0 0 0 17.32 1;
80 179 100 500 60 0 0 -0 -0.05334 0 0 0 0 0 17.32 1;
81 86 100 500 60 0 0 0.00041 0.00737 0.72694 0 0 0 0 34.5 1;
81 90 100 500 60 0 0 0.00066 0.01266 0.95976 0 0 0 0 30.2 1;
81 94 100 500 60 0 0 0.00066 0.01266 0.95976 0 0 0 0 30.2 1;
82 88 100 500 60 0 0 0.00072 0.01382 1.2757 0 0 0 0 36 1;
82 93 100 500 60 0 0 0.00078 0.01502 1.1381 0 0 0 0 30.2 1;
82 97 100 500 60 0 0 0.00074 0.01413 1.0663 0 0 0 0 30.2 1;
82 167 100 500 60 0 0 -0 -0.0072 0 0 0 0 0 18 1;
82 169 100 500 60 0 0 -0 -0.00864 0 0 0 0 0 18 1;
82 171 100 500 60 0 0 -0 -0.01 0 0 0 0 0 0 1;
83 98 100 500 60 0 0 -0 -0.05334 0 0 0 0 0 17.32 1;
83 98 100 500 60 0 0 -0 -0.05334 0 0 0 0 0 17.32 1;
84 155 100 345 60 0 0 0.0062 0.0673 1.1156 0 0 0 0 0 1;
84 155 100 345 60 0 0 0.0062 0.0673 1.1156 0 0 0 0 0 1;
85 87 100 500 60 0 0 0.0006 0.01036 1.0146 0 0 0 0 34.5 1;
85 89 100 500 60 0 0 0.00012 0.00238 0.21926 0 0 0 0 36 1;
85 179 100 500 60 0 0 0.00244 0.04746 1.10355 0 0 0 0 36 1;
85 179 100 500 60 0 0 0.00244 0.04746 1.10355 0 0 0 0 36 1;
86 87 100 500 60 0 0 -0 -0.01263 0 0 0 0 0 20 1;
88 89 100 500 60 0 0 -0 -0.00858 0 0 0 0 0 20 1;
90 91 100 500 60 0 0 -0 -0.01263 0 0 0 0 0 24 1;
91 92 100 500 60 0 0 0.00074 0.01428 1.0822 0 0 0 0 30.2 1;
92 93 100 500 60 0 0 -0 -0.01263 0 0 0 0 0 24 1;
94 95 100 500 60 0 0 -0 -0.01263 0 0 0 0 0 20 1;
95 96 100 500 60 0 0 0.00074 0.01428 1.0822 0 0 0 0 30.2 1;
96 97 100 500 60 0 0 -0 -0.01263 0 0 0 0 0 20 1;
99 100 100 230 60 0 0 0.02482 0.16938 0.20232 0 0 0 0 8.38 1;
99 116 100 230 60 0 0 0.0148 0.10101 0.12066 0 0 0 0 8.38 1;
100 104 100 230 60 0 0 0.01382 0.09268 0.1106 0 0 0 0 7.47 1;
100 105 100 230 60 0 0 0.01668 0.11381 0.13608 0 0 0 0 8.38 1;
100 112 100 230 60 0 0 0.01113 0.06678 0.07286 0 0 0 0 7.52 1;
100 112 100 230 60 0 0 0.0105 0.0654 0.0686 0 0 0 0 6.02 1;
100 112 100 230 60 0 0 0.01105 0.06642 0.0716 0 0 0 0 7.52 1;
100 116 100 230 60 0 0 0.03903 0.27403 0.31072 0 0 0 0 7.47 1;
101 103 100 500 60 0 0 0.00079 0.01937 1.3285 0 0 0 0 0 1;
101 107 100 500 60 0 0 0.00087 0.02087 1.4571 0 0 0 0 0 1;
101 107 100 500 60 0 0 0.00087 0.02087 1.4571 0 0 0 0 0 1;
103 106 100 500 60 0 0 0.00083 0.01985 0 0 0 0 0 24.5 1;
103 133 100 500 60 0 0 0.00093 0.03644 1.3895 0 0 0 0 24.5 1;
103 134 100 500 60 0 0 0.00072 0.016 1.0879 0 0 0 0 24.5 1;
104 116 100 230 60 0 0 0.03058 0.2046 0.24472 0 0 0 0 7.47 1;
105 116 100 230 60 0 0 0.02235 0.16106 0.18342 0 0 0 0 8.38 1;
106 107 100 500 60 0 0 0.00153 0.0147 0 0 0 0 0 15.6 1;
106 109 100 500 60 0 0 0.00053 0.01297 0 0 0 0 0 24.5 1;
107 132 100 500 60 0 0 2e-05 -0.01331 0 0 0 0 0 18 1;
107 134 100 500 60 0 0 2e-05 -0.00998 0 0 0 0 0 24.5 1;
107 173 100 500 60 0 0 -0 -0.00935 0 0 0 0 0 21.34 1;
107 175 100 500 60 0 0 -0 -0.00944 0 0 0 0 0 21.34 1;
107 177 100 500 60 0 0 -0 -0.00935 0 0 0 0 0 21.34 1;
110 119 100 500 60 0 0 -0 -0.04 0 0 0 0 0 26.67 1;
110 119 100 500 60 0 0 -0 -0.04 0 0 0 0 0 26.67 1;
110 119 100 500 60 0 0 -0 -0.04 0 0 0 0 0 26.67 1;
110 119 100 500 60 0 0 -0 -0.04 0 0 0 0 0 26.67 1;
110 172 100 500 60 0 0 -0 -0.01 0 0 0 0 0 0 1;
113 114 100 500 60 0 0 0.00072 0.00346 0 0 0 0 0 0 1;
113 123 100 500 60 0 0 2e-05 -0.00998 0 0 0 0 0 18 1;
113 125 100 500 60 0 0 2e-05 -0.00998 0 0 0 0 0 18 1;
113 168 100 500 60 0 0 -0 -0.0072 0 0 0 0 0 18 1;
113 170 100 500 60 0 0 -0 -0.0072 0 0 0 0 0 18 1;
114 124 100 500 60 0 0 1e-05 -0.00666 0 0 0 0 0 18 1;
114 126 100 500 60 0 0 1e-05 -0.00666 0 0 0 0 0 18 1;
114 127 100 500 60 0 0 1e-05 -0.0112 0 0 0 0 0 26.67 1;
114 129 100 500 60 0 0 1e-05 -0.0072 0 0 0 0 0 26.67 1;
118 122 100 500 60 0 0 -0 -0.02 0 0 0 0 0 26.67 1;
118 122 100 500 60 0 0 -0 -0.02 0 0 0 0 0 26.67 1;
118 128 100 500 60 0 0 1e-05 -0.0112 0 0 0 0 0 26.67 1;
118 130 100 500 60 0 0 1e-05 -0.0036 0 0 0 0 0 26.67 1;
118 131 100 500 60 0 0 1e-05 -0.00755 0 0 0 0 0 0 1;
118 133 100 500 60 0 0 1e-05 -0.01098 0 0 0 0 0 24.5 1;
119 120 100 500 60 0 0 0.00152 0.03904 0.91225 0 0 0 0 28.94 1;
119 120 100 500 60 0 0 0.00152 0.03904 0.91225 0 0 0 0 28.94 1;
120 121 100 500 60 0 0 -0 -0.02 0 0 0 0 0 26.67 1;
120 121 100 500 60 0 0 -0 -0.02 0 0 0 0 0 26.67 1;
121 122 100 500 60 0 0 0.00368 0.08476 0.49211 0 0 0 0 28.94 1;
121 122 100 500 60 0 0 0.00368 0.08476 0.49211 0 0 0 0 28.94 1;
121 122 100 500 60 0 0 0.00368 0.08476 0.49211 0 0 0 0 28.94 1;
121 122 100 500 60 0 0 0.00368 0.08476 0.49211 0 0 0 0 28.94 1;
123 124 100 500 60 0 0 0.0014 0.02338 1.475 0 0 0 0 23.96 1;
125 126 100 500 60 0 0 0.0014 0.02338 1.475 0 0 0 0 23.96 1;
127 128 100 500 60 0 0 0.00154 0.03409 2.3114 0 0 0 0 24.5 1;
129 130 100 500 60 0 0 0.00095 0.02102 1.4252 0 0 0 0 24.5 1;
131 132 100 500 60 0 0 0.00165 0.05719 2.4774 0 0 0 0 24.5 1;
135 151 100 500 60 0 0 0.00042 0.00905 0.66794 0 0 0 0 36 1;
136 142 100 230 60 0 0 0.0019 0.0258 0.0984 0 0 0 0 23.2 1;
136 149 100 230 60 0 0 0.00845 0.07034 0.15954 0 0 0 0 11.6 1;
138 141 100 500 60 0 0 0.00193 0.02779 4.6712 0 0 0 0 36 1;
138 146 100 500 60 0 0 0.00056 0.01415 1.0429 0 0 0 0 36 1;
140 142 100 230 60 0 0 0.0022 0.0254 0.024 0 0 0 0 23.2 1;
140 142 100 230 60 0 0 0.0022 0.0254 0.024 0 0 0 0 23.2 1;
141 144 100 500 60 0 0 0.00028 0.00753 0.51736 0 0 0 0 36 1;
141 144 100 500 60 0 0 0.00035 0.0075 0.5536 0 0 0 0 36 1;
141 146 100 500 60 0 0 0.0019 0.031 4.1402 0 0 0 0 36 1;
141 150 100 500 60 0 0 0.0006 0.0128 0.9462 0 0 0 0 36 1;
141 152 100 500 60 0 0 0.00044 0.01125 0.8292 0 0 0 0 36 1;
141 152 100 500 60 0 0 0.00044 0.01125 0.8292 0 0 0 0 36 1;
142 145 100 230 60 0 0 0.00138 0.05399 0.15252 0 0 0 0 23.2 1;
142 153 100 230 60 0 0 0.0032 0.0395 0.144 0 0 0 0 23.2 1;
144 150 100 500 60 0 0 0.00042 0.00914 0.16118 0 0 0 0 36 1;
144 150 100 500 60 0 0 0.00042 0.00914 0.16118 0 0 0 0 36 1;
149 153 100 230 60 0 0 0.00285 0.03649 0.12656 0 0 0 0 23.2 1;
149 153 100 230 60 0 0 0.00138 0.03399 0.11252 0 0 0 0 23.2 1;
150 151 100 500 60 0 0 0.0004 0.0093 0.6856 0 0 0 0 36 1;
152 174 100 500 60 0 0 -0 -0.00935 0 0 0 0 0 21.34 1;
152 176 100 500 60 0 0 -0 -0.00935 0 0 0 0 0 21.34 1;
152 178 100 500 60 0 0 -0 -0.0084 0 0 0 0 0 21 1;
154 155 100 345 60 0 0 0.0024 0.0332 0.5849 0 0 0 0 0 1;
154 157 100 345 60 0 0 0.0052 0.0602 1.01 0 0 0 0 0 1;
154 157 100 345 60 0 0 0.0049 0.0537 0.8843 0 0 0 0 0 1;
154 159 100 345 60 0 0 0.0017 0.00225 0.3992 0 0 0 0 0 1;
154 159 100 345 60 0 0 0.0021 0.00238 0.3845 0 0 0 0 0 1;
154 159 100 345 60 0 0 0.0017 0.00225 0.3992 0 0 0 0 0 1;
154 159 100 345 60 0 0 0.0021 0.00238 0.3845 0 0 0 0 0 1;
154 164 100 345 60 0 0 0.0012 0.0172 0.2987 0 0 0 0 0 1;
154 166 100 345 60 0 0 0.0008 0.00106 0.2039 0 0 0 0 0 1;
154 166 100 345 60 0 0 0.0008 0.00106 0.2039 0 0 0 0 0 1;
155 166 100 345 60 0 0 0.0016 0.0226 0.381 0 0 0 0 0 1;
156 160 100 230 60 0 0 0.0216 0.191 0.3296 0 0 0 0 0 1;
156 160 100 230 60 0 0 0.0216 0.191 0.3296 0 0 0 0 0 1;
157 159 100 345 60 0 0 0.0032 0.0349 0.5722 0 0 0 0 0 1;
157 163 100 345 60 0 0 0.0096 0.0878 1.4265 0 0 0 0 0 1;
157 164 100 345 60 0 0 0.0034 0.0392 0.6524 0 0 0 0 0 1;
157 165 100 345 60 0 0 0.0034 0.0374 0.6208 0 0 0 0 0 1;
157 165 100 345 60 0 0 0.0034 0.0372 0.6182 0 0 0 0 0 1;
159 165 100 345 60 0 0 0.0038 0.034 0.5824 0 0 0 0 0 1;
159 165 100 345 60 0 0 0.0032 0.0349 0.5722 0 0 0 0 0 1;
167 168 100 500 60 0 0 0.00103 0.02338 1.5804 0 0 0 0 30.2 1;
169 170 100 500 60 0 0 0.00107 0.0247 1.527 0 0 0 0 30.2 1;
171 172 100 500 60 0 0 0.00103 0.0323 2.796 0 0 0 0 0 1;
173 174 100 500 60 0 0 0.00123 0.02659 1.987 0 0 0 0 36 1;
175 176 100 500 60 0 0 0.00123 0.02662 1.9888 0 0 0 0 36 1;
177 178 100 500 60 0 0 0.00112 0.02517 1.8359 0 0 0 0 36 1;
1 2 100 500 60 0 1.44928 -0 0.0146 0 1 0 0 0 0 1;
1 3 100 500 60 0 25 -0 0.0173 0 0.9545 0 0 0 0 1;
4 5 100 345 60 0 17.25 -0 0.01238 0 1 0 0 0 0 1;
4 10 100 345 60 0 17.25 -0 0.015 0 1 0 0 0 0 1;
6 7 100 500 60 0 1.44928 -0 0.011 0 1.063 0 0 0 0 1;
6 7 100 500 60 0 1.44928 -0 0.011 0 1.063 0 0 0 0 1;
7 8 100 345 60 0 17.25 -0 0.0059 0 1 0 0 0 30 1;
7 9 100 345 60 0 1.5 0.00028 0.0138 0 1 0 0 0 4.3 1;
7 9 100 345 60 0 1.5 0.00029 0.0139 0 1 0 0 0 4.3 1;
11 12 100 500 60 0 25 -0 0.00666 0 1.08 0 0 0 20 1;
15 14 100 500 60 0 25 6e-05 0.00495 0 1.1061 0 0 0 30.66 1;
16 17 100 345 60 0 17.25 -0 0.006 0 1.0435 0 0 0 0 1;
30 29 100 500 60 0 25 -0 0.0015 0 1.05 0 0 0 0 1;
31 32 100 500 60 0 2.17391 -0 0.01 0 1.1 0 0 0 0 1;
33 34 100 230 60 0 11.5 -0 0.002 0 1 0 0 0 0 1;
84 35 100 345 60 0 15.6818 -0 0.0046 0 1 0 0 0 20 1;
37 47 100 500 60 0 2.17391 0.00013 0.00693 0 1.05 0 0 0 0 1;
38 39 100 230 60 0 11.5 0.0005 0.0238 0 1 0 0 0 0 1;
41 42 100 230 60 0 11.5 0.00058 0.02535 0 1.0491 0 0 0 0 1;
43 44 100 345 60 0 17.25 -0 0.0052 0 1.025 0 0 0 0 1;
47 46 100 230 60 0 11.5 0.00499 0.11473 0 1.0478 0 0 0 0 1;
48 47 100 500 60 0 2.17391 0.00026 0.01386 0 1.05 0 0 0 0 1;
51 50 100 287 60 0 2.07971 0.00059 0.01491 0 1.0017 0 0 0 0 1;
52 50 100 287 60 0 2.07971 0.00059 0.01491 0 1.0017 0 0 0 0 1;
53 50 100 230 60 0 1.66667 0.0003 0.0133 0 1 0 0 0 0 1;
53 50 100 230 60 0 1.66667 0.0003 0.0134 0 1 0 0 0 0 1;
55 54 100 500 60 0 2.17391 0.00013 0.01386 0 1.0106 0 0 0 0 1;
55 54 100 500 60 0 2.17391 0.00013 0.01386 0 1.0106 0 0 0 0 1;
59 60 100 230 60 0 1 -0 0.00115 0 1.0133 0 0 0 0 1;
63 62 100 500 60 0 1.74216 0.0002 0.02338 0 0.9789 0 0 0 0 1;
65 64 100 500 60 0 25 -0 0.005 0 1.09 0 0 0 0 1;
67 66 100 230 60 0 2 0.00089 0.0299 0 0.9873 0 0 0 2.5 1;
68 67 100 500 60 0 2.17391 0.0002 0.01181 0 1.0238 0 0 0 10.08 1;
68 67 100 500 60 0 2.17391 9e-05 0.00735 0 1.0238 0 0 0 13 1;
67 69 100 230 60 0 11.5 -0 0.01034 0 1.0455 0 0 0 20 1;
71 70 100 500 60 0 2.17391 -0 0.00221 0 1.0234 0 0 0 25 1;
74 180 100 500 60 0 25 -0 0.00037 0 1.0977 0 0 0 50 1;
75 76 100 500 60 0 25 -0 0.00375 0 1.0977 0 0 0 50 1;
79 78 100 500 60 0 25 -0 0.0025 0 1.066 0 0 0 0 1;
83 84 100 500 60 0 1.44928 -0 0.0072 0 1.05 0 0 0 15 1;
101 102 100 500 60 0 25 -0 0.0098 0 1.05 0 0 0 0 1;
108 107 100 230 60 0 0.46 0.0003 0.0174 0 1.119 0 0 0 8.4 1;
108 107 100 230 60 0 0.46 0.0002 0.0119 0 1.119 0 0 0 11.2 1;
111 112 100 20 60 0 0.0869565 -0 0.02281 0 0.9174 0 0 0 0 1;
112 113 100 230 60 0 0.46 0.0001 0.0174 0 1.119 0 0 0 8.4 1;
115 116 100 20 60 0 0.1 -0 0.01815 0 0.9091 0 0 0 0 1;
116 118 100 200 60 0 0.4 0.0002 0.0125 0 1.119 0 0 0 11.2 1;
117 118 100 20 60 0 0.04 -0 0.00448 0 0.9452 0 0 0 0 1;
181 118 100 20 60 0 0.04 2e-05 0.00013 0 1.119 0 0 0 11.2 1;
137 138 100 20 60 0 0.04 -0 0.01512 0 0.996 0 0 0 0 1;
139 140 100 20 60 0 0.0869565 -0 0.00365 0 0.9787 0 0 0 0 1;
143 144 100 20 60 0 0.04 -0 0.00516 0 0.9843 0 0 0 0 1;
144 145 100 500 60 0 2.17391 -0 0.005 0 1 0 0 0 0 1;
146 147 100 500 60 0 22.7273 -0 0.0098 0 1.05 0 0 0 0 1;
148 149 100 20 60 0 0.0869565 -0 0.01026 0 0.9871 0 0 0 0 1;
152 153 100 500 60 0 2.17391 -0 0.01149 0 1.0631 0 0 0 11.2 1;
152 153 100 500 60 0 2.17391 -0 0.01149 0 1.0631 0 0 0 11.2 1;
152 153 100 500 60 0 2.17391 -0 0.01149 0 1.0631 0 0 0 11.2 1;
155 156 100 345 60 0 1.5 0.0003 0.0181 0 1 0 0 0 0 1;
157 158 100 345 60 0 17.25 0.0002 0.0058 0 0.9855 0 0 0 0 1;
160 161 100 230 60 0 11.5 0.0005 0.0141 0 1.0588 0 0 0 0 1;
163 162 100 345 60 0 1 -0 0.0195 0 1 0 0 0 0 1;
];
Bus.names = {...
'CORONADO'; 'CHOLLA'; 'CORONADO'; 'CRAIG'; 'CRAIG';
'FOURCORN'; 'FOURCORN'; 'FCNGN4CC'; 'FOURCORN'; 'HAYDEN';
'NAVAJO'; 'NAVAJO 2'; 'MOENKOPI'; 'PALOVRD2'; 'PALOVRDE';
'SAN JUAN'; 'SJUAN G4'; 'WESTWING'; 'NAVAJO1'; 'NAVAJO2';
'NAVAJO3'; 'NAVAJO4'; 'MOENKOPI'; 'MOENKOP2'; 'MOENKOP3';
'MOENKOP4'; 'FOURCOR1'; 'FOURCOR2'; 'CANAD G1'; 'CANADA';
'CANALB'; 'CA230TO'; 'CA230'; 'CMAIN GM'; 'BRIDGER2';
'ADELANTO'; 'ADELAN&1'; 'CASTAIC'; 'CASTAI4G'; 'GLENDAL';
'HAYNES'; 'HAYNES3G'; 'INTERMT'; 'INTERM1G'; 'OLIVE';
'OWENS G'; 'RINALDI'; 'RINALDI'; 'RIVER'; 'STA B';
'STA B1'; 'STA B2'; 'STA BLD'; 'STA E'; 'STA E';
'STA F'; 'STA G'; 'STA J'; 'SYLMARLA'; 'SYLMAR S';
'VALLEY'; 'VICTORVL'; 'VICTORVL'; 'MONTA G1'; 'MONTANA';
'BIG EDDY'; 'BIG EDDY'; 'BIG EDDY'; 'DALLES21'; 'CELILO';
'CELILOCA'; 'COLSTRP'; 'COULEE'; 'GARRISON'; 'JOHN DAY';
'JOHN DAY'; 'HANFORD'; 'NORTH G3'; 'NORTH'; 'BURNS';
'GRIZZLY'; 'MALIN'; 'MIDPOINT'; 'MIDPOINT'; 'SUMMER L';
'GRIZZLY1'; 'GRIZZLY2'; 'MALIN1'; 'MALIN2'; 'GRIZZLY3';
'GRIZZLY4'; 'GRIZZLY5'; 'GRIZZLY6'; 'GRIZZLY7'; 'GRIZZLY8';
'GRIZZLY9'; 'GRIZZLYA'; 'BURNS1'; 'CORTINA'; 'COTWDPGE';
'DIABLO'; 'DIABLO1'; 'GATES'; 'GLENN'; 'LOGAN CR';
'LOSBANOS'; 'MIDWAY'; 'MIDWAY'; 'MOSSLAND'; 'OLINDA';
'ROUND MT'; 'ROUND MT'; 'ROUND MT'; 'TABLE MT'; 'TEVATR';
'TEVATR'; 'TEVATR2'; 'TEVATR'; 'OLINDA1'; 'OLINDA2';
'OLINDA3'; 'OLINDA4'; 'ROUND1'; 'ROUND2'; 'ROUND3';
'ROUND4'; 'TABLE1'; 'TABLE2'; 'TABLE3'; 'TABLE4';
'TEVATR1'; 'TEVATR2'; 'TEVATR3'; 'GATES1'; 'DEVERS';
'EAGLROCK'; 'ELDORADO'; 'ELDORADO'; 'LITEHIPE'; 'LITEHIPE';
'LUGO'; 'MESA CAL'; 'MIRALOMA'; 'MIRALOMA'; 'MIRALOMA';
'MOHAVE'; 'MOHAV1CC'; 'PARDEE'; 'PARDEE'; 'SERRANO';
'VALLEY'; 'VINCENT'; 'VINCENT'; 'CAMP WIL'; 'BENLOMND';
'BENLOMND'; 'EMERY'; 'EMERY'; 'MONA'; 'NAUGHTON';
'NAUGHT'; 'PINTO PS'; 'PINTO'; 'SPAN FRK'; 'SIGURD';
'TERMINAL'; 'MALIN3'; 'MALIN4'; 'MALIN5'; 'MALIN6';
'MALIN7'; 'MALIN8'; 'MIDWAY1'; 'MIDWAY2'; 'MIDWAY3';
'MIDWAY4'; 'MIDWAY5'; 'MIDWAY6'; 'BURNS2'; 'ADDBUS1';
'ADDBUS2'};

@ -0,0 +1,170 @@
% Event definition for 39-bus system
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
%
nlvl = 15;
taylorN = 4;
alphaTol =1.0000e-03;
diffTol =1.0000e-06;
diffTolMax =1.0000e-02;
method=0;
diffTolCtrl=2e-6;
% evtId, startTime, endTime, type, num
% Type:
% 0: Black start / Full start (steady state)
% 1: Add line
% 2: Add static load
% 3: Add Motor load
% 4: Add syn gen
% 50: Dyn simulation
% 6: Fault
% 7: Cut line
% 8: Cut static load
% 9: Cut Motor load
% 10: Cut syn gen
% 99: End of simulation
% Method: X.Y
% Method X: Differential eq.
% 0:HE, 1:Modified Euler, 2:RK-4, 3: TRAP.
% Method Y: Algebraic eq. 0:HE, 1:N-R.
eventList=[...
1 0.0000 0.0000 0 1
1.1 1.5000 0.0000 6 1
1.2 1.6700 0.0000 6 2
% 1.3 1.5000 4.0000 50 1
2 5.000 0.0000 99 0
];
% Blackstart data
bsSyn=[...
];
bsBus=[...
];
bsInd=[...
];
% Plain start data
Efstd=[...
1.1922
1.2157
1.2140
1.2213
1.2137
1.2444
1.2607
1.2887
1.3101
1.3264
];
% Line event data
evtLine=[...
];
evtLineSpec=[...
];
% Static load event data
evtZip=[...
];
evtZipSpec=[...
];
evtZipSpec2=[...
];
% Motor load event data
evtInd=[...
];
evtIndSpec=[...
];
% Syncronous generator event data
evtSyn=[...
];
evtSynSpec=[...
];
% Fault event data
evtFault=[...
1 1 1
2 2 2
];
evtFaultSpec=[...
14, 0.00, 0, 0.013, 0;
14, 0.00, 0, 0.013, 1;
];
% Dynamic simulation event data
evtDyn=[...
1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 2 0 0 0 0 0 0
];
evtDynPQ=[...
];
evtDynPV=[...
];
evtDynInd=[...
];
evtDynZip=[...
];
evtDynSh=[...
];
evtDynZipRamp=[...
];
evtDynTmech=[...
1 0.3459
2 -0.3459
];
evtDynPm=[...
1 0.3459
2 -0.3459
];
evtDynEf=[...
];
evtDynVref=[...
];
evtDynEq1=[...
];

@ -0,0 +1,171 @@
% Event definition for 4-bus system
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
%
nlvl = 14;
taylorN = 4;
alphaTol =1.0000e-04;
diffTol =1.0000e-05;
diffTolMax =1.0000e-02;
method = 0;
diffTolCtrl =5.0000e-05;
% evtId, startTime, endTime, type, num, method, dt
% Type:
% 0: Black start / Full start (steady state)
% 1: Add line
% 2: Add static load
% 3: Add Motor load
% 4: Add syn gen
% 50: Dyn simulation
% 6: Fault
% 7: Cut line
% 8: Cut static load
% 9: Cut Motor load
% 10: Cut syn gen
% 99: End of simulation
% Method: X.Y
% Method X: Differential eq. 0:HE, 1:Modified Euler, 2:RK-4(not active).
% Method Y: Algebraic eq. 0:HE, 1:N-R.
eventList=[...
1 0.0000 0.0000 0 1 0.0 0.0100
6 60.0000 0.0000 2 1 0.0 0.0100
7 90.0000 0.0000 2 2 0.0 0.0100
8 120.0000 0.0000 2 3 0.0 0.0100
9 150.0000 0.0000 2 4 0.0 0.0100
10 180.0000 0.0000 2 1 0.0 0.0100
11 210.0000 0.0000 2 2 0.0 0.0100
12 240.0000 0.0000 2 3 0.0 0.0100
13 270.0000 0.0000 2 4 0.0 0.0100
18 500.0000 0.0000 99 0 0.0 0.0100
];
% Blackstart data
bsSyn=[...
];
bsBus=[...
];
bsInd=[...
];
% Plain start data
Efstd= 1.2000;
% Line event data
evtLine=[...
];
evtLineSpec=[...
];
% Static load event data
evtZip=[...
1 1 1 1
2 1 2 2
3 1 3 3
4 1 4 4
% 5 1 8 8
% 6 1 9 12
% 7 1 13 16
% 8 1 17 20
% 9 1 21 24
];
evtZipSpec=[...
];
evtZipSpec2=[...
3 100.0000 100.0000 60.0000 0.0648 0.0648 0.0648 0.0359 0.0359 0.0359 0 1
2 100.0000 100.0000 60.0000 0.0648 0.0648 0.0648 0.0359 0.0359 0.0359 0 1
3 100.0000 100.0000 60.0000 -0.0648 -0.0648 -0.0648 -0.0359 -0.0359 -0.0359 0 1
2 100.0000 100.0000 60.0000 -0.0648 -0.0648 -0.0648 -0.0359 -0.0359 -0.0359 0 1
];
% Motor load event data
evtInd=[...
];
evtIndSpec=[...
];
% Syncronous generator event data
evtSyn=[...
];
evtSynSpec=[...
];
% Fault event data
evtFault=[...
];
evtFaultSpec=[...
];
% Dynamic simulation event data
% evtId 2pqSt pqEnd 4pvSt pvEnd 6indSt indEnd 8zipSt zipEnd 10shSt shEnd
% 12zipRampSt zipRampEnd 14TmechSt TmechEnd 16PmSt PmEnd 18EfSt EfEnd
% 20VrefSt VrefEnd 22Eq1St Eq1End
% 2 4 6 8 10 12 14 16 18 20 22
evtDyn=[...
];
evtDynPQ=[...
];
evtDynPV=[...
];
evtDynInd=[...
];
evtDynZip=[...
];
evtDynSh=[...
];
evtDynZipRamp=[...
];
evtDynTmech=[...
];
evtDynPm=[...
];
evtDynEf=[...
];
evtDynVref=[...
];
evtDynEq1=[...
];

@ -0,0 +1,153 @@
% Event definition for 2-bus system
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
%
nlvl = 30;
taylorN = 4;
alphaTol =1.0000e-04;
diffTol =1.0000e-06;
diffTolMax =1.0000e-02;
method=0;
diffTolCtrl=2e-6;
% evtId, startTime, endTime, type, num
% Type:
% 0: Black start / Full start (steady state)
% 1: Add line
% 2: Add static load
% 3: Add Motor load
% 4: Add syn gen
% 50: Dyn simulation
% 6: Fault
% 7: Cut line
% 8: Cut static load
% 9: Cut Motor load
% 10: Cut syn gen
% 99: End of simulation
% Method: X.YZ
% Method X: Differential eq. 0:HE, 1:Modified Euler, 2:RK-4(not active).
% Method Y: Algebraic eq. 0:HE, 1:N-R.
% Step Ctrl Z: 0:Fixed step, 1:Variable step.
eventList=[...
1 0.0000 0.0000 0 1
2 0.0000 50.0000 50 1
];
% Blackstart data
bsSyn=[...
];
bsBus=[...
];
bsInd=[...
];
% Plain start data
Efstd=[...
];
% Line event data
evtLine=[...
];
evtLineSpec=[...
];
% Static load event data
evtZip=[...
];
evtZipSpec=[...
];
evtZipSpec2=[...
];
% Motor load event data
evtInd=[...
];
evtIndSpec=[...
];
% Syncronous generator event data
evtSyn=[...
];
evtSynSpec=[...
];
% Fault event data
evtFault=[...
];
evtFaultSpec=[...
];
% Dynamic simulation event data
% evtId 2pqSt pqEnd 4pvSt pvEnd 6indSt indEnd 8zipSt zipEnd 10shSt shEnd
% 12zipRampSt zipRampEnd 14TmechSt TmechEnd 16PmSt PmEnd 18EfSt EfEnd
% 20VrefSt VrefEnd 22Eq1St Eq1End
% 2 4 6 8 10 12 14 16 18 20 22
evtDyn=[...
1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
];
evtDynPQ=[...
];
evtDynPV=[...
];
evtDynInd=[...
];
evtDynZip=[...
];
evtDynSh=[...
];
evtDynZipRamp=[...
3 100.0 100.0 60.0 0.00 0.00 1.0 0.00 0.00 3.0 0 1;
];
evtDynTmech=[...
];
evtDynPm=[...
];
evtDynEf=[...
];
evtDynVref=[...
];
evtDynEq1=[...
];

@ -0,0 +1,182 @@
% Event definition for modified Polish 2383-bus system transient stability analysis
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
%
% Simulation data
nlvl = 15;
taylorN = 4;
alphaTol =1.0000e-04;
diffTol =1.0000e-05;
diffTolMax =1.0000e-02;
method = 0;
diffTolCtrl =5.0000e-05;
% COLUMNS:
% 1 evtId, 2 startTime, 3 endTime, 4 type, 5 num, 6 method, 7 dt
% Type:
% 0: Black start / Full start (steady state)
% 1: Add line
% 2: Add static load
% 3: Add Motor load
% 4: Add syn gen
% 50: Dyn simulation
% 6: Fault
% 7: Cut line
% 8: Cut static load
% 9: Cut Motor load
% 10: Cut syn gen
% 99: End of simulation
% Method: X.YZ
% Method X: Differential eq.
% 0:HE, 1:Modified Euler, 2:RK-4, 3: Trapzoidal.
% Method Y: Algebraic eq.
% 0:HE, 1:N-R.
% Method Z: Step control
% 0:fixed step, 1:adaptive step.
eventList=[...
1 0.0000 0.0000 0 1 0.0 0.0000
% 2 0.2000 0.0000 1 1 0.0 0.0000
1.1 0.5000 0.0000 6 1 0.0 0.0000
1.2 0.7500 0.0000 6 2 0.0 0.0000
1.3 1.5000 0.0000 6 3 0.0 0.0000
1.4 1.9500 0.0000 6 4 0.0 0.0000
% 2 0.0000 200.0000 50 1 0.0 0.0000
3 10.00 0.0000 99 0 0.0 0.0000
];
% Blackstart data
bsSyn=[...
];
bsBus=[...
];
bsInd=[...
];
% Plain start data
Efstd=1.3;
% Line event data
evtLine=[...
1 1 1
];
evtLineSpec=[...
11 0 0 0.0000 0.0000
];
% Static load event data
evtZip=[...
];
evtZipSpec=[...
];
evtZipSpec2=[...
];
% Motor load event data
evtInd=[...
];
evtIndSpec=[...
];
% Syncronous generator event data
evtSyn=[...
];
evtSynSpec=[...
];
% Fault event data
evtFault=[...
1 1 2
2 3 4
3 5 5
4 6 6
];
evtFaultSpec=[...
114, 0.00, 0, 0.02, 0;
74, 0.00, 0, 0.02, 0;
114, 0.00, 0, 0.02, 1;
74, 0.00, 0, 0.02, 1;
1674, 0.00, 0, 0.1, 0;
1674, 0.00, 0, 0.1, 1;
];
% Dynamic simulation event data
evtDyn=[...
1 0 0 0 0 0 0 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0
];
evtDynPQ=[...
];
evtDynPV=[...
];
evtDynInd=[...
];
evtDynZip=[...
126 2.0
188 2.0
189 2.0
190 2.0
191 2.0
193 2.0
195 2.0
197 2.0
199 2.0
200 2.0
201 2.0
203 2.0
];
evtDynSh=[...
];
evtDynZipRamp=[...
];
evtDynTmech=[...
];
evtDynPm=[...
];
evtDynEf=[...
];
evtDynVref=[...
];
evtDynEq1=[...
];

File diff suppressed because it is too large Load Diff

@ -0,0 +1,839 @@
% Event definition for 14-bus system restoration
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
%
% Simulation data
% nlvl = 10;
% taylorN = 4;
% alphaTol =1.0000e-04;
% diffTol =1.0000e-05;
% diffTolMax =1.0000e-02;
% method = 0;
% diffTolCtrl =1.0000e-05;
% evtId, startTime, endTime, type, num, method, dt
% Type:
% 0: Black start / Full start (steady state)
% 1: Add line
% 2: Add static load
% 3: Add Motor load
% 4: Add syn gen
% 50: Dyn simulation
% 6: Fault
% 7: Cut line
% 8: Cut static load
% 9: Cut Motor load
% 10: Cut syn gen
% 99: End of simulation
% Method: X.Y
% Method X: Differential eq. 0:HE, 1:Modified Euler, 2:RK-4(not active).
% Method Y: Algebraic eq. 0:HE, 1:N-R.
eventList=[...
1 0.0000 0.0000 0 0
2 0.5000 0.0000 1 1
3 1.5000 0.0000 4 1
4 2.5000 0.0000 3 1
5 3.5000 0.0000 2 1
6 4.5000 0.0000 2 2
7 4.5000 0.0000 3 2
8 5.5000 7.5000 5 1
9 7.5000 0.0000 1 2
10 8.5000 0.0000 3 3
11 9.5000 0.0000 2 3
12 10.5000 0.0000 2 4
13 10.5000 0.0000 3 4
14 11.5000 13.5000 5 2
15 13.5000 0.0000 1 3
16 14.5000 0.0000 2 5
17 14.5000 0.0000 3 5
18 15.5000 17.5000 5 3
19 17.5000 0.0000 1 4
20 18.5000 0.0000 4 2
21 19.5000 0.0000 3 6
22 20.5000 0.0000 2 6
23 21.5000 0.0000 2 7
24 21.5000 0.0000 3 7
25 22.5000 24.5000 5 4
26 24.5000 0.0000 1 5
27 25.5000 0.0000 3 8
28 26.5000 0.0000 2 8
29 27.5000 0.0000 2 9
30 27.5000 0.0000 3 9
31 28.5000 30.5000 5 5
32 30.5000 0.0000 1 6
33 31.5000 0.0000 2 10
34 31.5000 0.0000 3 10
35 32.5000 34.5000 5 6
36 34.5000 0.0000 1 7
37 35.5000 0.0000 3 11
38 36.5000 0.0000 2 11
39 37.5000 0.0000 2 12
40 37.5000 0.0000 3 12
41 38.5000 40.5000 5 7
42 40.5000 0.0000 1 8
43 41.5000 0.0000 3 13
44 42.5000 0.0000 2 13
45 43.5000 0.0000 2 14
46 43.5000 0.0000 3 14
47 44.5000 46.5000 5 8
48 46.5000 0.0000 1 9
49 47.5000 0.0000 3 15
50 48.5000 0.0000 2 15
51 49.5000 0.0000 2 16
52 49.5000 0.0000 3 16
53 50.5000 52.5000 5 9
54 52.5000 0.0000 1 10
55 53.5000 0.0000 4 3
56 54.5000 0.0000 3 17
57 55.5000 0.0000 2 17
58 56.5000 0.0000 2 18
59 56.5000 0.0000 3 18
60 57.5000 59.5000 5 10
61 59.5000 0.0000 1 11
62 60.5000 0.0000 2 19
63 60.5000 0.0000 3 19
64 61.5000 63.5000 5 11
65 63.5000 0.0000 1 12
66 64.5000 0.0000 3 20
67 65.5000 0.0000 2 20
68 66.5000 0.0000 2 21
69 66.5000 0.0000 3 21
70 67.5000 69.5000 5 12
71 69.5000 0.0000 1 13
72 70.5000 0.0000 3 22
73 71.5000 0.0000 2 22
74 72.5000 0.0000 2 23
75 72.5000 0.0000 3 23
76 73.5000 75.5000 5 13
77 75.5000 0.0000 1 14
78 76.5000 0.0000 2 24
79 76.5000 0.0000 3 24
80 77.5000 79.5000 5 14
81 79.5000 0.0000 1 15
82 80.5000 0.0000 3 25
83 81.5000 0.0000 2 25
84 82.5000 0.0000 2 26
85 82.5000 0.0000 3 26
86 83.5000 85.5000 5 15
87 85.5000 0.0000 1 16
88 86.5000 0.0000 2 27
89 86.5000 0.0000 3 27
90 87.5000 89.5000 5 16
91 89.5000 0.0000 1 17
92 90.5000 0.0000 2 28
93 90.5000 0.0000 3 28
94 91.5000 93.5000 5 17
95 93.5000 0.0000 1 18
96 94.5000 0.0000 2 29
97 94.5000 0.0000 3 29
98 95.5000 97.5000 5 18
99 97.5000 0.0000 1 19
100 98.5000 0.0000 4 4
101 99.5000 0.0000 2 30
102 99.5000 0.0000 3 30
103 100.5000 102.5000 5 19
104 102.5000 0.0000 99 0
];
bsSyn=[...
1 1.1000 0.1488 1.0000
];
bsBus=[...
1 0.0195 0.0193 0.0123 0.0122 0.0035 0.0200
];
bsInd=[...
6 0.00
];
Efstd=1.2;
evtLine=[...
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 7
7 8 8
8 9 9
9 10 10
10 11 11
11 12 12
12 13 13
13 14 14
14 15 15
15 16 16
16 17 17
17 18 18
18 19 19
19 20 20
];
evtLineSpec=[...
11 0 0 0.0000 0.0000
1 0 0 0.0000 0.0000
14 0 0 0.0000 0.0000
12 0 0 0.0000 0.0000
13 0 0 0.0000 0.0000
15 0 0 0.0000 0.0000
16 0 0 0.0000 0.0000
17 0 0 0.0000 0.0000
7 0 0 0.0000 0.0000
6 0 0 0.0000 0.0000
5 0 0 0.0000 0.0000
18 0 0 0.0000 0.0000
2 0 0 0.0000 0.0000
3 0 0 0.0000 0.0000
4 0 0 0.0000 0.0000
8 0 0 0.0000 0.0000
9 0 0 0.0000 0.0000
10 0 0 0.0000 0.0000
19 0 0 0.0000 0.0000
20 0 0 0.0000 0.0000
];
evtDyn=[...
1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 2 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 3 4 3 4 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 5 6 5 6 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 7 9 7 9 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 10 12 10 12 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 13 15 13 15 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 16 18 16 18 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 19 21 19 21 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 22 24 22 24 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 25 28 25 28 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 29 32 29 32 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 33 36 33 36 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 37 40 37 40 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 41 44 41 44 0 0 0 0 0 0
15 0 0 0 0 0 0 0 0 0 0 0 0 45 48 45 48 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 0 0 0 49 52 49 52 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 0 0 0 0 53 56 53 56 0 0 0 0 0 0
18 0 0 0 0 0 0 0 0 0 0 0 0 57 60 57 60 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 61 65 61 65 0 0 0 0 0 0
];
evtDynPQ=[...
];
evtDynPV=[...
];
evtDynInd=[...
];
evtDynZip=[...
];
evtDynSh=[...
];
evtDynZipRamp=[...
];
evtDynTmech=[...
1 -0.0158
2 -0.0447
1 0.0067
2 0.0189
1 0.0075
2 0.0212
1 0.0078
2 0.0220
3 0.0175
1 0.0107
2 0.0303
3 0.0240
1 0.0120
2 0.0340
3 0.0270
1 0.0190
2 0.0537
3 0.0426
1 0.0259
2 0.0733
3 0.0582
1 0.0353
2 0.1001
3 0.0794
1 0.0244
2 0.0692
3 0.0550
4 0.1566
1 0.0276
2 0.0782
3 0.0621
4 0.1768
1 0.0129
2 0.0366
3 0.0291
4 0.0828
1 0.0076
2 0.0214
3 0.0170
4 0.0485
1 0.0000
2 0.0000
3 0.0000
4 0.0000
1 0.0083
2 0.0237
3 0.0188
4 0.0535
1 -0.0000
2 -0.0000
3 -0.0000
4 -0.0000
1 0.0000
2 0.0000
3 0.0000
4 0.0000
1 0.0000
2 0.0000
3 0.0000
4 0.0000
1 -0.0295
2 -0.0837
3 -0.0665
4 -0.1893
5 0.2764
];
evtDynPm=[...
1 -0.0158
2 -0.0447
1 0.0067
2 0.0189
1 0.0075
2 0.0212
1 0.0078
2 0.0220
3 0.0175
1 0.0107
2 0.0303
3 0.0240
1 0.0120
2 0.0340
3 0.0270
1 0.0190
2 0.0537
3 0.0426
1 0.0259
2 0.0733
3 0.0582
1 0.0353
2 0.1001
3 0.0794
1 0.0244
2 0.0692
3 0.0550
4 0.1566
1 0.0276
2 0.0782
3 0.0621
4 0.1768
1 0.0129
2 0.0366
3 0.0291
4 0.0828
1 0.0076
2 0.0214
3 0.0170
4 0.0485
1 0.0000
2 0.0000
3 0.0000
4 0.0000
1 0.0083
2 0.0237
3 0.0188
4 0.0535
1 -0.0000
2 -0.0000
3 -0.0000
4 -0.0000
1 0.0000
2 0.0000
3 0.0000
4 0.0000
1 0.0000
2 0.0000
3 0.0000
4 0.0000
1 -0.0295
2 -0.0837
3 -0.0665
4 -0.1893
5 0.2764
];
evtDynEf=[...
];
evtDynVref=[...
];
evtDynEq1=[...
];
evtZip=[...
1 1 1 1
2 1 2 3
3 1 4 4
4 1 5 7
5 1 8 10
6 1 11 11
7 1 12 15
8 1 16 16
9 1 17 21
10 1 22 26
11 1 27 27
12 1 28 33
13 1 34 34
14 1 35 41
15 1 42 42
16 1 43 50
17 1 51 51
18 1 52 60
19 1 61 69
20 1 70 70
21 1 71 80
22 1 81 81
23 1 82 92
24 1 93 103
25 1 104 104
26 1 105 116
27 1 117 128
28 1 129 141
29 1 142 154
30 1 155 168
];
evtZipSpec=[...
];
evtZipSpec2=[...
2 100.0000 69.0000 60.0000 0.0032 0.0032 0.0020 0.0020 0.0006 0.0033 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0096 0.0095 0.0061 0.0060 0.0017 0.0099 0 1
5 100.0000 69.0000 60.0000 0.0014 0.0019 0.0003 0.0000 0.0000 0.0000 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0094 0.0093 0.0060 0.0059 0.0017 0.0097 0 1
5 100.0000 69.0000 60.0000 0.0018 0.0025 0.0004 0.0000 0.0000 0.0000 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0123 0.0121 0.0077 0.0077 0.0022 0.0126 0 1
5 100.0000 69.0000 60.0000 0.0024 0.0032 0.0005 0.0000 0.0000 0.0000 0 1
3 100.0000 69.0000 60.0000 0.0027 0.0084 0.0014 0.0004 0.0001 0.0004 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0029 0.0028 0.0018 0.0018 0.0005 0.0029 0 1
3 100.0000 69.0000 60.0000 0.0088 0.0280 0.0045 0.0014 0.0004 0.0013 0 1
5 100.0000 69.0000 60.0000 0.0006 0.0008 0.0001 0.0000 0.0000 0.0000 0 1
4 100.0000 69.0000 60.0000 0.0032 0.0021 0.0036 -0.0001 -0.0001 -0.0001 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0027 0.0027 0.0017 0.0017 0.0005 0.0028 0 1
3 100.0000 69.0000 60.0000 0.0083 0.0264 0.0042 0.0013 0.0004 0.0013 0 1
4 100.0000 69.0000 60.0000 0.0047 0.0032 0.0054 -0.0001 -0.0001 -0.0001 0 1
5 100.0000 69.0000 60.0000 0.0005 0.0007 0.0001 0.0000 0.0000 0.0000 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0035 0.0035 0.0022 0.0022 0.0006 0.0036 0 1
3 100.0000 69.0000 60.0000 0.0108 0.0344 0.0055 0.0017 0.0005 0.0016 0 1
4 100.0000 69.0000 60.0000 0.0062 0.0042 0.0071 -0.0002 -0.0001 -0.0001 0 1
5 100.0000 69.0000 60.0000 0.0007 0.0009 0.0001 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 0.0032 0.0124 0.0002 0.0039 0.0006 0.0047 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0040 0.0039 0.0025 0.0025 0.0007 0.0041 0 1
3 100.0000 69.0000 60.0000 0.0123 0.0389 0.0062 0.0019 0.0006 0.0019 0 1
4 100.0000 69.0000 60.0000 0.0070 0.0047 0.0080 -0.0002 -0.0002 -0.0001 0 1
5 100.0000 69.0000 60.0000 0.0008 0.0011 0.0002 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 0.0065 0.0249 0.0004 0.0078 0.0011 0.0095 0 1
10 100.0000 13.8000 60.0000 0.0048 0.0104 0.0064 0.0066 0.0042 0.0041 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0052 0.0052 0.0033 0.0033 0.0009 0.0054 0 1
3 100.0000 69.0000 60.0000 0.0161 0.0511 0.0082 0.0025 0.0007 0.0024 0 1
4 100.0000 69.0000 60.0000 0.0092 0.0062 0.0105 -0.0002 -0.0002 -0.0002 0 1
5 100.0000 69.0000 60.0000 0.0010 0.0014 0.0002 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 0.0085 0.0327 0.0005 0.0103 0.0015 0.0125 0 1
10 100.0000 13.8000 60.0000 0.0024 0.0053 0.0033 0.0033 0.0021 0.0021 0 1
11 100.0000 13.8000 60.0000 0.0137 0.0063 0.0095 0.0098 0.0131 0.0280 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0072 0.0071 0.0045 0.0045 0.0013 0.0073 0 1
3 100.0000 69.0000 60.0000 0.0221 0.0701 0.0112 0.0034 0.0010 0.0034 0 1
4 100.0000 69.0000 60.0000 0.0126 0.0085 0.0144 -0.0003 -0.0003 -0.0002 0 1
5 100.0000 69.0000 60.0000 0.0014 0.0019 0.0003 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 0.0117 0.0449 0.0007 0.0141 0.0020 0.0172 0 1
10 100.0000 13.8000 60.0000 0.0033 0.0072 0.0045 0.0046 0.0029 0.0029 0 1
11 100.0000 13.8000 60.0000 -0.0017 -0.0008 -0.0012 -0.0012 -0.0016 -0.0035 0 1
6 100.0000 13.8000 60.0000 0.0126 0.0290 0.0387 0.0093 0.0462 0.0047 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0103 0.0102 0.0065 0.0065 0.0019 0.0106 0 1
3 100.0000 69.0000 60.0000 0.0319 0.1012 0.0162 0.0050 0.0014 0.0048 0 1
4 100.0000 69.0000 60.0000 0.0182 0.0123 0.0208 -0.0005 -0.0004 -0.0003 0 1
5 100.0000 69.0000 60.0000 0.0020 0.0027 0.0004 0.0000 0.0000 0.0000 0 1
6 100.0000 13.8000 60.0000 0.0021 0.0048 0.0064 0.0015 0.0076 0.0008 0 1
9 100.0000 13.8000 60.0000 0.0169 0.0648 0.0010 0.0204 0.0029 0.0248 0 1
10 100.0000 13.8000 60.0000 0.0048 0.0104 0.0065 0.0066 0.0043 0.0041 0 1
11 100.0000 13.8000 60.0000 -0.0025 -0.0011 -0.0017 -0.0018 -0.0024 -0.0051 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0134 0.0133 0.0085 0.0084 0.0024 0.0138 0 1
3 100.0000 69.0000 60.0000 0.0415 0.1315 0.0211 0.0065 0.0019 0.0063 0 1
4 100.0000 69.0000 60.0000 0.0236 0.0159 0.0271 -0.0006 -0.0006 -0.0004 0 1
5 100.0000 69.0000 60.0000 0.0026 0.0036 0.0005 0.0000 0.0000 0.0000 0 1
6 100.0000 13.8000 60.0000 0.0027 0.0062 0.0083 0.0020 0.0099 0.0010 0 1
9 100.0000 13.8000 60.0000 0.0220 0.0842 0.0013 0.0265 0.0038 0.0322 0 1
10 100.0000 13.8000 60.0000 0.0063 0.0136 0.0084 0.0086 0.0055 0.0054 0 1
11 100.0000 13.8000 60.0000 -0.0032 -0.0015 -0.0022 -0.0023 -0.0031 -0.0066 0 1
12 100.0000 13.8000 60.0000 0.0389 0.0120 0.0238 0.0097 0.0012 0.0118 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0046 0.0046 0.0029 0.0029 0.0008 0.0047 0 1
3 100.0000 69.0000 60.0000 0.0143 0.0453 0.0073 0.0022 0.0006 0.0022 0 1
4 100.0000 69.0000 60.0000 0.0081 0.0055 0.0093 -0.0002 -0.0002 -0.0001 0 1
5 100.0000 69.0000 60.0000 0.0009 0.0012 0.0002 0.0000 0.0000 0.0000 0 1
6 100.0000 13.8000 60.0000 0.0009 0.0022 0.0029 0.0007 0.0034 0.0003 0 1
9 100.0000 13.8000 60.0000 0.0076 0.0290 0.0005 0.0091 0.0013 0.0111 0 1
10 100.0000 13.8000 60.0000 0.0022 0.0047 0.0029 0.0030 0.0019 0.0019 0 1
11 100.0000 13.8000 60.0000 -0.0011 -0.0005 -0.0008 -0.0008 -0.0011 -0.0023 0 1
12 100.0000 13.8000 60.0000 -0.0240 -0.0074 -0.0147 -0.0060 -0.0007 -0.0073 0 1
13 100.0000 13.8000 60.0000 0.0087 0.0385 0.0355 0.0889 0.0459 0.0025 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
3 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
4 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 0 1
5 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
6 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
10 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
11 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
12 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
13 100.0000 13.8000 60.0000 -0.0052 -0.0230 -0.0212 -0.0531 -0.0275 -0.0015 0 1
1 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
2 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
3 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
4 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0 1
5 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
6 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
9 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
10 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
11 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
12 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
13 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
14 100.0000 13.8000 60.0000 0.0165 0.0622 0.0088 0.0055 0.0208 0.0054 0 1
1 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
2 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
3 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
4 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 -0.0000 0 1
5 100.0000 69.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
6 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
10 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
11 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
12 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
13 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
14 100.0000 13.8000 60.0000 0.0128 0.0484 0.0069 0.0043 0.0162 0.0042 0 1
1 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
2 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
3 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
4 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0 1
5 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
6 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
9 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
10 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
11 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
12 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
13 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
14 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
1 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
2 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
3 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
4 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0 1
5 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
6 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
7 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
10 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
11 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
12 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
13 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
14 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
1 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
2 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
3 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
4 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0 1
5 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
6 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
7 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
10 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
11 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
12 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
13 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
14 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
1 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
2 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
3 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
4 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0 1
5 100.0000 69.0000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
6 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
7 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
8 100.0000 18.0000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
9 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
10 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
11 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
12 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
13 100.0000 13.8000 60.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0 1
14 100.0000 13.8000 60.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 1
];
evtInd=[...
1 1 1
2 2 3
3 4 4
4 5 7
5 8 10
6 11 11
7 12 15
8 16 16
9 17 21
10 22 26
11 27 27
12 28 33
13 34 34
14 35 41
15 42 42
16 43 50
17 51 51
18 52 60
19 61 69
20 70 70
21 71 80
22 81 81
23 82 92
24 93 103
25 104 104
26 105 116
27 117 128
28 129 140
29 141 152
30 153 164
];
evtIndSpec=[...
5 0 0.0085 0.0000
6 1 0.0722 0.0000
5 1 0.0794 0.0000
4 0 0.0035 0.0000
6 1 0.0722 0.0000
5 1 0.0793 0.0000
4 1 0.0729 0.0000
6 1 0.0722 0.0000
5 1 0.0814 0.0000
4 1 0.0752 0.0000
3 0 0.0124 0.0000
6 1 0.0722 0.0000
5 1 0.0744 0.0000
4 1 0.0675 0.0000
3 1 0.5563 0.0000
8 0 0.0089 0.0000
6 1 0.0722 0.0000
5 1 0.0743 0.0000
4 1 0.0674 0.0000
3 1 0.5548 0.0000
8 1 0.4288 0.0000
6 1 0.0722 0.0000
5 1 0.0749 0.0000
4 1 0.0681 0.0000
3 1 0.5626 0.0000
8 1 0.4352 0.0000
12 0 0.0158 0.0000
6 1 0.0722 0.0000
5 1 0.0752 0.0000
4 1 0.0685 0.0000
3 1 0.5671 0.0000
8 1 0.4388 0.0000
12 1 0.0412 0.0000
11 0 0.0216 0.0000
6 1 0.0722 0.0000
5 1 0.0762 0.0000
4 1 0.0695 0.0000
3 1 0.5790 0.0000
8 1 0.4485 0.0000
12 1 0.0419 0.0000
11 1 0.0184 0.0000
1 0 0.0294 0.0000
6 1 0.0722 0.0000
5 1 0.0776 0.0000
4 1 0.0711 0.0000
3 1 0.5976 0.0000
8 1 0.4637 0.0000
12 1 0.0429 0.0000
11 1 0.0182 0.0000
1 1 0.0396 0.0000
7 0 0.0803 0.0000
6 1 0.0722 0.0000
5 1 0.0800 0.0000
4 1 0.0737 0.0000
3 1 0.6281 0.0000
8 1 0.4886 0.0000
12 1 0.0446 0.0000
11 1 0.0180 0.0000
1 1 0.0404 0.0000
7 1 0.0115 0.0000
6 1 0.0722 0.0000
5 1 0.0823 0.0000
4 1 0.0762 0.0000
3 1 0.6578 0.0000
8 1 0.5128 0.0000
12 1 0.0462 0.0000
11 1 0.0178 0.0000
1 1 0.0411 0.0000
7 1 0.0060 0.0000
10 0 0.0747 0.0000
6 1 0.0722 0.0000
5 1 0.0757 0.0000
4 1 0.0690 0.0000
3 1 0.5733 0.0000
8 1 0.4439 0.0000
12 1 0.0416 0.0000
11 1 0.0184 0.0000
1 1 0.0390 0.0000
7 1 0.0217 0.0000
10 1 0.0392 0.0000
2 0 0.0827 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.2289 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.1558 0.0000
9 0 0.0875 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.1558 0.0000
9 1 0.0186 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.1558 0.0000
9 1 0.0530 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.1558 0.0000
9 1 0.0530 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.1558 0.0000
9 1 0.0530 0.0000
6 1 0.0722 0.0000
5 1 0.0722 0.0000
4 1 0.0652 0.0000
3 1 0.5289 0.0000
8 1 0.4077 0.0000
12 1 0.0392 0.0000
11 1 0.0187 0.0000
1 1 0.0379 0.0000
7 1 0.0299 0.0000
10 1 0.0569 0.0000
2 1 0.1558 0.0000
9 1 0.0530 0.0000
];
evtSyn=[...
1 1 1
2 2 2
3 3 3
4 4 4
];
evtSynSpec=[...
2 0 NaN 0.0124 1.1000
3 0 NaN 0.0124 1.1000
4 0 NaN 0.0803 1.1000
5 0 NaN 0.1854 1.1000
];
% Fault event data
evtFault=[...
1 1 1
2 2 2
];
evtFaultSpec=[...
1, 0.00, 0, 0.1, 0;
1, 0.00, 0, 0.1, 1;
];

@ -0,0 +1,19 @@
# About
### Contributors
* Rui Yao, Argonne National Laboratory <<ryao@anl.gov>>
* Feng Qiu, Argonne National Laboratory <<fqiu@anl.gov>>
* Kai Sun, University of Tennessee, Knoxville <<kaisun@utk.edu>>
### Acknowledgement
This work is supported by the Laboratory Directed Research and Development (LDRD) program of Argonne National Laboratory, provided by the U.S. Department of Energy Office of Science under Contract No. DE-AC02-06CH11357, and the U.S. Department of Energy Office of Electricity, Advanced Grid Modeling program under Grant DE-OE0000875.
### Publications
* Rui Yao, Kai Sun, Feng Qiu, “Vectorized Efficient Computation of Padé Approximation for Semi-Analytical Simulation of Large-Scale Power Systems,” IEEE Transactions on Power Systems, 34 (5), 3957-3959, 2019.
* Rui Yao, Yang Liu, Kai Sun, Feng Qiu, Jianhui Wang,"Efficient and Robust Dynamic Simulation of Power Systems with Holomorphic Embedding", IEEE Transactions on Power Systems, 35 (2), 938 - 949, 2020.
* Rui Yao, Feng Qiu, "Novel AC Distribution Factor for Efficient Outage Analysis", IEEE Transactions on Power Systems, 35 (6), 4960-4963, 2020.
* Xin Xu, Rui Yao, Kai Sun, Feng Qiu, "A Semi-Analytical Solution Approach for Solving Constant-Coefficient First-Order Partial Differential Equations", IEEE Control Systems Letters, 6, 704-709, 2021.
* Rui Yao, Feng Qiu, Kai Sun, “Contingency Analysis Based on Partitioned and Parallel Holomorphic Embedding”, IEEE Transactions on Power Systems, in press.
### License
-- to be added.

@ -0,0 +1,426 @@
# Advanced Usage
### 1. Customize analysis with settings file/struct
PowerSAS.m lets you customize your simulation by providing a simulation settings interface to specify the events and scenarios to be analyzed. To use the customized simulation, call the `runPowerSAS` function as follows:
```Matlab
res=runPowerSAS('dyn',data,options,settings,snapshot)
```
Details are explained as follows:
#### 1.1 Settings file
The input argument `settings` can be a string specifying the settings file name, or a struct containing all the simulation settings.
When `settings` is a string, it should be a valid file name of an .m script file containing the settings. Some examples of the settings files can be found in the directory `/data`. The settings file should have the following variables:
* `eventList`: A gross list of events. ([more details](#variable-eventlist))
* `bsBus`: (for black start simulation only) Black start bus information. ([more details](#variable-bsbus))
* `bsSyn`: (for black start simulation only) Generator information on black start bus. ([more details](#variable-bssyn))
* `bsInd`: (for black start simulation only) Inductin motor on black start bus. ([more details](#variable-bsind))
* `Efstd`: Excitation potential of synchronous generators. ([more details](#variable-efstd))
* `evtLine`: List of line addition/outage events. ([more details](#variables-evtline-and-evtlinespec))
* `evtLineSpec`: Specifications of line addition/outage events. ([more details](#variables-evtline-and-evtlinespec))
* `evtZip`: List of static load addition/shedding events. ([more details](#variables-evtzip-evtzipspec-and-evtzipspec2))
* `evtZipSpec`: Specifications of static load addition/shedding events. ([more details](#variables-evtzip-evtzipspec-and-evtzipspec2))
* `evtZipSpec2`: Alternative specifications of static load addition/shedding events. ([more details](#variables-evtzip-evtzipspec-and-evtzipspec2))
* `evtInd`: List of induction motor addition/outage events. ([more details](#variables-evtind-and-evtindspec))
* `evtIndSpec`: Specifications of induction motor addition/outage events. ([more details](#variables-evtind-and-evtindspec))
* `evtSyn`: List of synchronous generator addition/outage events. ([more details](#variables-evtsyn-and-evtsynspec))
* `evtSynSpec`: Specifications of synchronous generator addition/outage events. ([more details](#variables-evtsyn-and-evtsynspec))
* `evtFault`: List of fault occurrence/clearing events. ([more details](#variables-evtfault-and-evtfaultspec))
* `evtFaultSpec`: Specifications of fault occurrence/clearning events. ([more details](#variables-evtfault-and-evtfaultspec))
* `evtDyn`: List of dynamic ramping events. ([more details](#variable-evtdyn))
* `evtDynPQ`: Specifications of PQ bus ramping. ([more details](#variable-evtdynpq))
* `evtDynPV`: Specifications of PV bus ramping. ([more details](#variable-evtdynpv))
* `evtDynInd`: Specifications of induction motor mechanical load ramping. ([more details](#variable-evtdynind))
* `evtDynZip`: Specifications of ZIP load ramping. ([more details](#variable-evtdynzip))
* `evtDynSh`: Specifications of shunt compensator ramping. ([more details](#variable-evtdynsh))
* `evtDynZipRamp`: Alternative specifications of ZIP load ramping. ([more details](#variable-evtdynramp))
* `evtDynTmech`: Specifications of generator mechanical torque ramping. ([more details](#variable-evtdyntmech))
* `evtDynPm`: Specifications of generator input active power ramping. ([more details](#variable-evtdynpm))
* `evtDynEf`: Specifications of generator excitation potential ramping. ([more details](#variable-evtdynef))
* `evtDynVref`: Specifications of exciter reference voltage ramping. ([more details](#variable-evtdynvref))
* `evtDynEq1`: Specifications of generator transient excitation potential ramping. ([more details](#variable-evtdyneq1))
#### 1.2 Settings struct
Alternatively, the `settings` can be a struct containing all the previous variables as its fields.
#### Example 1: Transient stability analysis (TSA) using settings file
In this example, we want to perform transient stability analysis on 2383-bus system. Here is the scenario of the TSA:
* The total simulation period is 10 seconds.
* At 0.5 s, apply faults on the starting terminals of lines 74 and 114, the fault resistance is 0.0 and the reactance is 0.02. At 0.75 s, clear the faults.
* At 1.5 s, apply fault on the starting terminal of line 1674, the fault resistance is 0.0 and the reactance is 0.1. At 1.95 s, clear the faults.
The settings file for this simulation is shown below. Other variables irrelevant to the fault events are omitted here for the sake of clarity.
```Matlab
eventList=[...
1 0.0000 0.0000 0 1 0.0 0.0000
1.1 0.5000 0.0000 6 1 0.0 0.0000
1.2 0.7500 0.0000 6 2 0.0 0.0000
1.3 1.5000 0.0000 6 3 0.0 0.0000
1.4 1.9500 0.0000 6 4 0.0 0.0000
3 10.00 0.0000 99 0 0.0 0.0000
];
% Fault event data
evtFault=[...
1 1 2
2 3 4
3 5 5
4 6 6
];
evtFaultSpec=[...
114, 0.00, 0, 0.02, 0;
74, 0.00, 0, 0.02, 0;
114, 0.00, 0, 0.02, 1;
74, 0.00, 0, 0.02, 1;
1674, 0.00, 0, 0.1, 0;
1674, 0.00, 0, 0.1, 1;
];
```
Assume the settings file is `settings_polilsh_tsa.m` and the system data file is `d_dcase2383wp_mod2_ind_zip_syn.m`. We can run the TSA as follows:
```Matlab
res_2383_st=runPowerSAS('pf','d_dcase2383wp_mod2_ind_zip_syn.m'); % Run steady-state
res_2383_tsa=runPowerSAS('dyn','d_dcase2383wp_mod2_ind_zip_syn.m',setOptions('hotStart',1),'settings_polilsh_tsa',res_2383_st.snapshot); % Hot start from existing steady-state
plotCurves(1,res_2383_tsa.t,res_2383_tsa.stateCurve,res_2383_tsa.SysDataBase,'v'); % plot the voltage magnitude curves
```
### 2. Extended-term simulation using hybrid QSS and dynamic engines
To accelerate computation — especially for extended-term simulation — PowerSAS.m provides an adaptive way to switch between QSS and dynamic engines in the course of a simulation. With this feature enabled, PowerSAS.m can switch to QSS simulation for better speed on detecting the fade-away of transients and switch back to dynamic simulation upon detecting transient events.
For more details on the technical approach, please refer to our paper:
* Hybrid QSS and Dynamic Extended-Term Simulation Based on Holomorphic Embedding, arXiv:2104.02877
Example 2 illustrates the use of PowerSAS.m to perform extended-term simulation.
#### Example 2: Extended-term simulation
We want to study the response of a 4-bus system under periodic disturbances. The entire simulated process is 500 seconds. Starting at 60 s and continuing until 270 s, the system undergoes events of adding/shedding loads every 30 s.
The key settings of the simulation is:
```Matlab
% settings_d_004_2a_agc.m
eventList=[...
1 0.0000 0.0000 0 1 0.0 0.0100
6 60.0000 0.0000 2 1 0.0 0.0100
7 90.0000 0.0000 2 2 0.0 0.0100
8 120.0000 0.0000 2 3 0.0 0.0100
9 150.0000 0.0000 2 4 0.0 0.0100
10 180.0000 0.0000 2 1 0.0 0.0100
11 210.0000 0.0000 2 2 0.0 0.0100
12 240.0000 0.0000 2 3 0.0 0.0100
13 270.0000 0.0000 2 4 0.0 0.0100
18 500.0000 0.0000 99 0 0.0 0.0100
];
% Static load event data
evtZip=[...
1 1 1 1
2 1 2 2
3 1 3 3
4 1 4 4
];
evtZipSpec2=[...
3 100.0000 100.0000 60.0000 0.0648 0.0648 0.0648 0.0359 0.0359 0.0359 0 1
2 100.0000 100.0000 60.0000 0.0648 0.0648 0.0648 0.0359 0.0359 0.0359 0 1
3 100.0000 100.0000 60.0000 -0.0648 -0.0648 -0.0648 -0.0359 -0.0359 -0.0359 0 1
2 100.0000 100.0000 60.0000 -0.0648 -0.0648 -0.0648 -0.0359 -0.0359 -0.0359 0 1
];
```
First we run the simulation in full-dynamic mode and record time:
```Matlab
% Full dynamic simulation
tagFullDynStart=tic;
res_004_fulldyn=runPowerSAS('dyn','d_004_2a_bs_agc.m',[]],'settings_d_004_2a_agc');
timeFullDyn=toc(tagFullDynStart);
```
Then we run the simulation in hybrid QSS & dynamic mode and record time:
```Matlab
% Hybrid simulation with dynamic-QSS switching
tagHybridStart=tic;
res_004=runPowerSAS('dyn','d_004_2a_bs_agc.m',setOptions('allowSteadyDynSwitch',1),'settings_d_004_2a_agc');
timeHybrid=toc(tagHybridStart);
```
Compare the results:
```Matlab
plotCurves(1,res_004_fulldyn.t,res_004_fulldyn.stateCurve,res_004_fulldyn.SysDataBase,'v');
plotCurves(2,res_004.t,res_004.stateCurve,res_004.SysDataBase,'v');
```
And compare the computation time:
```Matlab
disp(['Full dynamic simulation computation time:', num2str(timeFullDyn),' s.']);
disp(['Hybrid simulation computation time:', num2str(timeHybrid),' s.']);
```
The complete example can be found in `/example/ex_extended_term_dyn.m`. And the results can also be found in our paper:
* Hybrid QSS and Dynamic Extended-Term Simulation Based on Holomorphic Embedding, arXiv:2104.02877
### Appendix: Variables in settings
#### variable `eventList`
([back to top](#11-settings-file))
##### Table 1. Definition of `eventList`
Column | Content
-------| -------------
1 | Event index (can be an integer or a real number)
2 | Event start time
3 | Event end time (no effect for instant event)
4 | Type of event (see [Table 2](#table-2-event-types))
5 | Index of event under its type
6 | Simulation method (default 0.0) (see below [Simulation methods](#simulation-methods))
7 | Timestep (default 0.01)
##### Table 2. Event types
Value | Event type
-------| -------------
0 | Calculate steady-state at start
1 | Add line
2 | Add static load
3 | Add induction motor load
4 | Add synchronous generator
6 | Applying/clearing faults
7 | Cut line
8 | Cut static load
9 | Cut motor load
10| Cut synchronous generator
50| Dynamic process
99| End of simulation
##### Simulation methods
Simulation methods can be specified for each event on the 6th column of `eventList`. It is encoded as a number `x.yz`, where:
* `x` is the method for solving differential equation, where 0 - SAS, 1 - Modified Euler, 2 - R-K 4, 3 - Trapezoidal rule.
* `y` is the method for solving algebraic equation, where 0 - SAS, 1 - Newton-Raphson.
* `z` is whether to use variable time step scheme for numerical integration (`x` is 1, 2 or 3). 0 - Fixed step, 1 - Variable step.
Note that when `x=0`, `y` and `z` are not effective, it automatically uses SAS and variable time steps.
#### variable `bsBus`
([back to top](#11-settings-file))
Current version only support one black start bus and therefore only the first line will be recognized. Will expand in the future versions.
Column | Content
-------| -------------
1 | Bus index
2 | Active power of Z component load
3 | Active power of I component load
4 | Active power of P component load
5 | Reactive power of Z component load
6 | Reactive power of I component load
7 | Reactive power of P component load
#### variable `bsSyn`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of synchronous generator
2 | Excitation potential
3 | Active power
4 | Participation factor for power balancing
#### variable `bsInd`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of induction motor
2 | Mechanical load torque
#### variable `Efstd`
([back to top](#11-settings-file))
When there are synchronous generators in the system model, `Efstd` is needed to compute steady state. The `Efstd` is a column vector specifying the excitation potential of every synchronous generator, or it can also be a scalar assigning the excitation potentials of all the generator as the same value.
#### variables `evtLine` and `evtLineSpec`
([back to top](#11-settings-file))
In `eventList`, when the 4th column (event type) equals 1 or 7 (add or cut line, respectively), the index of the line events in `evtLine` corresponds to the 5th column of `eventList`.
##### variable `evtLine`
Column | Content
-------| -------------
1 | Index of line events (from 5th column of `eventList`)
2 | Start index in `evtLineSpec`
3 | End index in `evtLineSpec`
##### variable `evtLineSpec`
Column | Content
-------| -------------
1 | Index of line
2 | Add/cut mark, 0 - add line, 1 - cut line
3 | Reserved
4 | Reserved
5 | Reserved
#### variables `evtZip`, `evtZipSpec` and `evtZipSpec2`
([back to top](#11-settings-file))
In `eventList`, when the 4th column (event type) equals 2 or 8 (add/cut static load), the index of the load events in `evtZip` corresponds to the 5th column of `eventList`.
##### variable `evtLine`
Column | Content
-------| -------------
1 | Index of load events (from 5th column of `eventList`)
2 | Choose `evtZipSpec` (0) or `evtZipSpec2` (1)
3 | Start index in `evtZipSpec` or `evtZipSpec2`
4 | End index in `evtZipSpec` or `evtZipSpec2`
##### variable `evtZipSpec`
Column | Content
-------| -------------
1 | Index of zip loads in system base state
2 | Add/cut mark, 0 - add load, 1 - cut load
##### variable `evtZipSpec2` (recommended)
`evtZipSpec2` has the same format as PSAT ZIP load format, which represents the change of ZIP load. Whether the event is specified as add/cut load does not make difference.
#### variables `evtInd` and `evtIndSpec`
([back to top](#11-settings-file))
##### variable `evtInd`
Column | Content
-------| -------------
1 | Index of induction motor events (from 5th column of `eventList`)
2 | Start index in `evtIndSpec`
3 | End index in `evtIndSpec`
##### variable `evtIndSpec`
Column | Content
-------| -------------
1 | Index of induction motor
2 | Event type, 0 - add motor, 1 - change state, 2 - cut motor
3 | Designated mechanical torque
4 | Designated slip
#### variables `evtSyn` and `evtSynSpec`
([back to top](#11-settings-file))
##### variable `evtSyn`
Column | Content
-------| -------------
1 | Index of synchronous generator events (from 5th column of `eventList`)
2 | Start index in `evtSynSpec`
3 | End index in `evtSynSpec`
##### variable `evtSynSpec`
Column | Content
-------| -------------
1 | Index of synchronous generator
2 | Event type, 0 - add generator, 1 - cut generator
3 | Designated rotor angle (only effective when adding generator, NaN means the rotor angle is the same with voltage angle).
4 | Designated mechanical power (only effective when adding generator).
5 | Designated excitation potential (only effective when adding generator).
#### variables `evtFault` and `evtFaultSpec`
([back to top](#11-settings-file))
##### variable `evtFault`
Column | Content
-------| -------------
1 | Index of fault events (from 5th column of `eventList`)
2 | Start index in `evtFaultSpec`
3 | End index in `evtFaultSpec`
##### variable `evtFaultSpec`
Column | Content
-------| -------------
1 | Index of fault line
2 | Position of fault, 0.0 stands for starting terminal and 1.0 stands for ending terminal.
3 | Resistance of fault.
4 | Reactance of fault.
5 | Event type: 0 - add fault; 1 - clear fault.
#### variable `evtDyn`
([back to top](#11-settings-file))
The `evtDyn` variable specifies the indexes of ramping events involving various types of components.
Column | Content
-------| -------------
1 | Index of event
2 | Start index in `evtDynPQ`
3 | End index in `evtDynPQ`
4 | Start index in `evtDynPV`
5 | End index in `evtDynPV`
6 | Start index in `evtDynInd`
7 | End index in `evtDynInd`
8 | Start index in `evtDynZip`
9 | End index in `evtDynZip`
10| Start index in `evtDynSh`
11| End index in `evtDynSh`
12| Start index in `evtDynZipRamp`
13| End index in `evtDynZipRamp`
14| Start index in `evtDynTmech`
15| End index in `evtDynTmech`
16| Start index in `evtDynPm`
17| End index in `evtDynPm`
18| Start index in `evtDynEf`
19| End index in `evtDynEf`
20| Start index in `evtDynVref`
21| End index in `evtDynVref`
22| Start index in `evtDynEq1`
23| End index in `evtDynEq1`
#### variable `evtDynPQ`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of bus
2 | Active power ramping rate
3 | Reactive power ramping rate
#### variable `evtDynPV`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of bus
2 | Active power ramping rate
#### variable `evtDynInd`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of induction motor
2 | Mechanical load torque ramping rate
#### variable `evtDynZip`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of bus
2 | ZIP load ramping rate
#### variable `evtDynSh`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of bus
2 | Shunt admittance ramping rate
#### variable `evtDynZipRamp`
([back to top](#11-settings-file))
`evtDynZipRamp` has the same format as PSAT ZIP load format, which represents the ramping direction of ZIP load.
#### variable `evtDynTmech`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of synchronous generator
2 | Ramping rate of mechanical power reference value (TG required)
#### variable `evtDynEf`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of synchronous generator
2 | Ramping rate of excitation potential
#### variable `evtDynVref`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of synchronous generator
2 | Ramping rate of exciter reference voltage
#### variable `evtDynEq1`
([back to top](#11-settings-file))
Column | Content
-------| -------------
1 | Index of synchronous generator
2 | Ramping rate of transient excitation potential

@ -0,0 +1,141 @@
# Using PowerSAS.m: The Basics
### 1 Initialization before use
To initialize PowerSAS.m, add the main directory of PowerSAS to Matlab or GNU Octave path, and execute command `initpowersas`. This will ensure all the functions of PowerSAS be added to the path and thus callable.
### 2 Call high-level API -- `runPowerSAS`
Most grid analysis functionalities can be invoked through the high-level function `runPowerSAS`. `runPowerSAS` is defined as follows:
```Matlab
function res=runPowerSAS(simType,data,options,varargin)
```
##### Input arguments
* `simType` is a string specifying the type of analysis, which can be one of the following values:
* `'pf'`: Conventional power flow or extended power flow (for finding steady state of dynamic model).
* `'cpf'`: Continuation power flow.
* `'ctg'`: Contingency analysis (line outages).
* `'n-1'`: N-1 line outage screening.
* `'tsa'`: Transient stability analysis.
* `'dyn'`: General dynamic simulation.
* `data` is the system data to be analyzed. It can be either a string specifying the data file name, or a `SysData` struct. For more information about data format and `SysData` struct, please refer to the "Data format and models" chapter.
* `options` specifies the options for analysis. If you do not provide `options` argument, or if you simply set the field to empty with `[]`, the corresponding routines will provide default options that will fit most cases. See Advanced Use chapter for more details.
* `varargin` are the additional input variables depending on the type of analysis. Section 3 Basic analysis funtionalifies will explain more details.
##### Output
Output `res` is a struct containing simulation result, system states, system data, etc.
* `res.flag`: Flag information returned by the analysis task.
* `res.msg`: More information as supplemental to the flag information.
* `res.caseName`: The name of the analyzed case.
* `res.timestamp`: A string showing the timestamp the analysis started, can be viewed as an unique identifier of the analysis task.
* `res.stateCurve`: A matrix storing the evolution of system states, where the number of rows equals the number of state variables, and the number of columns equals the number of time points.
* `res.t`: A vector storing time points corresponding to states in `res.stateCurve`.
* `res.simSettings`: A struct specifying the simulation settings, including simulation parametersand defined events.
* `res.eventList`: A matrix showing as the list of events in the system in the analysis task.
* `res.SysDataBase`: A struct of system data at base state.
* `res.snapshot`: The snapshot of the system states at the end of anlaysis, which can be used to initilize other analysis tasks.
To access the system states, we need to further access each kind of state variable in `res.stateCurve`. For example, the commands to extract the voltage from `res.stateCurve` are shown below:
```Matlab
[~,idxs]=getIndexDyn(res.SysDataBase); % Get the indexes of each kind of state variables
vCurve=res.StateCurve(idxs.vIdx,:); % idxs.vIdx is the row indexes of voltage variables
```
### 3 Basic analysis functionalities
#### 3.1 Power flow analysis
When `simType='pf'`, the `runPowerSAS` function runs power flow analysis. In addition to the conventional power flow model, `runPowerSAS` also integrates an extended power flow to solve the steady state of dynamic models. For example, it will calculate the rotor angles of synchronous generators and slips of induction motors in addition to the network equations.
To perform power flow analysis, call the `runPowerSAS` function as follows:
```Matlab
res=runPowerSAS('pf',data,options)
```
where the argument `data` can either be a string of file name or a `SysData` struct. When `data` is a string, the
Below are some examples:
```Matlab
% Use file name string to specify data
res1=runPowerSAS('pf','d:/codes/d_003.m'); % Filename can use absolute path
res2=runPowerSAS('pf','d_003.m'); % If data file is already in the Matlab/Octave path,
% then can directly use file name
res3=runPowerSAS('pf','d_003'); % Filename can be without '.m'
res4=runPowerSAS('pf','d_003',setOptions('dataPath','d:/codes'); % Another way to specify data path
% Use SysData struct to specify data
SysData=readDataFile('d_003.m','d:/codes'); % Generate SysData struct from data file
res5=runPowerSAS('pf',SysData); % Run power flow using SysData struct
```
#### 3.2 Continuation Power Flow
Continuation power flow (CPF) analysis in PowerSAS.m features enhanced efficiency and convergence. To perform continuation power flow analysis, call `runPowerSAS` function as follows:
```Matlab
res=runPowerSAS('cpf',data,options,varargin)
```
where `options` (optional) specifies the options of CPF analysis, and `varargin` are the input arguments:
* `varargin{1}` (optional) is the ramping direction of load, which is an N$\times$12 matrix, the first column is the index of the bus, and the columns 5-10 are the ZIP load increase directions.
* `varargin{2}` (optional) is the ramping direction of generation power, which is an N$\times$2 matrix, the first column is the index of the bus, and the 2nd column is the generation increase directions.
* `varargin{3}` (optional) is the snapshot of the starting state, with which the computation of starting steady state is skipped.
Some examples can be found in `example/ex_cpf.m`.
#### 3.3 Contingency Analysis
Contingency analysis computes the system states immediately after removing a line/lines. To perform contingency analysis, call `runPowerSAS` as follows:
```Matlab
res=runPowerSAS('ctg',data,options,varargin)
```
where `options` (optional) specifies the options of contingency analysis. When not using customized options, set `options=[]`. And `varargin` are the input arguments:
* `varargin{1}` (mandatory) is a vector specifying the indexes of lines to be removed simultaneously.
* `varargin{2}` (optional) is the snapshot of the starting state. With this option, computing the starting steady state is skipped.
Some examples can be found in `example/ex_ctg.m`.
#### 3.4 N-1 screening
N-1 screening is essentially performing a series of contingency analysis, each removing a line from the base state. To perform N-1 screening, call `runPowerSAS` as follows:
```Matlab
res=runPowerSAS('n-1',data,options)
```
The return value `res` is a cell containing each contingency analysis results.
Some examples can be found in `example/ex_n_minus_1.m`.
#### 3.5 Transient Stability Analysis
Transient stability anslysis (TSA) assesses the system dynamic behavior and stability after given disturbance(s). 3-phase balanced fault(s) are the most common disturbances in the TSA. In PowerSAS, the TSA supports the analysis of the combinations of multiple faults. To perform transient Stability Analysis, call `runPowerSAS` in the following way:
```Matlab
res=runPowerSAS('tsa',data,options,varargin)
```
where `options` (optional) specifies the options of TSA. When not using customized options, set `options=[]`. And `varargin` are the input arguments:
* `varargin{1}` (mandatory) is a N$\times$6 matrix specifying the faults:
* The 1st column is the index of line where the fault happens.
* The 2nd column is the relative position of the fault, 0.0 stands for the starting terminal and 1.0 stands for the ending terminal. For example, 0.5 means the fault happens in the middle point of the line.
* The 3rd and 4th columns are the resistance and reactance of the fault.
* The 5th and 6th columns specify the fault occurrence and clearing times.
* `varargin{2}` (optional) is the snapshot of the starting state, with which the computation of starting steady state is skipped.
By default, the TSA is run for 10 seconds. To change the simulation length, specify in the `options` argument, e.g. `options=setOptions('simlen',30)`.
Example can be found in `example/ex_tsa.m`.
### 4. Plot dynamic analysis results
PowerSAS provides an integrated and formatted way of plotting the system behavior in the time domain. The function for plotting curves is `plotCurves`. The function is defined as follows:
```Matlab
function plotCurves(figId,t,stateCurve,SysDataBase,variable,...
subIdx,lw,dot,fontSize,width,height,sizeRatio)
```
The argument list is explained as follows:
* `figId`: A positive integer or `[]` specifying the index of figure.
* `t`: A vector of time instants. If got `res` from `runPowreSAS` function, then input this argument as `res.t`.
* `stateCurve`: A matrix of system states in time domain, the number of columns should equal to the length of `t`. If got `res` from `runPowreSAS` function, then input this argument as `res.stateCurve`.
* `SysDataBase`: A SysData struct specifying the base system. If got `res` from `runPowreSAS` function, then input this argument as `res.SysDataBase`.
* `variable`: A string of variable name to be plotted. Here is a nonexhaustive list:
* `'v'`: voltage magnitude (pu);
* `'a'`: voltage angle (rad);
* `'delta'`: rotor angle of synchronous generators;
* `'omega'`: deviation of synchronous generator rotor speed;
* `'s'`: induction motor slips;
* `'f'`: frequency;
* `subIdx`: Allows you to pick a portion of the variables to plot e.g., the voltage of some selected buses. Default value is `[]`, which means that all the selected type of variables are plotted.
* `lw`: Line width. Default value is 1.
* `dot`: Allows you to choose whether to show data points. 1 means curves mark data dots, and 0 means no data dots are shown on curves. The default value is 0.
* `fontSize`: Font size of labels. Default value is 12.
* `width`: Width of figure window in pixels.
* `height`: Height of figure window in pixels.
* `sizeRatio`: If `width` or `height` is not specified, the size of the figure is determined by the `sizeRatio` of the screen size. The default value of `sizeRatio` is 0.7.

@ -0,0 +1,13 @@
# Data and Models
### 1. Supported data formats
Currently PowerSAS.m supports extended PSAT (Matlab) data format. Support for other formats and data format conversion features will be added in future versions.
### 2. Extension of PSAT (Matlab) format
#### 2.1 Automatic generation control (AGC) model
Here PowerSAS provides a simple AGC model. It is named as `Agc.con` in data files and it is a N$times$4 matrix. Each column is defined as below:
Column | Content
-------| -------------
1 | Bus index
2 | Reciprocal of turbine governor gain on bus
3 | Effective damping ratio on bus
4 | Reciprocal of AGC control time constant

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

@ -0,0 +1,12 @@
# PowerSAS.m
**PowerSAS.m** is a robust, efficient and scalable power grid analysis framework based on semi-analytical solutions (SAS) technology. The **PowerSAS.m** is the version for MATLAB/Octave users. It currently provides the following functionalities (more coming soon!):
* **Steady-state analysis**, including power flow (PF), continuation power flow (CPF), contingency analysis.
* **Dynamic security analysis**, including voltage stability analysis, transient stability analysis, and flexible user-defined simulation.
* **Hybrid extended-term simulation** provides adaptive QSS-dynamic hybrid simulation in extended term with high accuracy and efficiency.
### Key features
* **High numerical robustness.** Backed by the SAS approach, the PowerSAS tool provides much better convergence than the tools using traditional Newton-type algebraic equation solvers when solving algebraic equations (AE)/ordinary differential equations (ODE)/differential-algebraic equations(DAE).
* **Enhanced computational performance.** Due to the analytical nature, PowerSAS provides model-adaptive high-accuracy approximation, which brings significantly extended effective range and much larger steps for steady-state/dynamic analysis. PowerSAS has been used to solve large-scale system cases with 200,000+ buses.
* **Customizable and extensible.** PowerSAS supports flexible customization of grid analysis scenarios, including complex event sequences in extended simulation term.

@ -0,0 +1,22 @@
# Installation
### 1. System requirements
Matlab (7.1 or later) or GNU Octave (4.0.0 or later).
### 2. Installation
* Extract source code to a directory.
* Enter the directory in Matlab or GNU Octave.
* Execute command `setup`. You will see the following sub-directories:
* `/data`: Stores test system data, simulation settings data, etc.
* `/example`: Some examples of using PowerSAS.m.
* `/output`: Stores test result data.
* `/internal`: Internal functions of PowerSAS.m computation core.
* `/util`: Auxiliary functions including data I/O, plotting, data conversion, etc.
* `/logging`: Built-in logging system.
* `/doc`: Documentation.
### 3. Test
* Execute command `initpowersas` to initilize the environment, then execute `test_powersas` to run tests. You should expect all tests to pass.
### 4. Initialization
To initialize PowerSAS.m, add the main directory of PowerSAS.m to your Matlab or GNU Octave path and run the command `initpowersas`. This will ensure that all the functions of PowerSAS.m are added to the path and thus callable.

@ -0,0 +1,56 @@
# SAS and PowerSAS.m: The Story
### 1. What are Semi-Analysical Solutions (SAS)?
Semi-analytical solutions (SAS) is a family of computational methods that uses certain analytical formulations (e.g., power series, fraction of power series, continued fractions) to approximate the solutions of mathematical problems. In terms of formulation, they are quite different from the commonly used numerical approaches e.g., Newton-Raphson method for solving algebraic equations, Runge-Kutta and Trapezoidal methods for solving differential equations. The parameters of SAS still need to be determined through some (easier and more robustness-guaranteed) numerical computation, and thus these methods are called semi-analytical.
### 2. What are the advantages of SAS?
In power system modeling and analysis, SAS has proven several features:
* **High numerical robustness.** Steady-state analysis usually requires solving nonlinear algebraic equations. Traditional tools usually use Newton-Raphson method or its variants, whose results can be highly dependent on the selection of starting point and they suffer from non-convergence problem. In contrast, SAS provides much better convergence thanks to the high-level analytical nature.
* **Enhanced computational performance.** In dynamic analysis, the traditional numerical integration approaches are essentially lower-order methods, which are confined to small time steps to avoid too-rapid error accumulation. These tiny time steps severely restrict the computation speed. In contrast, SAS provides high-order approximation, enabling much larger effective time steps and faster computation speed.
* **More accurate event-driven simulation.** For complex system simulation, it is common to simulate discrete events. Traditional numerical integration methods only provide solution values on discrete time steps and thus may incur substantial errors predicting events. In contrast, SAS provides an analytical form of solution as a continuous function, and thus can significantly reduce event prediction errors.
### 3. How is the performance of PowerSAS.m?
#### 3.1 Benchmarking with traditional methods on Matlab
PowerSAS.m shows advantages in both computational robustness and efficiency over the traditional approaches.
On **steady-state analysis**, we have done several benchmarking with traditional methods. For example, we test the steady-state contingency analysis on PowerSAS.m and Newton-Raphson (NR) method and its variants on Matlab. The test is performed on a reduced Eastern-Interconnection (EI) system and we tested on 30,000 contingency scenarios. The results suggest that the traditional methods have about 1% chance of failing to deliver correct results, while SAS has delivered all the correct results.
For more details, please refer to our recent paper:
* Rui Yao, Feng Qiu, Kai Sun, “Contingency Analysis Based on Partitioned and Parallel Holomorphic Embedding”, IEEE Transactions on Power Systems, in press.
On **dynamic analysis**, we have compared with serveral most commonly used traditional numerical approaches for solving ODE/DAEs, including modified Euler, Runge-Kutta, and trapezoidal methods. Tests of transient-stability analysis on IEEE 39-bus system model and large-scale mdodified Polish 2383-bus system model have verified that SAS has significant advantages over the traditional methods in both accuracy and efficiency.
**Accuracy comparison on IEEE 39-bus system (1) -- Comparison with fixed-time-step traditional methods**
![x](/img/accuracy_039_1.png)
**Accuracy comparison on IEEE 39-bus system (2) -- Comparison with variable-time-step traditional method**
![x](/img/accuracy_039_2.png)
**Computation time comparison on IEEE 39-bus system**
![x](/img/comp_time_039.png)
For more details, please refer to our recent paper:
* Rui Yao, Yang Liu, Kai Sun, Feng Qiu, Jianhui Wang,"Efficient and Robust Dynamic Simulation of Power Systems with Holomorphic Embedding", IEEE Transactions on Power Systems, 35 (2), 938 - 949, 2020.
#### 3.2 Benchmarking with PSS/E
##### 3.2.1 Static Security Region (SSR)
Static Security Region (SSR) is an important decision-support tool showing region of stable operating points. However, there are often challenges on convergence when computing SSRs, especially near the boundaries. So SSR can be used for benchmarking the numerical robustness of computational methods.
We test SSR on IEEE 39-bus system by varying active power of buses 3&4. The active power of buses 3&4 are sampled uniformly over the interval of [-4000, 4000] MW. The figure below shows the SSR derived by PSS/E and PowerSAS.m. It shows that PSS/E result have some irregular outliers (about 0.1% of the samples) outside of the SSR and actually are not correct solutions of power flow equations. In contrast, PowerSAS.m correctly identifies the SSR.
![x](/img/ssa_benchmarking.png)
##### 3.2.2 N-k Contingency analysis
Contingency ananlysis also has convergence challenges due to large disturbances. Here we perform benchmarking between PSS/E (with and without non-divergence options) and PowerSAS.m on the N-25 contingency analysis on a reduced eastern-interconnection (EI) system with 458 buses. We increase the load & generation level by 15%, 20%, and 20.7%, respectively, as 3 different loading scenarios (loading margin is 20.791%). In each scenario, we randomly choose 5000 N-25 contingency samples.
![x](/img/contingency_458.png)
The figure shows the percentage of correct results using different tools. It can be seen that PSS/E has some chance to deliver incorrect results, and the chance increases with loading level. In contrast, PowerSAS.m still returns results all correctly.
We also compared the computation speeds of PowerSAS.m and PSS/E. The figure below shows the average contingency analysis computation time of on the 458-bus system. The results show that SASs speed is comparable to and even faster than PSS/Es.
![x](/img/comp_speed_458.png)

@ -0,0 +1,39 @@
% EXAMPLE: continuation power flow
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear;
clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_npcc140_zip=runPowerSAS('pf','d_npcc140_ind_zip');
res_npcc140_zip_cpf=runPowerSAS('cpf','d_npcc140_ind_zip',[],res_npcc140_zip.SysDataBase.zip,[],res_npcc140_zip.snapshot);
plotCurves(1,res_npcc140_zip_cpf.t,res_npcc140_zip_cpf.stateCurve,res_npcc140_zip_cpf.SysDataBase,'v');

@ -0,0 +1,36 @@
% EXAMPLE: contingency analysis
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_wecc=runPowerSAS('ctg','d_wecc',setOptions('dataPath',[pwd,'/data'],'nlvl',20,'segAlpha',0.2),1);
res_140=runPowerSAS('ctg','d_npcc140_zip',setOptions('dataPath',[pwd,'/data'],'nlvl',20,'segAlpha',0.2),11); % System separates

@ -0,0 +1,37 @@
% EXAMPLE: general dynamic simulation
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_ei_528=runPowerSAS('dyn','d_ei_528.m',setOptions('dataPath',[pwd,'/data'],'nlvl',25,'segAlpha',0.5,'diffTol',1e-4),'settings_ei_1');
plotCurves(1,res_ei_528.t,res_ei_528.stateCurve,res_ei_528.SysDataBase,'v');

@ -0,0 +1,52 @@
% EXAMPLE: extended-term simulation
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
% Full dynamic simulation
tagFullDynStart=tic;
res_004_fulldyn=runPowerSAS('dyn','d_004_2a_bs_agc.m',setOptions('allowSteadyDynSwitch',0),'settings_d_004_2a_agc');
timeFullDyn=toc(tagFullDynStart);
clc;
% Hybrid simulation with dynamic-QSS switching
tagHybridStart=tic;
res_004=runPowerSAS('dyn','d_004_2a_bs_agc.m',setOptions('allowSteadyDynSwitch',1),'settings_d_004_2a_agc');
timeHybrid=toc(tagHybridStart);
clc;
disp(['Full dynamic simulation computation time:', num2str(timeFullDyn),' s.']);
disp(['Hybrid simulation computation time:', num2str(timeHybrid),' s.']);
plotCurves(1,res_004_fulldyn.t,res_004_fulldyn.stateCurve,res_004_fulldyn.SysDataBase,'v');
plotCurves(2,res_004.t,res_004.stateCurve,res_004.SysDataBase,'v');

@ -0,0 +1,38 @@
% EXAMPLE: N-1 analysis
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
startTag=tic;
res_npcc140_zip=runPowerSAS('n-1','d_npcc140_zip');
compTime=toc(startTag);
addLog(['N-1 total computation time: ',num2str(compTime),'s.'],'INFO');

@ -0,0 +1,45 @@
% EXAMPLE: steady-state
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear;
clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_003=runPowerSAS('pf','d_003.m');
res_014_syn_ind_zip=runPowerSAS('pf','d_014_syn_ind_zip');
res_npcc140_ind_zip=runPowerSAS('pf','d_npcc140_ind_zip.m');
res_wecc=runPowerSAS('pf','d_wecc.m');
res_dcase2383wp_mod_ind_zip=runPowerSAS('pf','d_2383wp_mod_ind_zip.m');
% Uncomment the lines below to try running large cases
% res_ACTIVSg70k=runPowerSAS('pf','d_ACTIVSg70k.m',setOptions('dataPath',[pwd,'/data'],'nlvl',25,'segAlpha',0.4,'diffTol',1e-4));
% res_210k=runPowerSAS('pf','d_210k.m',setOptions('dataPath',[pwd,'/data'],'nlvl',25,'segAlpha',0.4,'diffTol',1e-4));

@ -0,0 +1,39 @@
% EXAMPLE: system restoration
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
dbstop if error
res_014=runPowerSAS('dyn','d_014_syn_ind_zip.m',setOptions('allowSteadyDynSwitch',1,'useDiffCtrl',1,'diffTolCtrl',1e-4),'settings_restoration_014_syn_2');
plotCurves(1,res_014.t,res_014.stateCurve,res_014.SysDataBase,'v');

@ -0,0 +1,43 @@
% EXAMPLE: transient stability analysis
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_2383_st=runPowerSAS('pf','d_2383wp_mod2_ind_zip_syn.m',[]);
faultSpec=[...
114, 0.00, 0, 0.02, 0.5,0.65;
74, 0.00, 0, 0.02, 0.5,0.65;
1069, 0.00, 0, 0.02, 0.86,0.95;
];
res_2383_tsa=runPowerSAS('tsa','d_2383wp_mod2_ind_zip_syn.m',[],faultSpec,res_2383_st.snapshot);
plotCurves(1,res_2383_tsa.t,res_2383_tsa.stateCurve,res_2383_tsa.SysDataBase,'omega');

@ -0,0 +1,38 @@
% EXAMPLE: transient stability analysis
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_2383_st=runPowerSAS('pf','d_2383wp_mod2_ind_zip_syn.m',setOptions('diffTol',5e-5,'nlvl',15));
res_2383_tsa=runPowerSAS('dyn','d_2383wp_mod2_ind_zip_syn.m',setOptions('hotStart',1),'settings_polilsh_tsa',res_2383_st.snapshot);
plotCurves(1,res_2383_tsa.t,res_2383_tsa.stateCurve,res_2383_tsa.SysDataBase,'v');

@ -0,0 +1,38 @@
% EXAMPLE: transient stability analysis
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_039_st=runPowerSAS('pf','d_039_mod.m');
res_039_tsa=runPowerSAS('dyn','d_039_mod.m',setOptions('hotStart',1),'setting_039_1',res_039_st.snapshot);
plotCurves(1,res_039_tsa.t,res_039_tsa.stateCurve,res_039_tsa.SysDataBase,'v');

@ -0,0 +1,37 @@
% EXAMPLE: voltage stability analysis
%
% in Software PowerSAS.m
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
clear; clc;
global Global_Settings
Global_Settings.logLevel='INFO';
res_2383=runPowerSAS('dyn','d_2383wp_mod_ind_zip.m',[],'settings_polilsh_vsa');
plotCurves(1,res_2383.t,res_2383.stateCurve,res_2383.SysDataBase,'v');

@ -0,0 +1,106 @@
function simSettings=getDefaultSimSettings()
% Simulation data
% simSettings.nlvl = 15;
% simSettings.taylorN = 4;
% simSettings.alphaTol =1.0000e-04;
% simSettings.diffTol =1.0000e-06;
% simSettings.diffTolMax =1.0000e-03;
% simSettings.method = 0;
% simSettings.diffTolCtrl =5.0000e-05;
% COLUMNS:
% 1 evtId, 2 startTime, 3 endTime, 4 type, 5 num, 6 method, 7 dt
% Type:
% 0: Black start / Full start (steady state)
% 1: Add line
% 2: Add static load
% 3: Add Motor load
% 4: Add syn gen
% 50: Dyn simulation
% 6: Fault
% 7: Cut line
% 8: Cut static load
% 9: Cut Motor load
% 10: Cut syn gen
% 99: End of simulation
% Method: X.YZ
% Method X: Differential eq.
% 0:HE, 1:Modified Euler, 2:RK-4, 3: Trapzoidal.
% Method Y: Algebraic eq.
% 0:HE, 1:N-R.
% Method Z: Step control
% 0:fixed step, 1:adaptive step.
simSettings.eventList=[...
1 0.0000 0.0000 0 1 0.0 0.0000
];
% Blackstart data
simSettings.bsSyn=[...
];
simSettings.bsBus=[...
];
simSettings.bsInd=[...
];
% Plain start data
simSettings.Efstd=1.2;
% Line event data
simSettings.evtLine=[];
simSettings.evtLineSpec=[];
% Static load event data
simSettings.evtZip=[];
simSettings.evtZipSpec=[];
simSettings.evtZipSpec2=[];
% Motor load event data
simSettings.evtInd=[];
simSettings.evtIndSpec=[];
% Syncronous generator event data
simSettings.evtSyn=[];
simSettings.evtSynSpec=[...
];
% Fault event data
simSettings.evtFault=[];
simSettings.evtFaultSpec=[];
% Dynamic simulation event data
simSettings.evtDyn=[];
simSettings.evtDynPQ=[...
];
simSettings.evtDynPV=[...
];
simSettings.evtDynInd=[...
];
simSettings.evtDynZip=[];
simSettings.evtDynSh=[];
simSettings.evtDynZipRamp=[];
simSettings.evtDynTmech=[];
simSettings.evtDynPm=[];
simSettings.evtDynEf=[];
simSettings.evtDynVref=[];
simSettings.evtDynEq1=[];
end

@ -0,0 +1,48 @@
function initpowersas()
%
% FUNCTION initpowersas
%
% Initializing PowerSAS environment.
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
global IS_OCTAVE;
IS_OCTAVE=exist('OCTAVE_VERSION', 'builtin')~=0;
homePath=fileparts(mfilename('fullpath'));
addpath(homePath);
addpath([homePath,'/data']);
addpath([homePath,'/util']);
addpath([homePath,'/internal']);
addpath([homePath,'/logging']);
addpath([homePath,'/tests']);
addpath([homePath,'/example']);
clearAllTempFiles();
end

@ -0,0 +1,105 @@
function xt=adjustAlgebraic(SysData,xt)
% [INTERNAL] Adjust the algebraic variables (usually after numerical integration)
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% FUNCTION adjustAlgebraic
% CAUTION: this function is used internally. Do not call it directly unless you know what you are doing.
%
% INPUT
% SysData - System data for simulation
% xt - Initial state
%
% OUTPUT
% xt - System state after the algebraic variables adjusted
%
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
[nState,idxs]...
=getIndexDyn(SysData);
[V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pg,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg]=unfoldX(xt,SysData);
%
nbus=size(bus,1);
Vmag=abs(V);
[nIslands,islands,refs]=searchIslands(bus(:,1),line(:,1:2));
nSyn=size(syn,1);
if ~isempty(exc)
excIdx=exc(:,1);
VavrMax=exc(:,3);
VavrMin=exc(:,4);
muavr0=exc(:,5);
Tavr1=exc(:,7);
Tavr2=exc(:,6);
vavrf0=exc(:,8);
Vavr0=exc(:,9);
Tavre=exc(:,10);
Tavrr=exc(:,11);
VmagAvr=Vmag(excIdx);
Efx=Vavrf;
tavrMaxDiff=Vavrf-VavrMax;
tavrMinDiff=Vavrf-VavrMin;
Efx(tavrMaxDiff>0)=VavrMax(tavrMaxDiff>0);
Efx(tavrMinDiff<0)=VavrMin(tavrMinDiff<0);
xt(idxs.efIdx(excIdx))=Efx;
end
if ~isempty(tg)
tgIdx=tg(:,1);
wtgref=tg(:,3);
Rtg=tg(:,4);
Ttgmax=tg(:,5);
Ttgmin=tg(:,6);
Ttg2=tg(:,7);
Ttg1=tg(:,8);
xt(idxs.tgovmIdx)=(tgovg+Ttg1./Ttg2.*(wtgref-w(tgIdx))./Rtg+tgovmech);
Pmx=tgovm;
tgovMaxDiff=tgovm(:,1)-Ttgmax;
tgovMinDiff=tgovm(:,1)-Ttgmin;
Pmx(tgovMaxDiff>0)=Ttgmax(tgovMaxDiff>0);
Pmx(tgovMinDiff<0)=Ttgmin(tgovMinDiff<0);
xt(idxs.pgIdx(tgIdx))=Pmx;
end
synTag=zeros(nbus,1);
synTag(syn(:,1))=1:nSyn;
numSynOnBus=accumarray(syn(:,1),1,[nbus,1]);
dpgTag=ones(nbus,1);
for islIdx=1:nIslands
busIsland=find(islands==islIdx);
synTagIsland=synTag(busIsland);
wIsland=w(synTagIsland(synTagIsland~=0),1);
if ~isempty(wIsland)
xt(idxs.fIdx(busIsland))=mean(wIsland); % note that here the freq can be different
dpgTag(busIsland)=0;
end
end
end

@ -0,0 +1,215 @@
function [sysDataGross,grossMaps,sysMaps,newSysDataList,originalSw]=agglomerateSystems(SysDataList,links)
% Agglomerate a cell of system data as one
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SysDataList - A cell of SysData
% links
% Definition of links: cell of link
% Definition of link: link-to-area (usually 1), self-busNum, to-busNum, serial-R, serial X
% Definition of link: link-to-area (usually 1), 0 , 0 , swP, swQ
%
% OUTPUT
% sysDataGross - Agglomerated system data
% grossMaps - Mapping from agglomerated system to subsystem
% sysMaps - Mapping from subsystem to agglomerated system
% newSysDataList - Cell of subsystems with external links
%
sysMaps=cell(length(SysDataList),1);
newSysDataList=cell(length(SysDataList),1);
originalSw=cell(length(SysDataList),1);
[busMain,swMain,pvMain,pqMain,shuntMain,lineMain,indMain,zipMain,synMain,excMain,tgMain,agcMain,cacMain,clusterMain]=unfoldSysData(SysDataList{1});
auxBusMain=zeros(size(busMain,1),1);
grossMaps.busAreaMap=ones(size(busMain,1),1);
grossMaps.swAreaMap=ones(size(swMain,1),1);
grossMaps.pvAreaMap=ones(size(pvMain,1),1);
grossMaps.pqAreaMap=ones(size(pqMain,1),1);
grossMaps.shuntAreaMap=ones(size(shuntMain,1),1);
grossMaps.lineAreaMap=ones(size(lineMain,1),1);
grossMaps.indAreaMap=ones(size(indMain,1),1);
grossMaps.zipAreaMap=ones(size(zipMain,1),1);
grossMaps.synAreaMap=ones(size(synMain,1),1);
grossMaps.excAreaMap=ones(size(excMain,1),1);
grossMaps.tgAreaMap=ones(size(tgMain,1),1);
grossMaps.agcAreaMap=ones(size(agcMain,1),1);
grossMaps.cacAreaMap=ones(size(cacMain,1),1);
grossMaps.clusterAreaMap=ones(size(clusterMain,1),1);
m.busMap=1:size(busMain,1);
m.swMap=1:size(swMain,1);
m.pvMap=1:size(pvMain,1);
m.pqMap=1:size(pqMain,1);
m.lineMap=1:size(lineMain,1);
m.shuntMap=1:size(shuntMain,1);
m.indMap=1:size(indMain,1);
m.zipMap=1:size(zipMain,1);
m.synMap=1:size(synMain,1);
m.excMap=1:size(excMain,1);
m.tgMap=1:size(tgMain,1);
m.agcMap=1:size(agcMain,1);
m.cacMap=1:size(cacMain,1);
m.clusterMap=1:size(clusterMain,1);
m.extBusMap=zeros(0,4);
sysMaps{1}=m;
newSysDataList{1}=SysDataList{1};
nSys=length(SysDataList);
for iSys=2:nSys
% Warning: currently assume all the links to area 1 (main).
link=links{iSys};
iSwConfig=find(link(:,2)==0,1);
if ~isempty(iSwConfig); sSw=link(iSwConfig,[4,5]);else sSw=[0,0];end
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysDataList{iSys});
swInPq=find(pq(:,1)==sw(1,1));
if ~isempty(swInPq)
pq(swInPq,[4,5])=pq(swInPq,[4,5])-sSw;
else
pq=[pq;[sw(1,1),bus(sw(1,1),2),100.0,-sSw,2.0,0.0,0,1]];
end
% swInPv=find(pv(:,1)==sw(1,1));
% if ~isempty(swInPv)
% pv(swInPv,4)=pv(swInPv,4)+sSw(1);
% else
% pv=[pv;[sw(1,1),bus(sw(1,1),2),100.0,sSw(1),sw(1,4),sw(1,[6,7]),2.0,0.0,0,1]];
% end
originalSw{iSys}=sw(1,:);
sw=zeros(0,13);
linkLine=link(link(:,2)~=0|link(:,3)~=0,:);
nbusx=size(bus,1);
busesInMain=busMain(linkLine(:,3));
auxBusMain(:)=0;auxBusMain(busesInMain)=1;
busesInMain=find(auxBusMain==1);
auxBusMain(busesInMain)=(nbusx+1):(nbusx+size(busesInMain,1));
busx=[bus;[((nbusx+1):(nbusx+size(busesInMain,1)))',busMain(busesInMain,2:end)]];
linex=[line;[auxBusMain(linkLine(:,3)), linkLine(:,2), repmat([100.00],size(linkLine,1),1), bus(linkLine(:,2),2) , repmat([60, 0, 0.0000],size(linkLine,1),1), linkLine(:,[4,5]), repmat([0.0000 0.00000 0.00000 0.000 0.000 0.000 1],size(linkLine,1),1)]];
m.extBusMap=[ones(size(busesInMain)),busesInMain,ones(size(busesInMain))*iSys,((nbusx+1):(nbusx+size(busesInMain,1)))']; % The definition of external bus map: (ext-zone, ext-bus, this-zone, this-bus)
newSysDataList{iSys}=foldSysData(busx,sw,pv,pq,shunt,linex,ind,zip,syn,exc,tg,agc,cac,cluster);
m.busMap=(size(busMain,1)+1):(size(busMain,1)+size(bus,1));
m.synMap=(size(synMain,1)+1):(size(synMain,1)+size(syn,1));
bus(:,1)=m.busMap;
pv(:,1)=m.busMap(pv(:,1));
pq(:,1)=m.busMap(pq(:,1));
shunt(:,1)=m.busMap(shunt(:,1));
line(:,1)=m.busMap(line(:,1));line(:,2)=m.busMap(line(:,2));
ind(:,1)=m.busMap(ind(:,1));
zip(:,1)=m.busMap(zip(:,1));
syn(:,1)=m.busMap(syn(:,1));
exc(:,1)=m.synMap(exc(:,1));
tg(:,1)=m.synMap(tg(:,1));
agc(:,1)=m.busMap(agc(:,1));
% TODO: cac and cluster
line=[line;[sysMaps{linkLine(1,1)}.busMap(linkLine(:,3))', m.busMap(linkLine(:,2))', repmat([100.00],size(linkLine,1),1), bus(linkLine(:,2),2) , repmat([60, 0, 0.0000],size(linkLine,1),1), linkLine(:,[4,5]), repmat([0.0000 0.00000 0.00000 0.000 0.000 0.000 1],size(linkLine,1),1)]];
m.swMap=(size(swMain,1)+1):(size(swMain,1)+size(sw,1));
m.pvMap=(size(pvMain,1)+1):(size(pvMain,1)+size(pv,1));
m.pqMap=(size(pqMain,1)+1):(size(pqMain,1)+size(pq,1));
m.lineMap=(size(lineMain,1)+1):(size(lineMain,1)+size(line,1));
m.shuntMap=(size(shuntMain,1)+1):(size(shuntMain,1)+size(shunt,1));
m.indMap=(size(indMain,1)+1):(size(indMain,1)+size(ind,1));
m.zipMap=(size(zipMain,1)+1):(size(zipMain,1)+size(zip,1));
m.synMap=(size(synMain,1)+1):(size(synMain,1)+size(syn,1));
m.excMap=(size(excMain,1)+1):(size(excMain,1)+size(exc,1));
m.tgMap=(size(tgMain,1)+1):(size(tgMain,1)+size(tg,1));
m.agcMap=(size(agcMain,1)+1):(size(agcMain,1)+size(agc,1));
m.cacMap=(size(cacMain,1)+1):(size(cacMain,1)+size(cac,1));
m.clusterMap=(size(clusterMain,1)+1):(size(clusterMain,1)+size(cluster,1));
busMain=[busMain;bus];
pvMain=[pvMain;pv];
pqMain=[pqMain;pq];
shuntMain=[shuntMain;shunt];
lineMain=[lineMain;line];
indMain=[indMain;ind];
zipMain=[zipMain;zip];
synMain=[synMain;syn];
excMain=[excMain;exc];
tgMain=[tgMain;tg];
agcMain=[agcMain;agc];
% TODO: cac and cluster
grossMaps.busAreaMap=[grossMaps.busAreaMap;iSys*ones(size(bus,1),1)];
grossMaps.swAreaMap=[grossMaps.swAreaMap;iSys*ones(size(sw,1),1)];
grossMaps.pvAreaMap=[grossMaps.pvAreaMap;iSys*ones(size(pv,1),1)];
grossMaps.pqAreaMap=[grossMaps.pqAreaMap;iSys*ones(size(pq,1),1)];
grossMaps.shuntAreaMap=[grossMaps.shuntAreaMap;iSys*ones(size(shunt,1),1)];
grossMaps.lineAreaMap=[grossMaps.lineAreaMap;iSys*ones(size(line,1),1)];
grossMaps.indAreaMap=[grossMaps.indAreaMap;iSys*ones(size(ind,1),1)];
grossMaps.zipAreaMap=[grossMaps.zipAreaMap;iSys*ones(size(zip,1),1)];
grossMaps.synAreaMap=[grossMaps.synAreaMap;iSys*ones(size(syn,1),1)];
grossMaps.excAreaMap=[grossMaps.excAreaMap;iSys*ones(size(exc,1),1)];
grossMaps.tgAreaMap=[grossMaps.tgAreaMap;iSys*ones(size(tg,1),1)];
grossMaps.agcAreaMap=[grossMaps.agcAreaMap;iSys*ones(size(agc,1),1)];
grossMaps.cacAreaMap=[grossMaps.cacAreaMap;iSys*ones(size(cac,1),1)];
grossMaps.clusterAreaMap=[grossMaps.clusterAreaMap;iSys*ones(size(cluster,1),1)];
sysMaps{iSys}=m;
end
grossMaps.invBusMap=zeros(size(grossMaps.busAreaMap));
grossMaps.invSwMap=zeros(size(grossMaps.swAreaMap));
grossMaps.invPvMap=zeros(size(grossMaps.pvAreaMap));
grossMaps.invPqMap=zeros(size(grossMaps.pqAreaMap));
grossMaps.invShuntMap=zeros(size(grossMaps.shuntAreaMap));
grossMaps.invLineMap=zeros(size(grossMaps.lineAreaMap));
grossMaps.invIndMap=zeros(size(grossMaps.indAreaMap));
grossMaps.invZipMap=zeros(size(grossMaps.zipAreaMap));
grossMaps.invSynMap=zeros(size(grossMaps.synAreaMap));
grossMaps.invExcMap=zeros(size(grossMaps.excAreaMap));
grossMaps.invTgMap=zeros(size(grossMaps.tgAreaMap));
grossMaps.invAgcMap=zeros(size(grossMaps.agcAreaMap));
grossMaps.invCacMap=zeros(size(grossMaps.cacAreaMap));
grossMaps.invClusterMap=zeros(size(grossMaps.clusterAreaMap));
for iSys=1:nSys
grossMaps.invBusMap(sysMaps{iSys}.busMap)=1:size(sysMaps{iSys}.busMap,2);
grossMaps.invSwMap(sysMaps{iSys}.swMap)=1:size(sysMaps{iSys}.swMap,2);
grossMaps.invPvMap(sysMaps{iSys}.pvMap)=1:size(sysMaps{iSys}.pvMap,2);
grossMaps.invPqMap(sysMaps{iSys}.pqMap)=1:size(sysMaps{iSys}.pqMap,2);
grossMaps.invShuntMap(sysMaps{iSys}.shuntMap)=1:size(sysMaps{iSys}.shuntMap,2);
grossMaps.invLineMap(sysMaps{iSys}.lineMap)=1:size(sysMaps{iSys}.lineMap,2);
grossMaps.invIndMap(sysMaps{iSys}.indMap)=1:size(sysMaps{iSys}.indMap,2);
grossMaps.invZipMap(sysMaps{iSys}.zipMap)=1:size(sysMaps{iSys}.zipMap,2);
grossMaps.invSynMap(sysMaps{iSys}.synMap)=1:size(sysMaps{iSys}.synMap,2);
grossMaps.invExcMap(sysMaps{iSys}.excMap)=1:size(sysMaps{iSys}.excMap,2);
grossMaps.invTgMap(sysMaps{iSys}.tgMap)=1:size(sysMaps{iSys}.tgMap,2);
grossMaps.invAgcMap(sysMaps{iSys}.agcMap)=1:size(sysMaps{iSys}.agcMap,2);
grossMaps.invCacMap(sysMaps{iSys}.cacMap)=1:size(sysMaps{iSys}.cacMap,2);
grossMaps.invClusterMap(sysMaps{iSys}.clusterMap)=1:size(sysMaps{iSys}.clusterMap,2);
end
sysDataGross=foldSysData(busMain,swMain,pvMain,pqMain,shuntMain,lineMain,indMain,zipMain,synMain,excMain,tgMain,agcMain,cacMain,clusterMain);
end

@ -0,0 +1,138 @@
function [Ig,Im,Ii,Is]=calcCurrent(xt,syn,ind,zip,SVec,vIdx,sIdx,deltaIdx,omegaIdx,eq1Idx,eq2Idx,ed1Idx,ed2Idx,psidIdx,psiqIdx,efIdx)
% [INTERNAL] Calculate some injection currents
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% FUNCTION calcCurrent
% CAUTION: this function is used internally. Do not call it directly unless you know what you are doing.
%
% INPUT
%
% OUTPUT
% Ig - Currents of syn generators
% Im - Current of induction motors
% Ii - Current of the I component of ZIP loads
% Is - Current of the PQ loads from SVec
%
dg=xt(deltaIdx);
wg=xt(omegaIdx);
eq1=xt(eq1Idx);
eq2=xt(eq2Idx);
ed1=xt(ed1Idx);
ed2=xt(ed2Idx);
psid=xt(psidIdx);
psiq=xt(psiqIdx);
vbus=xt(vIdx);
s=xt(sIdx);
Ef=xt(efIdx);
if ~isempty(syn)
nSyn=size(syn,1);
synIdx=syn(:,1);
Vgx=real(vbus(synIdx));
Vgy=imag(vbus(synIdx));
Vgd=Vgx.*sin(dg)-Vgy.*cos(dg);
Vgq=Vgx.*cos(dg)+Vgy.*sin(dg);
wgb=syn(:,4);
model=syn(:,5);
Xgl=syn(:,6);
Rga=syn(:,7);
Xgd=syn(:,8);
Xgd1=syn(:,9);
Xgd2=syn(:,10);
Tgd1=syn(:,11);
Tgd2=syn(:,12);
Xgq=syn(:,13);
Xgq1=syn(:,14);
Xgq2=syn(:,15);
Tgq1=syn(:,16);
Tgq2=syn(:,17);
Mg=syn(:,18);
Dg=syn(:,19);
TgAA=syn(:,24);
gammad=Tgd2./Tgd1.*Xgd2./Xgd1.*(Xgd-Xgd1);
gammaq=Tgq2./Tgq1.*Xgq2./Xgq1.*(Xgq-Xgq1);
Igd=zeros(nSyn,1);
Igq=zeros(nSyn,1);
end
if ~isempty(ind)
nInd=size(ind,1);
indIdx=ind(:,1);
Zm1=ind(:,7)+1j*ind(:,8);
Rm2=ind(:,9);
Xm2=ind(:,10);
Zmm=1j*ind(:,13);
Tm0=ind(:,15)+ind(:,16)+ind(:,17);
Tm1=-ind(:,16)-2*ind(:,17);
Tm2=ind(:,17);
Hm=ind(:,14);
end
if ~isempty(syn)
for i=1:nSyn
if model(i)==8
Igd(i)=(eq2(i)-psid(i))/Xgd2(i);
Igq(i)=(-ed2(i)-psiq(i))/Xgq2(i);
elseif model(i)==6
Igd(i)=(Rga(i)*(ed2(i)-Vgd(i))+Xgq2(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
Igq(i)=(-Xgd2(i)*(ed2(i)-Vgd(i))+Rga(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
elseif model(i)==5
Igd(i)=(Rga(i)*(ed2(i)-Vgd(i))+Xgq2(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
Igq(i)=(-Xgd2(i)*(ed2(i)-Vgd(i))+Rga(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
elseif model(i)==4
Igd(i)=(Rga(i)*(ed1(i)-Vgd(i))+Xgq1(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq1(i));
Igq(i)=(-Xgd1(i)*(ed1(i)-Vgd(i))+Rga(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq1(i));
elseif model(i)==3
Igd(i)=(Rga(i)*(-Vgd(i))+Xgq(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq(i));
Igq(i)=(-Xgd1(i)*(-Vgd(i))+Rga(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq(i));
elseif model(i)==2
Igd(i)=(Rga(i)*(-Vgd(i))+Xgq(i)*(Ef(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq(i));
Igq(i)=(-Xgd(i)*(-Vgd(i))+Rga(i)*(Ef(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd(i)*Xgq(i));
end
end
Ig=(Igd.*sin(dg)+Igq.*cos(dg))+1j*(-Igd.*cos(dg)+Igq.*sin(dg));
else
Ig=[];
end
if ~isempty(ind)
yind=1./(Zm1+Zmm.*(Rm2+1j*Xm2.*s)./(Rm2+s.*(Zmm+1j*Xm2)));
Im=vbus(indIdx).*yind;
else
Im=[];
end
if ~isempty(zip)
Ii=(zip(:,6)-1j*zip(:,9)).*vbus(zip(:,1))./abs(vbus(zip(:,1)));
else
Ii=[];
end
Is=conj(SVec./vbus);
end

@ -0,0 +1,41 @@
function diff=calcDiffSimp(busType,vsp2,Y,pVec,qVec,Vx)
% Calculate mismatch of simple power flow
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
diff=zeros(3*size(busType,1),size(Vx,2));
for i=1:size(Vx,2)
V=Vx(:,i);
qVecx=qVec;
diffS=(pVec+1j*qVecx)-V.*conj(Y*V);
diffP=real(diffS);
diffQ=imag(diffS);
diffP(busType==2)=0;
diffQ(busType~=0)=0;
diffV=vsp2-V.*conj(V);
diffV(busType==0)=0;
diff(:,i)=[diffP;diffQ;diffV];
end
end

@ -0,0 +1,34 @@
function fluctuation=calcFluctuationHE(coeffs,maxTime)
% Calculate the bounds of rate of system state fluctuation using power series form of HE coefficients
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
N=size(coeffs,2);
timePwr=maxTime.^(1:(N-1));
coeffx=coeffs(:,2:N);
fluctuationPos=sum(coeffx.*(coeffx>0).*repmat(timePwr,size(coeffs,1),1),2);
fluctuationNeg=sum(-coeffx.*(coeffx<0).*repmat(timePwr,size(coeffs,1),1),2);
fluctuation=max([fluctuationPos,fluctuationNeg],[],2);
end

@ -0,0 +1,45 @@
function fluctuation=calcFluctuationHEpade(coeffsa,coeffsb,maxTime)
% Calculate the bounds of rate of system state fluctuation using Pad'e of HE coefficients
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
Nvec=size(coeffsa,1);
Nnum=max([size(coeffsa,2)-1,size(coeffsb,2)]);
Nden=size(coeffsb,2);
timePwrnum=maxTime.^(1:Nnum);
coeffNum=zeros(Nvec,Nnum);
coeffNum(:,1:(size(coeffsa,2)-1))=coeffsa(:,2:end);
coeffNum(:,1:size(coeffsb,2))=coeffNum(:,1:size(coeffsb,2))-coeffsb;
fluctuationNumPos=sum(coeffNum.*(coeffNum>0).*repmat(timePwrnum,Nvec,1),2);
fluctuationNumNeg=sum(-coeffNum.*(coeffNum<0).*repmat(timePwrnum,Nvec,1),2);
fluctuationNum=max([fluctuationNumPos,fluctuationNumNeg],[],2);
timePwrDen=maxTime.^(1:Nden);
denMin=1+sum(coeffsb.*(coeffsb<0).*repmat(timePwrDen,Nvec,1),2);
denMin(denMin<1e-6)=1e-6;
fluctuation=fluctuationNum./denMin;
end

@ -0,0 +1,198 @@
function [SysDataUpd,x0,finalAlpha,alphaList,diff,t,stateCurve]=calculateInitialState(SysData,SimData,SysPara)
% Calculate the initial steady-state solution of a system
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SimData - Simulation parameters
% SysData - System data for simulation
% SysPara - Parameters representing the events happening in the system
%
% OUTPUT
% SysDataUpd - Updated system states
% x0 - Solved system states
% finalAlpha - Final value of alpha
% alphaList - List of alpha (from multi-stage HE)
% diff - mismatch vector of the equations
%
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
[maxTime,segTime,dt,nlvl,taylorN,alphaTol,diffTol,diffTolMax,method]=unfoldSimData(SimData);
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,...
MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11]=unfoldSysPara(SysPara);
ltc=[];sup=[];dem=[];busName=[];
% pv=[]; % with synchronous generators, the PV buses are not useful
[nIslands,islands]=searchIslands(bus(:,1),line(:,[1,2]));
if nIslands>1
addLog('There are more than 1 islands in the system. Only the largest island will be analyzed.','INFO');
maxIsland=findLargestIsland(nIslands,islands,bus,[],pq,sw);
[bus,~,pq,sw,line,ltc,sup,dem,shunt,ind,zip,syn,busName,newToOld,oldToNew,pvInd,pqInd,swInd,lineInd,ltcInd,supInd,demInd,shuntInd,indInd,zipInd,synInd] ...
=forgeLargestIsland(maxIsland,nIslands,islands,bus,[],pq,sw,line,ltc,sup,dem,shunt,ind,zip,syn,busName);
end
nbus=size(bus,1);
nline=size(line,1);
nIslands=1;
islands=ones(nbus,1);
if ~isempty(sw)
refs=sw(1,1);
else
refs=zeros(0,1);
end
synTag=zeros(nbus,1);
if ~isempty(syn);synTag(syn(:,1))=1;end
sw=sw(synTag(sw(:,1))==0,:);
% [bus,~,pq,sw,line,ltc,sup,dem,shunt,busName,ind,zip,syn,pm]=regulatePFData(bus,pv,pq,sw,line,ltc,sup,dem,shunt,busName,ind,zip,syn);
pv=pv(synTag(pv(:,1))==0,:);
if isempty(syn)&&isempty(sw)
SysDataUpd=foldSysData(bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster);
x0=[];
finalAlpha=0;
alphaList=[];
diff=[];
t=[];
stateCurve=[];
addLog('Steady-state analysis needs at Swing bus or synchronous machine(s) in the system.','ERROR');
return;
end
[bus,pv,pq,sw,line,shunt,ind,zip,syn,exc,tg,agc,cac,cluster,pm,oldToNew,newToOld]=regulateSystemData(bus,pv,pq,sw,line,shunt,ind,zip,syn,exc,tg,agc,cac,cluster);
if ~isempty(Pm1)
pm=Pm1;
end
nbus=size(bus,1);
nline=size(line,1);
% nlvl=10;
pq0=pq;
pv0=pv;
p0=pq(:,4);
q0=pq(:,5);
shunt0=shunt;
ind0=ind;
zip0=zip;
if ~isempty(pv);pvIncr=pv(:,4);else pvIncr=zeros(0,1); end
if ~isempty(pq);pqIncr=pq(:,[4,5]);else pqIncr=zeros(0,2); end
Rind0=zeros(size(ind,1),1);
Rind1=ones(size(ind,1),1);
Reind0=zeros(size(ind,1),1);
Reind1=ones(size(ind,1),1);
Rzip0=zeros(size(zip,1),1);
Rzip1=ones(size(zip,1),1);
busType=zeros(nbus,1);
if ~isempty(pv);busType(pv(:,1))=1;end
if ~isempty(sw);busType(sw(:,1))=2;end
if ~isempty(syn)
nm=accumarray(syn(:,1),ones(size(syn,1),1),[nbus,1]);
swGenBus=find(busType==2&nm~=0);
if ~isempty(swGenBus)
idxSwGen=find(syn(:,1)==swGenBus,1);
else
[~,idxSwGen]=min(pm);
end
pShare=zeros(size(syn,1),1);
pShare(idxSwGen)=1/length(idxSwGen);
else
pShare=[];
end
pShare=1/size(syn,1)*ones(size(syn,1),1);
% weightP(end)=0;
% pShare=(weightP)/sum(weightP);
V0=ones(nbus,1);
s0=zeros(size(ind,1),1);
Q0=zeros(nbus,1);
d0=zeros(size(syn,1),1);
Ef0=ones(size(syn,1),1);
if isempty(Ef1);Ef1=zeros(size(syn,1),1);end
[Y,Ytr,Ysh,ytrfr,ytrto,yshfr,yshto]=getYMatrix(nbus,line);
yShunt=zeros(nbus,1);
if ~isempty(shunt)
yShunt(shunt(:,1))=shunt(:,5)+1j*shunt(:,6);
end
% if ~isempty(zip)%zipMode=0
% yShunt=yShunt+accumarray(zip(:,1),(zip(:,5)+1j*zip(:,8)).*zip(:,12),[nbus,1]);
% end
Ysh=Ysh+yShunt;
Ysh0=Ysh*0;
Ysh1=Ysh;
PmX=zeros(size(syn,1),2);
PmX(:,2)=pm;
VspSq2=[ones(nbus,1),zeros(nbus,1)];
if ~isempty(pv);VspSq2(pv(:,1),2)=pv(:,5).*pv(:,5)-1;end
if ~isempty(sw);VspSq2(sw(:,1),2)=sw(:,4).*sw(:,4)-1;end
% taylorN=4;
pq(:,[4,5])=0;
if ~isempty(pv);pv(:,4)=0;end
% alphaTol=0.001;
% diffTol=1e-6;
% diffTolMax=1e-2;
startTag1=tic;
SysDatax=foldSysData(bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster);
[nState,idxs]...
=getIndexDyn(SysDatax);
x=zeros(nState,1);
x(idxs.vIdx)=V0;
x(idxs.sIdx)=s0;
x(idxs.qIdx)=Q0;
x(idxs.deltaIdx)=d0;
x(idxs.efIdx)=Ef0;
x(idxs.pgIdx)=PmX(:,1);
SysParax=foldSysPara(pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr,[],Ysh0,Ysh1,VspSq2,[],[],[],[],[],[],Ef1,PmX(:,2),[],[]);
SysParax.nIslands=nIslands;
SysParax.islands=islands;
SysParax.refs=refs;
addLog('###### STEADY-STATE ######','INFO');
[VSol,QSol,sSol,dSol,finalAlpha,alphaList,diff,t,stateCurve]=hemMachinePFmultiStage(SimData,SysDatax,SysParax,x,pShare);
addLog(['# STEADY-STATE # Comp. Time = ',num2str(toc(startTag1)),'(s).'],'INFO');
Ef=Ef0+1*Ef1;
pq=pq0;
pv=pv0;
zip=zip0;
ind=ind0;
shunt=shunt0;
SysDataUpd=foldSysData(bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster);
x=zeros(nState,1);
x(idxs.vIdx)=VSol;
x(idxs.qIdx)=QSol;
x(idxs.sIdx)=sSol;
x(idxs.deltaIdx)=dSol;
x(idxs.omegaIdx)=0.0;
x(idxs.efIdx)=Ef;
dx=0.0*x;
x0=perpareInitialState(SysDataUpd,x,dx);
end

@ -0,0 +1,143 @@
function diff=checkEquationBalanceSyn(SysData,SysPara,x,dx,dyn)
% Calculate equation imbalance
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% FUNCTION checkEquationBalanceSyn
%
% INPUT (WILL be modified in a future version)
%
% OUTPUT
% diff - Equation imbalance vector
%
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
[V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pm,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg]=unfoldX(x,SysData);
[~,~,ds,dd,dw,deq1,deq2,ded1,ded2,dpsid,dpsiq,dPm,~,dVavrm,dVavrr,dVavrf,~,dtgovg,~,dtgovmech,df,ddpg,dqplt,dvg]=unfoldX(dx,SysData);
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,~,Ysh0,~,Vsp2,~,~,~,~,Tmech1,Varref1,Ef1,Pm1,Eq11]=unfoldSysPara(SysPara);
nbus=size(bus,1);
if ~isempty(zip)%zipMode=0
Ysh0=Ysh0+accumarray(zip(:,1),(zip(:,5)+1j*zip(:,8)).*zip(:,12),[nbus,1]);
end
Y=Ytr0+sparse(1:nbus,1:nbus,Ysh0,nbus,nbus);
busType=zeros(nbus,1);
if isempty(pv)
pv=zeros(0,6);
end
if isempty(pq)
pq=zeros(0,6);
end
if isempty(shunt)
shunt=zeros(0,7);
end
if isempty(sw)
sw=zeros(0,13);
end
busType(pv(:,1))=1;
busType(sw(:,1))=2;
pVec=zeros(nbus,1);
qVec=zeros(nbus,1);
pVec(pv(:,1))=pVec(pv(:,1))+pv(:,4);
pVec(pq(:,1))=pVec(pq(:,1))-pq(:,4);
qVec(pq(:,1))=qVec(pq(:,1))-pq(:,5);
if ~isempty(zip)%zipMode=0
pVec=pVec-accumarray(zip(:,1),zip(:,7).*zip(:,12),[nbus,1]);
qVec=qVec-accumarray(zip(:,1),zip(:,10).*zip(:,12),[nbus,1]);
end
IInj=Y*V;
if ~isempty(zip)%zipMode=0
IInj=IInj+accumarray(zip(:,1),(zip(:,6)-1j*zip(:,9)).*zip(:,12).*V(zip(:,1))./abs(V(zip(:,1))),[nbus,1]);
end
SInjRHS=V.*conj(IInj);
if ~isempty(syn)
nSyn=size(syn,1);
synIdx=syn(:,1);
Rs=syn(:,7);
Xd=syn(:,8);
Xq=syn(:,13);
Efd=zeros(nSyn,1);
Efq=Ef;
cosd=cos(d);
sind=sin(d);
Cg=real(V(synIdx));
Dg=imag(V(synIdx));
Vd=sind.*Cg-cosd.*Dg;
Vq=cosd.*Cg+sind.*Dg;
Id=(Rs.*(Efd-Vd)+Xq.*(Efq-Vq))./(Rs.*Rs+Xq.*Xd);
Iq=(-Xd.*(Efd-Vd)+Rs.*(Efq-Vq))./(Rs.*Rs+Xq.*Xd);
IG=(sind.*Id+cosd.*Iq)+1j*(-cosd.*Id+sind.*Iq);
% IG=(Ef.*(cos(d)+1j*sin(d))-V(synIdx))./(Rs+1j*Xd);
SInjRHS_syn=-V.*conj(accumarray(synIdx,IG,[nbus,1]));
SInjRHS=SInjRHS+SInjRHS_syn;
end
if ~isempty(ind)
nInd=size(ind,1);
indIdx=ind(:,1);
R1=ind(:,7);
X1=ind(:,8);
Z1=ind(:,7)+1j*ind(:,8);
Xm=ind(:,13);
Ze=1j*ind(:,13);
R2=ind(:,9);
X2=ind(:,10);
T0=ind(:,15)+ind(:,16)+ind(:,17);
T1=-ind(:,16)-2*ind(:,17);
T2=ind(:,17);
H=ind(:,14);
Zind=Z1+Ze.*(R2+1j*X2.*s)./(R2+(1j*X2+Ze).*s);
ILind=V(indIdx)./Zind;
SInjRHS_ind=V.*conj(accumarray(indIdx,ILind,[nbus,1]));
SInjRHS=SInjRHS+SInjRHS_ind;
end
% qVec(busType~=0)=0;
diffSInj=SInjRHS-(pVec+1j*qVec);
diffSInj=diffSInj-1j*Q;
diffSInj(busType==2)=0;
diffsInd=zeros(0,1);
if ~isempty(ind)
Vind=V(indIdx);
VEind=Vind.*Ze./(Z1+Ze);
IRs=VEind.*s./(s.*Z1.*Ze./(Z1+Ze)+R2+1j*X2.*s);
ds(dyn==0)=0;
sIndLHS=ds*2.*H.*s;
diffsInd=real(sIndLHS-(T0+s.*(T1+s.*T2)).*s+IRs.*conj(IRs).*R2);
end
diffv=sum(Vsp2,2)-V.*conj(V);
diffv(busType==2)=0;
diff=[real(diffSInj);imag(diffSInj);diffv(busType~=0);diffsInd];
end

@ -0,0 +1,181 @@
function [diff,psw,qsw]=checkEquationBalanceSynAlgebraic(SysData,SysPara,x)
% Checking the equation balance in solving algebraic equations
% FUNCTION checkEquationBalanceSynAlgebraic
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SysData - System data for simulation
% SysPara - Parameters representing the events happening in the system
% x - System states
% OUTPUT
% diff - mismatch vector of the equations
% psw - active power of SW
% qsw - reactive power of SW
%
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
nbus=size(bus,1);
nline=size(line,1);
[V,Q,s,~,~,~,~,~,~,~,~,~,~,~,~,~,~,~,~,~,f,dpg,qplt,vg]=unfoldX(x,SysData);
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,Vsp2,MatGV,MatGV1,MatGRhs,MatGRhs1]=unfoldSysPara(SysPara);
if isfield(SysPara,'nIslands')&&isfield(SysPara,'islands')&&isfield(SysPara,'refs')
nIslands=SysPara.nIslands;islands=SysPara.islands;refs=SysPara.refs;
else
[nIslands,islands,refs]=searchIslands(bus(:,1),line(:,1:2));
end
if ~isempty(zip)%zipMode=0
Ysh0=Ysh0+accumarray(zip(:,1),(zip(:,5)+1j*zip(:,8)).*zip(:,12),[nbus,1]);
end
if ~isempty(shunt)
yShunt=zeros(nbus,1);
yShunt(shunt(:,1))=shunt(:,5)+1j*shunt(:,6);
Ysh0=Ysh0+yShunt;
end
Y=Ytr0+sparse(1:nbus,1:nbus,Ysh0,nbus,nbus);
%
busType=zeros(nbus,1);
if isempty(pv)
pv=zeros(0,6);
end
if isempty(pq)
pq=zeros(0,6);
end
if isempty(shunt)
shunt=zeros(0,7);
end
if isempty(sw)
sw=zeros(0,13);
end
busType(pv(:,1))=1;
busType(sw(:,1))=2;
isw=find(busType==2);
ipv=find(busType~=0);
ipq=find(busType==0);
npq=size(ipq,1);
npv=size(ipv,1);
pVec=zeros(nbus,1);
qVec=zeros(nbus,1);
% Determine the frequency model of each island
freqTypeTag=zeros(nIslands,1);%0:sw,1:syn,2:steady-state f
freqKeptTag=zeros(nbus,1);
frefs=refs;
fswTag=zeros(nbus,1);
fsynTag=zeros(nbus,1);
fswTag(isw)=1;
fswTagxD=fswTag;
fsynTag(syn(:,1))=1;
D0=imag(V);
for isl=1:nIslands
if isempty(find(fswTag(islands==isl)==1, 1))
if isempty(find(fsynTag(islands==isl)==1, 1))
freqTypeTag(isl)=2;
busesInIsland=find(islands==isl);
[~,imin]=min(abs(D0(busesInIsland)));
frefs(isl)=busesInIsland(imin(1));
fswTagxD(frefs(isl))=1;
freqKeptTag(busesInIsland)=1;
else
freqTypeTag(isl)=1;
end
end
end
freqKeptTagxRef=freqKeptTag;
freqKeptTagxRef(frefs)=0;
nFreqKept=sum(freqKeptTag);
if ~isempty(agc)
agcExt=zeros(nbus,size(agc,2));
agcExt(agc(:,1),:)=agc;
fdk=agcExt(:,2)+agcExt(:,3); %1/R+D
else
fdk=zeros(nbus,1);
end
pVec(pv(:,1))=pVec(pv(:,1))+pv(:,4);
pVec(pq(:,1))=pVec(pq(:,1))-pq(:,4);
qVec(pq(:,1))=qVec(pq(:,1))-pq(:,5);
if ~isempty(zip)%zipMode=0
pVec=pVec-accumarray(zip(:,1),zip(:,7).*zip(:,12),[nbus,1]);
qVec=qVec-accumarray(zip(:,1),zip(:,10).*zip(:,12),[nbus,1]);
end
% qVec(pv(:,1))=0;
pVec=pVec+freqKeptTag.*(-fdk.*f+dpg);
IInj=Y*V;
if ~isempty(zip)%zipMode=0
IInj=IInj+accumarray(zip(:,1),(zip(:,6)-1j*zip(:,9)).*zip(:,12).*V(zip(:,1))./abs(V(zip(:,1))),[nbus,1]);
end
SInjRHS=V.*conj(IInj);
if ~isempty(syn)
nSyn=size(syn,1);
synIdx=syn(:,1);
Cg=real(V(synIdx));
Dg=imag(V(synIdx));
IGx=-MatGV(:,1).*Cg-MatGV(:,2).*Dg+MatGRhs(:,1);
IGy=-MatGV(:,3).*Cg-MatGV(:,4).*Dg+MatGRhs(:,2);
IG=IGx+1j*IGy;
% IG=(Ef.*(cos(d)+1j*sin(d))-V(synIdx))./(Rs+1j*Xd);
SInjRHS_syn=-V.*conj(accumarray(synIdx,IG,[nbus,1]));
SInjRHS=SInjRHS+SInjRHS_syn;
end
if ~isempty(ind)
nInd=size(ind,1);
indIdx=ind(:,1);
Rm1=ind(:,7);
Xm1=ind(:,8);
Zm1=ind(:,7)+1j*ind(:,8);
Xmm=ind(:,13);
Zme=1j*ind(:,13);
Rm2=ind(:,9);
Xm2=ind(:,10);
Tm0=ind(:,15)+ind(:,16)+ind(:,17);
Tm1=-ind(:,16)-2*ind(:,17);
Tm2=ind(:,17);
Hm=ind(:,14);
Zind=Zm1+Zme.*(Rm2+1j*Xm2.*s)./(Rm2+(1j*Xm2+Zme).*s);
ILind=V(indIdx)./Zind;
SInjRHS=SInjRHS+V.*conj(accumarray(indIdx,ILind,[nbus,1]));
end
% qVec(busType~=0)=0;
diffSInj=SInjRHS-(pVec+1j*qVec);
diffSInj=diffSInj-1j*Q;
ssw=diffSInj(busType==2);
psw=real(ssw);qsw=imag(ssw);
diffSInj(busType==2)=0;
diffv=sum(Vsp2,2)-V.*conj(V);
diff=[real(diffSInj);imag(diffSInj);diffv(busType~=0)];
end

@ -0,0 +1,364 @@
function [diff,psw,qsw]=checkEquationBalanceSynDyn(SysData,SysPara,x,dx)
% Checking the equation balance in dynamic simulation
%% FUNCTION checkEquationBalanceSynDyn
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SysData - System data for simulation
% SysPara - Parameters representing the events happening in the system
% x - System states
% dx - Time derivative of system states
%
%%
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
nbus=size(bus,1);
nline=size(line,1);
[V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pm,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg]=unfoldX(x,SysData);
[~,~,ds,dd,dw,deq1,deq2,ded1,ded2,dpsid,dpsiq,dPm,~,dVavrm,dVavrr,dVavrf,~,dtgovg,~,dtgovmech,df,ddpg,dqplt,dvg]=unfoldX(dx,SysData);
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,~,Ysh0,Ysh1,Vsp2,~,~,~,~,Tmech1,Varref1,Ef1,Pm1,Eq11]=unfoldSysPara(SysPara);
if isfield(SysPara,'nIslands')&&isfield(SysPara,'islands')&&isfield(SysPara,'refs')
nIslands=SysPara.nIslands;islands=SysPara.islands;refs=SysPara.refs;
else
[nIslands,islands,refs]=searchIslands(bus(:,1),line(:,1:2));
end
if ~isempty(zip)%zipMode=0
Ysh0=Ysh0+accumarray(zip(:,1),(zip(:,5)+1j*zip(:,8)).*zip(:,12),[nbus,1]);
end
if ~isempty(shunt)
yShunt=zeros(nbus,1);
yShunt(shunt(:,1))=shunt(:,5)+1j*shunt(:,6);
Ysh0=Ysh0+yShunt;
end
Y=Ytr0+sparse(1:nbus,1:nbus,Ysh0,nbus,nbus);
%
busType=zeros(nbus,1);
if isempty(pv)
pv=zeros(0,6);
end
if isempty(pq)
pq=zeros(0,6);
end
if isempty(shunt)
shunt=zeros(0,7);
end
if isempty(sw)
sw=zeros(0,13);
end
busType(pv(:,1))=1;
busType(sw(:,1))=2;
D0=imag(V);
% Determine the frequency model of each island
freqTypeTag=zeros(nIslands,1);%0:sw,1:syn,2:steady-state f
freqKeptTag=zeros(nbus,1);
% frefs=refs;
fswTag=zeros(nbus,1);
fsynTag=zeros(nbus,1);
fswTag(sw(:,1))=1;
% fswTagxD=fswTag;
fsynTag(syn(:,1))=1;
for isl=1:nIslands
if isempty(find(fswTag(islands==isl)==1, 1))
if isempty(find(fsynTag(islands==isl)==1, 1))
freqTypeTag(isl)=2;
busesInIsland=find(islands==isl);
% [~,imin]=min(abs(D0(busesInIsland)));
% frefs(isl)=busesInIsland(imin(1));
% fswTagxD(frefs(isl))=1;
freqKeptTag(busesInIsland)=1;
else
freqTypeTag(isl)=1;
end
end
end
% freqKeptTagxRef=freqKeptTag;
% freqKeptTagxRef(frefs)=0;
% nFreqKept=sum(freqKeptTag);
pVec=zeros(nbus,1);
qVec=zeros(nbus,1);
pVec(pv(:,1))=pVec(pv(:,1))+pv(:,4);
pVec(pq(:,1))=pVec(pq(:,1))-pq(:,4);
qVec(pq(:,1))=qVec(pq(:,1))-pq(:,5);
if ~isempty(zip)%zipMode=0
pVec=pVec-accumarray(zip(:,1),zip(:,7).*zip(:,12),[nbus,1]);
qVec=qVec-accumarray(zip(:,1),zip(:,10).*zip(:,12),[nbus,1]);
end
% qVec(pv(:,1))=0;
IInj=Y*V;
if ~isempty(zip)%zipMode=0
IInj=IInj+accumarray(zip(:,1),(zip(:,6)-1j*zip(:,9)).*zip(:,12).*V(zip(:,1))./abs(V(zip(:,1))),[nbus,1]);
end
SInjRHS=V.*conj(IInj);
nSyn=size(syn,1);
diffdSyn=zeros(nSyn,1);
diffwSyn=zeros(nSyn,1);
diffeq1Syn=zeros(nSyn,1);
diffeq2Syn=zeros(nSyn,1);
diffed1Syn=zeros(nSyn,1);
diffed2Syn=zeros(nSyn,1);
diffpsiqSyn=zeros(nSyn,1);
diffpsidSyn=zeros(nSyn,1);
if ~isempty(syn)
synIdx=syn(:,1);
CG0=real(V(synIdx));
DG0=imag(V(synIdx));
IGd=zeros(nSyn,1);
IGq=zeros(nSyn,1);
cosd=cos(d);
sind=sin(d);
VGd=sind.*CG0-cosd.*DG0;
VGq=cosd.*CG0+sind.*DG0;
wgb=syn(:,4);
modSyn=syn(:,5);
Xgl=syn(:,6);
Rga=syn(:,7);
Xgd=syn(:,8);
Xgd1=syn(:,9);
Xgd2=syn(:,10);
Tgd1=syn(:,11);
Tgd2=syn(:,12);
Xgq=syn(:,13);
Xgq1=syn(:,14);
Xgq2=syn(:,15);
Tgq1=syn(:,16);
Tgq2=syn(:,17);
Mg=syn(:,18);
Dg=syn(:,19);
TgAA=syn(:,24);
gammad=Tgd2./Tgd1.*Xgd2./Xgd1.*(Xgd-Xgd1);
gammaq=Tgq2./Tgq1.*Xgq2./Xgq1.*(Xgq-Xgq1);
modelTag=accumarray(modSyn,ones(nSyn,1),[8,1]);
if modelTag(8)>0
IGd(modSyn==8)=(eq2(modSyn==8)-psid(modSyn==8))./Xgd2(modSyn==8);
IGq(modSyn==8)=(-ed2(modSyn==8)-psiq(modSyn==8))./Xgq2(modSyn==8);
diffdSyn(modSyn==8)=dd(modSyn==8)-(wgb(modSyn==8).*w(modSyn==8));
diffwSyn(modSyn==8)=dw(modSyn==8)-(Pm(modSyn==8)-(psid(modSyn==8).*IGq(modSyn==8)-psiq(modSyn==8).*IGd(modSyn==8))-Dg(modSyn==8).*w(modSyn==8))./Mg(modSyn==8);
diffpsidSyn(modSyn==8)=dpsid(modSyn==8)-wgb(modSyn==8).*(Rga.*IGd(modSyn==8)+psiq(modSyn==8)+VGd(modSyn==8));
diffpsiqSyn(modSyn==8)=dpsiq(modSyn==8)-wgb(modSyn==8).*(Rga.*IGq(modSyn==8)-psid(modSyn==8)+VGq(modSyn==8));
diffeq1Syn(modSyn==8)=deq1(modSyn==8)-(-eq1(modSyn==8)-(Xgd(modSyn==8)-Xgd1(modSyn==8)-gammad(modSyn==8)).*IGd(modSyn==8)+(1-TgAA(modSyn==8)./Tgd1(modSyn==8)).*Ef(modSyn==8))./Tgd1(modSyn==8);
diffed1Syn(modSyn==8)=ded1(modSyn==8)-(-ed1(modSyn==8)+(Xgq(modSyn==8)-Xgq1(modSyn==8)-gammaq(modSyn==8)).*IGq(modSyn==8))./Tgq1(modSyn==8);
diffeq2Syn(modSyn==8)=deq2(modSyn==8)-(-eq2(modSyn==8)+eq1(modSyn==8)-(Xgd1(modSyn==8)-Xgd2(modSyn==8)+gammad(modSyn==8)).*IGd(modSyn==8)+TgAA(modSyn==8)./Tgd1(modSyn==8).*Ef(modSyn==8))./Tgd2(modSyn==8);
diffed2Syn(modSyn==8)=ded2(modSyn==8)-(-ed2(modSyn==8)+ed1(modSyn==8)+(Xgq1(modSyn==8)-Xgq2(modSyn==8)+gammaq(modSyn==8)).*IGq(modSyn==8))./Tgq2(modSyn==8);
end
if modelTag(6)>0
IGd(modSyn==6)=((ed2(modSyn==6)-VGd(modSyn==6)).*Rga(modSyn==6)+(eq2(modSyn==6)-VGq(modSyn==6)).*Xgq2(modSyn==6))./(Rga(modSyn==6).*Rga(modSyn==6)+Xgd2(modSyn==6).*Xgq2(modSyn==6));
IGq(modSyn==6)=(-(ed2(modSyn==6)-VGd(modSyn==6)).*Xgd2(modSyn==6)+(eq2(modSyn==6)-VGq(modSyn==6)).*Rga(modSyn==6))./(Rga(modSyn==6).*Rga(modSyn==6)+Xgd2(modSyn==6).*Xgq2(modSyn==6));
diffdSyn(modSyn==6)=dd(modSyn==6)-(wgb(modSyn==6).*w(modSyn==6));
diffwSyn(modSyn==6)=dw(modSyn==6)-(Pm(modSyn==6)-(VGq(modSyn==6).*IGq(modSyn==6)+VGd(modSyn==6).*IGd(modSyn==6)+Rga(modSyn==6).*(IGq(modSyn==6).*IGq(modSyn==6)+IGd(modSyn==6).*IGd(modSyn==6)))-Dg(modSyn==6).*w(modSyn==6))./Mg(modSyn==6);
diffeq1Syn(modSyn==6)=deq1(modSyn==6)-(-eq1(modSyn==6)-(Xgd(modSyn==6)-Xgd1(modSyn==6)-gammad(modSyn==6)).*IGd(modSyn==6)+(1-TgAA(modSyn==6)./Tgd1(modSyn==6)).*Ef(modSyn==6))./Tgd1(modSyn==6);
diffed1Syn(modSyn==6)=ded1(modSyn==6)-(-ed1(modSyn==6)+(Xgq(modSyn==6)-Xgq1(modSyn==6)-gammaq(modSyn==6)).*IGq(modSyn==6))./Tgq1(modSyn==6);
diffeq2Syn(modSyn==6)=deq2(modSyn==6)-(-eq2(modSyn==6)+eq1(modSyn==6)-(Xgd1(modSyn==6)-Xgd2(modSyn==6)+gammad(modSyn==6)).*IGd(modSyn==6)+TgAA(modSyn==6)./Tgd1(modSyn==6).*Ef(modSyn==6))./Tgd2(modSyn==6);
diffed2Syn(modSyn==6)=ded2(modSyn==6)-(-ed2(modSyn==6)+ed1(modSyn==6)+(Xgq1(modSyn==6)-Xgq2(modSyn==6)+gammaq(modSyn==6)).*IGq(modSyn==6))./Tgq2(modSyn==6);
end
if modelTag(5)>0
IGd(modSyn==5)=((ed2(modSyn==5)-VGd(modSyn==5)).*Rga(modSyn==5)+(eq2(modSyn==5)-VGq(modSyn==5)).*Xgq2(modSyn==5))./(Rga(modSyn==5).*Rga(modSyn==5)+Xgd2(modSyn==5).*Xgq2(modSyn==5));
IGq(modSyn==5)=(-(ed2(modSyn==5)-VGd(modSyn==5)).*Xgd2(modSyn==5)+(eq2(modSyn==5)-VGq(modSyn==5)).*Rga(modSyn==5))./(Rga(modSyn==5).*Rga(modSyn==5)+Xgd2(modSyn==5).*Xgq2(modSyn==5));
diffdSyn(modSyn==5)=dd(modSyn==5)-(wgb(modSyn==5).*w(modSyn==5));
diffwSyn(modSyn==5)=dw(modSyn==5)-(Pm(modSyn==5)-(VGq(modSyn==5).*IGq(modSyn==5)+VGd(modSyn==5).*IGd(modSyn==5)+Rga(modSyn==5).*(IGq(modSyn==5).*IGq(modSyn==5)+IGd(modSyn==5).*IGd(modSyn==5)))-Dg(modSyn==5).*w(modSyn==5))./Mg(modSyn==5);
diffeq1Syn(modSyn==5)=deq1(modSyn==5)-(-eq1(modSyn==5)-(Xgd(modSyn==5)-Xgd1(modSyn==5)-gammad(modSyn==5)).*IGd(modSyn==5)+(1-TgAA(modSyn==5)./Tgd1(modSyn==5)).*Ef(modSyn==5))./Tgd1(modSyn==5);
diffeq2Syn(modSyn==5)=deq2(modSyn==5)-(-eq2(modSyn==5)+eq1(modSyn==5)-(Xgd1(modSyn==5)-Xgd2(modSyn==5)+gammad(modSyn==5)).*IGd(modSyn==5)+TgAA(modSyn==5)./Tgd1(modSyn==5).*Ef(modSyn==5))./Tgd2(modSyn==5);
diffed2Syn(modSyn==5)=ded2(modSyn==5)-(-ed2(modSyn==5)+ed1(modSyn==5)+(Xgq(modSyn==5)-Xgq2(modSyn==5)).*IGq(modSyn==5))./Tgq2(modSyn==5);
end
if modelTag(4)>0
IGd(modSyn==4)=((ed1(modSyn==4)-VGd(modSyn==4)).*Rga(modSyn==4)+(eq1(modSyn==4)-VGq(modSyn==4)).*Xgq1(modSyn==4))./(Rga(modSyn==4).*Rga(modSyn==4)+Xgd1(modSyn==4).*Xgq1(modSyn==4));
IGq(modSyn==4)=(-(ed1(modSyn==4)-VGd(modSyn==4)).*Xgd1(modSyn==4)+(eq1(modSyn==4)-VGq(modSyn==4)).*Rga(modSyn==4))./(Rga(modSyn==4).*Rga(modSyn==4)+Xgd1(modSyn==4).*Xgq1(modSyn==4));
diffdSyn(modSyn==4)=dd(modSyn==4)-(wgb(modSyn==4).*w(modSyn==4));
diffwSyn(modSyn==4)=dw(modSyn==4)-(Pm(modSyn==4)-(VGq(modSyn==4).*IGq(modSyn==4)+VGd(modSyn==4).*IGd(modSyn==4)+Rga(modSyn==4).*(IGq(modSyn==4).*IGq(modSyn==4)+IGd(modSyn==4).*IGd(modSyn==4)))-Dg(modSyn==4).*w(modSyn==4))./Mg(modSyn==4);
diffeq1Syn(modSyn==4)=deq1(modSyn==4)-(-eq1(modSyn==4)-(Xgd(modSyn==4)-Xgd1(modSyn==4)).*IGd(modSyn==4)+Ef(modSyn==4))./Tgd1(modSyn==4);
diffed1Syn(modSyn==4)=ded1(modSyn==4)-(-ed1(modSyn==4)+(Xgq(modSyn==4)-Xgq1(modSyn==4)).*IGq(modSyn==4))./Tgq1(modSyn==4);
end
if modelTag(3)>0
IGd(modSyn==3)=((-VGd(modSyn==3)).*Rga(modSyn==3)+(eq1(modSyn==3)-VGq(modSyn==3)).*Xgq(modSyn==3))./(Rga(modSyn==3).*Rga(modSyn==3)+Xgd1(modSyn==3).*Xgq(modSyn==3));
IGq(modSyn==3)=(-(-VGd(modSyn==3)).*Xgd1(modSyn==3)+(eq1(modSyn==3)-VGq(modSyn==3)).*Rga(modSyn==3))./(Rga(modSyn==3).*Rga(modSyn==3)+Xgd1(modSyn==3).*Xgq(modSyn==3));
diffdSyn(modSyn==3)=dd(modSyn==3)-(wgb(modSyn==3).*w(modSyn==3));
diffwSyn(modSyn==3)=dw(modSyn==3)-(Pm(modSyn==3)-(VGq(modSyn==3).*IGq(modSyn==3)+VGd(modSyn==3).*IGd(modSyn==3)+Rga(modSyn==3).*(IGq(modSyn==3).*IGq(modSyn==3)+IGd(modSyn==3).*IGd(modSyn==3)))-Dg(modSyn==3).*w(modSyn==3))./Mg(modSyn==3);
diffeq1Syn(modSyn==3)=deq1(modSyn==3)-(-eq1(modSyn==3)-(Xgd(modSyn==3)-Xgd1(modSyn==3)).*IGd(modSyn==3)+Ef(modSyn==3))./Tgd1(modSyn==3);
end
if modelTag(2)>0
IGd(modSyn==2)=((-VGd(modSyn==2)).*Rga(modSyn==2)+(Ef(modSyn==2)-VGq(modSyn==2)).*Xgq(modSyn==2))./(Rga(modSyn==2).*Rga(modSyn==2)+Xgd(modSyn==2).*Xgq(modSyn==2));
IGq(modSyn==2)=(-(-VGd(modSyn==2)).*Xgd(modSyn==2)+(Ef(modSyn==2)-VGq(modSyn==2)).*Rga(modSyn==2))./(Rga(modSyn==2).*Rga(modSyn==2)+Xgd(modSyn==2).*Xgq(modSyn==2));
diffdSyn(modSyn==2)=dd(modSyn==2)-(wgb(modSyn==2).*w(modSyn==2));
diffwSyn(modSyn==2)=dw(modSyn==2)-(Pm(modSyn==2)-(VGq(modSyn==2).*IGq(modSyn==2)+VGd(modSyn==2).*IGd(modSyn==2)+Rga(modSyn==2).*(IGq(modSyn==2).*IGq(modSyn==2)+IGd(modSyn==2).*IGd(modSyn==2)))-Dg(modSyn==2).*w(modSyn==2))./Mg(modSyn==2);
end
JG=sind.*IGd+cosd.*IGq;
KG=-cosd.*IGd+sind.*IGq;
SInjRHS_syn=-accumarray(synIdx,CG0.*JG+DG0.*KG+1j*(DG0.*JG-CG0.*KG),[nbus,1]);
SInjRHS=SInjRHS+SInjRHS_syn;
end
diffSyn=[diffdSyn;diffwSyn;diffpsidSyn;diffpsiqSyn;diffeq1Syn;diffed1Syn;diffeq2Syn;diffed2Syn];
% qVec(busType~=0)=0;
if ~isempty(ind)
nInd=size(ind,1);
indIdx=ind(:,1);
Rm1=ind(:,7);
Xm1=ind(:,8);
Zm1=ind(:,7)+1j*ind(:,8);
Xmm=ind(:,13);
Zme=1j*ind(:,13);
Rm2=ind(:,9);
Xm2=ind(:,10);
Tm0=ind(:,15)+ind(:,16)+ind(:,17);
Tm1=-ind(:,16)-2*ind(:,17);
Tm2=ind(:,17);
Hm=ind(:,14);
Zind=Zm1+Zme.*(Rm2+1j*Xm2.*s)./(Rm2+(1j*Xm2+Zme).*s);
ILind=V(indIdx)./Zind;
SInjRHS=SInjRHS+V.*conj(accumarray(indIdx,ILind,[nbus,1]));
end
diffSInj=SInjRHS-(pVec+1j*qVec);
diffSInj=diffSInj-1j*Q;
ssw=diffSInj(busType==2);
psw=real(ssw);qsw=imag(ssw);
diffSInj(busType==2)=0;
diffsInd=zeros(0,1);
if ~isempty(ind)
Vind=V(indIdx);
VEind=Vind.*Zme./(Zm1+Zme);
IRs=VEind.*s./(s.*Zm1.*Zme./(Zm1+Zme)+Rm2+1j*Xm2.*s);
sIndLHS=ds*2.*Hm.*s;
diffsInd=real(sIndLHS-(Tm0+s.*(Tm1+s.*Tm2)).*s+IRs.*conj(IRs).*Rm2);
end
Vmag=abs(V);
nExc=size(exc,1);
diffExcVm=zeros(nExc,1);
diffExcVr=zeros(nExc,1);
diffExcVf=zeros(nExc,1);
diffExcEf=zeros(nExc,1);
if ~isempty(exc)
excIdx=exc(:,1);
VavrMax=exc(:,3);
VavrMin=exc(:,4);
muavr0=exc(:,5);
Tavr1=exc(:,7);
Tavr2=exc(:,6);
vavrf0=exc(:,8);
Vavr0=exc(:,9);
Tavre=exc(:,10);
Tavrr=exc(:,11);
VmagAvr=Vmag(synIdx(excIdx));
diffExcVm=dVavrm-(VmagAvr-Vavrm)./Tavrr;
diffExcVr=dVavrr-(muavr0.*(1-Tavr1./Tavr2).*(Vavrref-Vavrm)-Vavrr)./Tavr2;
diffExcVf=dVavrf-((Vavrr+muavr0.*Tavr1./Tavr2.*(Vavrref-Vavrm)+vavrf0).*VmagAvr./Vavr0-Vavrf)./Tavre;
Vavrf=real(Vavrf);
Efx=Vavrf;
tavrMaxDiff=Vavrf-VavrMax;
tavrMinDiff=Vavrf-VavrMin;
Efx(tavrMaxDiff>0)=VavrMax(tavrMaxDiff>0);
Efx(tavrMinDiff<0)=VavrMin(tavrMinDiff<0);
diffExcEf=Ef(excIdx)-Efx;
end
diffExc=[diffExcVm;diffExcVr;diffExcVf;diffExcEf];
nTg=size(tg,1);
diffAgcm=zeros(nbus,1);
diffAgcf=zeros(nSyn,1);
diffAgcftg=zeros(nTg,1);
fx=zeros(nbus,1);
synTag=zeros(nbus,1);
synTag(syn(:,1))=1:nSyn;
numSynOnBus=accumarray(syn(:,1),1,[nbus,1]);
for islIdx=1:nIslands
busIsland=find(islands==islIdx);
synTagIsland=synTag(busIsland);
wIsland=w(synTagIsland(synTagIsland~=0));
if ~isempty(wIsland)
fx(busIsland)=mean(wIsland); % note that here the freq can be different
else
% TODO: steady-state model
end
% synIslIdx=syn(synTagIsland(synTagIsland~=0),1);
% diffAgcf=dPm+fx(synIslIdx).*agcExt(synIslIdx,4);
end
diffFreq=fx-f;
if ~isempty(agc)
if isempty(Pm1);Pm1=zeros(nSyn,1);end
if isempty(Tmech1);Tmech1=zeros(nTg,1);end
agcExt=zeros(nbus,size(agc,2));
agcExt(agc(:,1),:)=agc;
diffAgcm=ddpg+f.*agcExt(:,4);
if ~isempty(syn)
diffAgcf=dPm-ddpg(syn(:,1))./numSynOnBus(syn(:,1))-Pm1;
if ~isempty(tg)
diffAgcf(tg(:,1))=0;
diffAgcftg=dtgovmech-ddpg(syn(tg(:,1),1))./numSynOnBus(syn(tg(:,1),1))-Tmech1;
end
end
fdk=agcExt(:,2)+agcExt(:,3); %1/R+D
diffSInj=diffSInj+freqKeptTag.*(fdk.*f-dpg);
end
diffAgc=[diffFreq(freqKeptTag==0);diffAgcm;diffAgcf;diffAgcftg];
diffTgtg=zeros(nTg,1);
diffTgtm=zeros(nTg,1);
diffTgPm=zeros(nTg,1);
if ~isempty(tg)
tgIdx=tg(:,1);
wtgref=tg(:,3);
Rtg=tg(:,4);
Ttgmax=tg(:,5);
Ttgmin=tg(:,6);
Ttg2=tg(:,7);
Ttg1=tg(:,8);
diffTgtg=dtgovg-((1-Ttg1./Ttg2).*(wtgref-w(tgIdx))./Rtg-tgovg)./Ttg2;
diffTgtm=tgovm-(tgovg+Ttg1./Ttg2.*(wtgref-w(tgIdx))./Rtg+tgovmech);
tgovm=real(tgovm);
Pmx=tgovm;
tgovMaxDiff=tgovm(:,1)-Ttgmax;
tgovMinDiff=tgovm(:,1)-Ttgmin;
Pmx(tgovMaxDiff>0)=Ttgmax(tgovMaxDiff>0);
Pmx(tgovMinDiff<0)=Ttgmin(tgovMinDiff<0);
diffTgPm=Pm(tgIdx)-Pmx;
end
diffTg=[diffTgtg;diffTgtm;diffTgPm];
diffv=sum(Vsp2,2)-V.*conj(V);
diff=[real(diffSInj);imag(diffSInj);diffv(busType~=0);diffsInd;diffSyn;diffExc;diffTg;diffAgc];
end

@ -0,0 +1,45 @@
function [T,y]=constructToepFull(ct,y)
% For constructing the Toeplitz matrix
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% ct - D*(2N-1)
% y - D*N
% OUTPUT
% T - toeplitz matrix
% y - the same as input
%
D=size(ct,1); % The dimension of the variables
N=round((size(ct,2)+1)/2); % The size of the Toep matrix
nV=zeros(1,N,N);
nV(1,:,:)=toeplitz(N:(2*N-1),N:-1:1);
nVFull=repmat(nV,[D,1,1]);
dV=zeros(D,1,1);
dV(:,1,1)=1:D;
dVFull=repmat(dV,[1,N,N]);
idx=sub2ind([D,2*N-1],dVFull,nVFull);
T=ct(idx);
end

@ -0,0 +1,412 @@
function [SysDataNew,xNew]=convertSteadyDynModels(SysData,SysDataOrig,x,deltax,xOrig,SysPara,convMode)
% Conversion between QSS and dynamic model
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SysData - System data for conversion
% SysDataOrig - Original system data for reference (for guiding conversion from QSS to dynamic model)
% x - Current system states
% deltax - Time derivative of system states
% xOrig - Original system state
% SysPara -
% convMode
% 0 - QSS -> Dynamic
% 1 - Dynamic -> QSS
%
% OUTPUT
% SysDataNew - Converted system data
% xNew - new system state
%
%
% [busBase,swBase,pvBase,pqBase,shuntBase,lineBase,indBase,zipBase,synBase,excBase,tgBase,agcBase,cacBase,clusterBase]=unfoldSysData(BaseSysData);
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
[V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pm,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg]=unfoldX(x,SysData);
[~,~,ds,dd,dw,deq1,deq2,ded1,ded2,dpsid,dpsiq,dPm,~,dVavrm,dVavrr,dVavrf,~,dtgovg,~,dtgovmech,df,ddpg,dqplt,dvg]=unfoldX(deltax,SysData);
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,...
MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11,fault]=unfoldSysPara(SysPara);
[nIslands,islands]=searchIslands(bus(:,1),line(:,[1,2]));
if convMode==0 % To full dynamic model, i.e. convert all sw and pv to syn
[buso,swo,pvo,pqo,shunto,lineo,indo,zipo,syno,exco,tgo,agco,caco,clustero]=unfoldSysData(SysDataOrig);% SysDataOrig must not be empty
%
nbus=size(bus,1);
nline=size(line,1);
[nIslands,islands,refs]=searchIslands(bus(:,1),line(:,1:2));
yShunt=zeros(nbus,1);
yShunt(shunt(:,1))=shunt(:,5)+1j*shunt(:,6);
if ~isempty(zip)%zipMode=0
yShunt=yShunt+accumarray(zip(:,1),(zip(:,5)+1j*zip(:,8)).*zip(:,12),[nbus,1]);
end
if isempty(Ytr0)
[~,Ytr0,Ysh0]=getYMatrix(nbus,line,fault);
end
Ysh0=Ysh0+yShunt;
Y=Ytr0+sparse(1:nbus,1:nbus,Ysh0,nbus,nbus);
busType=zeros(nbus,1);
if isempty(pv)
pv=zeros(0,6);
end
if isempty(pq)
pq=zeros(0,6);
end
if isempty(shunt)
shunt=zeros(0,7);
end
if isempty(sw)
sw=zeros(0,13);
end
busType(pv(:,1))=1;
busType(sw(:,1))=2;
agcExt=zeros(nbus,4);
if ~isempty(agc)
agcExt(agc(:,1),:)=agc;
end
fdk=agcExt(:,2)+agcExt(:,3);
D0=imag(V);
% Determine the frequency model of each island
freqTypeTag=zeros(nIslands,1);%0:sw,1:syn,2:steady-state f
freqKeptTag=zeros(nIslands,1);
frefs=refs;
fswTag=zeros(nbus,1);
fsynTag=zeros(nbus,1);
fswTag(sw(:,1))=1;
fswTagxD=fswTag;
fsynTag(syn(:,1))=1;
for isl=1:nIslands
if isempty(find(fswTag(islands==isl)==1, 1))
if isempty(find(fsynTag(islands==isl)==1, 1))
freqTypeTag(isl)=2;
busesInIsland=find(islands==isl);
[~,imin]=min(abs(D0(busesInIsland)));
frefs(isl)=busesInIsland(imin(1));
fswTagxD(frefs(isl))=1;
freqKeptTag(busesInIsland)=1;
else
freqTypeTag(isl)=1;
end
end
end
freqKeptTagxRef=freqKeptTag;
freqKeptTagxRef(frefs)=0;
nFreqKept=sum(freqKeptTag);
pVec=zeros(nbus,1);
qVec=zeros(nbus,1);
% pVec(pv(:,1))=pVec(pv(:,1))+pv(:,4);
pVec(pq(:,1))=pVec(pq(:,1))-pq(:,4);
qVec(pq(:,1))=qVec(pq(:,1))-pq(:,5);
if ~isempty(zip)%zipMode=0
pVec=pVec-accumarray(zip(:,1),zip(:,7).*zip(:,12),[nbus,1]);
qVec=qVec-accumarray(zip(:,1),zip(:,10).*zip(:,12),[nbus,1]);
end
IInj=Y*V;
if ~isempty(zip)%zipMode=0
IInj=IInj+accumarray(zip(:,1),(zip(:,6)-1j*zip(:,9)).*zip(:,12).*V(zip(:,1))./abs(V(zip(:,1))),[nbus,1]);
end
SInjRHS=V.*conj(IInj);
% qVec(busType~=0)=0;
if ~isempty(ind)
nInd=size(ind,1);
indIdx=ind(:,1);
Rm1=ind(:,7);
Xm1=ind(:,8);
Zm1=ind(:,7)+1j*ind(:,8);
Xmm=ind(:,13);
Zme=1j*ind(:,13);
Rm2=ind(:,9);
Xm2=ind(:,10);
Tm0=ind(:,15)+ind(:,16)+ind(:,17);
Tm1=-ind(:,16)-2*ind(:,17);
Tm2=ind(:,17);
Hm=ind(:,14);
Zind=Zm1+Zme.*(Rm2+1j*Xm2.*s)./(Rm2+(1j*Xm2+Zme).*s);
ILind=V(indIdx)./Zind;
SInjRHS=SInjRHS+V.*conj(accumarray(indIdx,ILind,[nbus,1]));
end
diffSInj=SInjRHS-(pVec+1j*qVec);
% diffSInj=diffSInj-1j*Q;
% diffSInj(busType==2)=0;
sg=diffSInj;
sgSyn=sg(syno(:,1));
IgSyn=conj(sgSyn./V(syno(:,1)));
w=f(syno(:,1));
Qx=zeros(nbus,1);
Eq=V(syno(:,1))+IgSyn.*(syno(:,7)+1j*syno(:,13));
dg=atan2(imag(Eq),real(Eq));
unitEq=Eq./abs(Eq);
unitEd=-1j*unitEq;
Id=unitEd.*(real(unitEd).*real(IgSyn)+imag(unitEd).*imag(IgSyn));
Efx=Eq+1j*Id.*(syno(:,8)-syno(:,13));
synIdx=syno(:,1);
Rga=syno(:,7);
Xgd=syno(:,8);
Xgd1=syno(:,9);
Xgd2=syno(:,10);
Xgq=syno(:,13);
Xgq1=syno(:,14);
Xgq2=syno(:,15);
Vgx=real(V(synIdx));
Vgy=imag(V(synIdx));
Igx=real(IgSyn);
Igy=imag(IgSyn);
Vgd=Vgx.*sin(dg)-Vgy.*cos(dg);
Vgq=Vgx.*cos(dg)+Vgy.*sin(dg);
Igd=Igx.*sin(dg)-Igy.*cos(dg);
Igq=Igx.*cos(dg)+Igy.*sin(dg);
eq1=Vgq+Igd.*Xgd1+Igq.*Rga;
ed1=Vgd+Igd.*Rga-Igq.*Xgq;
SysDataNew=foldSysData(buso,swo,pvo,pq,shunt,lineo,ind,zip,syno,exco,tgo,agc,caco,clustero);
[nState,idxs]...
=getIndexDyn(SysDataNew);
xx=zeros(nState,1);
xx(idxs.vIdx)=V;
xx(idxs.qIdx)=Qx;
xx(idxs.sIdx)=s;
xx(idxs.deltaIdx)=dg;
xx(idxs.omegaIdx)=w;
xx(idxs.efIdx)=abs(Efx);
deltaxx=zeros(nState,1);
deltaxx(idxs.omegaIdx)=df(syno(:,1));
% deltaxx(tgovgIdx)=ddpg(syno(tgo(:,1),1))+tgo(:,8)./tgo(:,7)./tgo(:,4).*df(syno(tgo(:,1),1));
deltaxx(idxs.tgovgIdx)=-(1-tgo(:,8)./tgo(:,7))./tgo(:,4).*df(syno(tgo(:,1),1));
xNew=perpareInitialState(SysDataNew,xx,deltaxx);
SysDataNew.agc=agco;
xNew(idxs.fIdx)=f;
% xNew(eq1Idx)=xOrig(eq1Idx);
% xNew(eq2Idx)=xOrig(eq2Idx);
% xNew(ed1Idx)=xOrig(ed1Idx);
% xNew(ed2Idx)=xOrig(ed2Idx);
% xNew(psidIdx)=xOrig(psidIdx);
% xNew(psiqIdx)=xOrig(psiqIdx);
xNew(idxs.vavrmIdx)=xOrig(idxs.vavrmIdx);
xNew(idxs.vavrrIdx)=xOrig(idxs.vavrrIdx);
xNew(idxs.vavrfIdx)=xOrig(idxs.vavrfIdx);
xNew(idxs.vavrrefIdx)=xOrig(idxs.vavrrefIdx);
elseif convMode==1 % To QSS model, i.e. convert all syn to sw and pv (or pv if agc is on)
[nState,idxs]...
=getIndexDyn(SysData);
nbus=size(bus,1);
nline=size(line,1);
busType=zeros(nbus,1);
if isempty(pv)
pv=zeros(0,6);
end
if isempty(pq)
pq=zeros(0,6);
end
if isempty(shunt)
shunt=zeros(0,7);
end
if isempty(sw)
sw=zeros(0,13);
end
busType(pv(:,1))=1;
busType(sw(:,1))=2;
agcExt=zeros(nbus,4);
agcExt(1:nbus,1)=1:nbus;
if ~isempty(agc)
agcExt(agc(:,1),:)=agc;
end
synIsland=islands(syn(:,1));
synV=V(syn(:,1));
dg=x(idxs.deltaIdx);
wg=x(idxs.omegaIdx);
eq1=x(idxs.eq1Idx);
eq2=x(idxs.eq2Idx);
ed1=x(idxs.ed1Idx);
ed2=x(idxs.ed2Idx);
psid=x(idxs.psidIdx);
psiq=x(idxs.psiqIdx);
vbus=x(idxs.vIdx);
Ef=x(idxs.efIdx);
if ~isempty(syn)
nSyn=size(syn,1);
synIdx=syn(:,1);
Vgx=real(vbus(synIdx));
Vgy=imag(vbus(synIdx));
Vgd=Vgx.*sin(dg)-Vgy.*cos(dg);
Vgq=Vgx.*cos(dg)+Vgy.*sin(dg);
wgb=syn(:,4);
model=syn(:,5);
Xgl=syn(:,6);
Rga=syn(:,7);
Xgd=syn(:,8);
Xgd1=syn(:,9);
Xgd2=syn(:,10);
Tgd1=syn(:,11);
Tgd2=syn(:,12);
Xgq=syn(:,13);
Xgq1=syn(:,14);
Xgq2=syn(:,15);
Tgq1=syn(:,16);
Tgq2=syn(:,17);
Mg=syn(:,18);
Dg=syn(:,19);
TgAA=syn(:,24);
gammad=Tgd2./Tgd1.*Xgd2./Xgd1.*(Xgd-Xgd1);
gammaq=Tgq2./Tgq1.*Xgq2./Xgq1.*(Xgq-Xgq1);
Igd=zeros(nSyn,1);
Igq=zeros(nSyn,1);
for i=1:nSyn
if model(i)==8
Igd(i)=(eq2(i)-psid(i))/Xgd2(i);
Igq(i)=(-ed2(i)-psiq(i))/Xgq2(i);
elseif model(i)==6
Igd(i)=(Rga(i)*(ed2(i)-Vgd(i))+Xgq2(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
Igq(i)=(-Xgd2(i)*(ed2(i)-Vgd(i))+Rga(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
elseif model(i)==5
Igd(i)=(Rga(i)*(ed2(i)-Vgd(i))+Xgq2(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
Igq(i)=(-Xgd2(i)*(ed2(i)-Vgd(i))+Rga(i)*(eq2(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
elseif model(i)==4
Igd(i)=(Rga(i)*(ed1(i)-Vgd(i))+Xgq1(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq1(i));
Igq(i)=(-Xgd1(i)*(ed1(i)-Vgd(i))+Rga(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq1(i));
elseif model(i)==3
Igd(i)=(Rga(i)*(-Vgd(i))+Xgq(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq(i));
Igq(i)=(-Xgd1(i)*(-Vgd(i))+Rga(i)*(eq1(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd1(i)*Xgq(i));
elseif model(i)==2
Igd(i)=(Rga(i)*(-Vgd(i))+Xgq(i)*(Ef(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd(i)*Xgq(i));
Igq(i)=(-Xgd(i)*(-Vgd(i))+Rga(i)*(Ef(i)-Vgq(i)))/(Rga(i)*Rga(i)+Xgd(i)*Xgq(i));
end
end
Ig=(Igd.*sin(dg)+Igq.*cos(dg))+1j*(-Igd.*cos(dg)+Igq.*sin(dg));
else
Ig=zeros(0,1);
end
synS=synV.*conj(Ig);
synP=real(synS);
Qx=Q;
Qx(syn(:,1))=Qx(syn(:,1))+imag(synS);
pgTotal=zeros(nbus,1);
pgTotal(pv(:,1))=pv(:,4);
pgTotal(syn(:,1))=pgTotal(syn(:,1))+synP;
% pgTotal(pq(:,1))=pgTotal(pq(:,1))-pq(:,4);
busTypeNew=busType;
busTypeNew(syn(:,1))=1;
busTypeNew(sw(:,1))=2;
f0=f;
for island=1:nIslands
busesInIsland=find(islands==island);
agcCoeffInIsland=agcExt(busesInIsland,4);
busTypeInIsland=busTypeNew(busesInIsland);
pBusesInIsland=busesInIsland(busTypeInIsland>0);
swBusesInIsland=busesInIsland(busTypeInIsland==2);
f0(busesInIsland)=mean(f(busesInIsland));
if sum(agcCoeffInIsland(busTypeInIsland>0))>0 % Effective AGC
else % No Effective AGC in island
% if isempty(swBusesInIsland)&&~isempty(pBusesInIsland)
% busTypeNew(pBusesInIsland(1))=2;
% end
% f0(busesInIsland)=0.0;
end
if ~isempty(swBusesInIsland)
f0(busesInIsland)=0.0;
end
end
agcExt(syn(:,1),3)=agcExt(syn(:,1),3)+syn(:,19);
agcExt(syn(tg(:,1),1),2)=agcExt(syn(tg(:,1),1),2)+1./tg(:,4);
TagcOri=1./agcExt(:,4);
K=zeros(nbus,1);
K(syn(:,1))=K(syn(:,1))+syn(:,19);
K(syn(tg(:,1),1))=K(syn(tg(:,1),1))+1./tg(:,4);
Tagc=zeros(nbus,1);
Tagc(syn(:,1))=syn(:,18)./syn(:,19);
Mtg=syn(tg(:,1),18);
Dtg=syn(tg(:,1),18);
Rtg=tg(:,4);
T1tg=tg(:,8);
T2tg=tg(:,7);
Tagc(syn(tg(:,1),1))=2*Mtg.*T2tg.*Rtg./(Rtg.*Mtg+T1tg+Rtg.*Dtg.*T2tg-sqrt((Rtg.*Mtg-Rtg.*Dtg.*T2tg).*(Rtg.*Mtg-Rtg.*Dtg.*T2tg)+4*Rtg.*Mtg.*(T1tg-T2tg)));
recTagc=(K.*TagcOri-sqrt(K.*K.*TagcOri.*TagcOri-4*K.*TagcOri.*Tagc))/2./TagcOri./Tagc;
recTagc(isnan(recTagc))=0.0;
agcExt(:,4)=recTagc;
fdk=agcExt(:,2)+agcExt(:,3);
agcTag=zeros(nbus,1);
agcTag(agc(:,1))=1;
agcTag(fdk>0)=1;
agcTag(agcExt(:,4)~=0)=1;
agcNew=agcExt(agcTag==1,:);
pvNewIdx=find(busTypeNew==1);
swNewIdx=find(busTypeNew==2);
pqDel=pq(busTypeNew(pq(:,1))~=0,:);
pq(busTypeNew(pq(:,1))~=0,5)=0;
Qx(pqDel(:,1))=Qx(pqDel(:,1))-pqDel(:,5);
pvNew=[pvNewIdx,100.0*ones(size(pvNewIdx,1),1),bus(pvNewIdx,2),pgTotal(pvNewIdx),abs(V(pvNewIdx)),repmat([2.0,0.0,0,1],size(pvNewIdx,1),1)];
swNew=[swNewIdx,100.0*ones(size(swNewIdx,1),1),bus(swNewIdx,2),abs(V(swNewIdx)),atan2(imag(V(swNewIdx)),real(V(swNewIdx)))*180/pi,repmat([99.00000 -99.00000 1.1 0.9 0 1 1 1],size(swNewIdx,1),1)];
deltaFd=fdk.*f0;
pvNew(:,4)=pvNew(:,4)+deltaFd(pvNew(:,1));
deltaFd(pvNew(:,1))=0.0;
pqVal=zeros(nbus,2);
pqVal(pq(:,1),:)=pq(:,4:5);
pqVal(:,1)=pqVal(:,1)-deltaFd;
pqNew=[bus(:,1),100.0*ones(nbus,1),bus(:,2),pqVal,repmat([2.0,0.0,0,1],nbus,1)];
pqNew=pqNew(pqNew(:,4)~=0|pqNew(:,5)~=0,:);
SysDataNew=foldSysData(bus,swNew,pvNew,pqNew,shunt,line,ind,zip,zeros(0,26),zeros(0,14),zeros(0,8),agcNew,cac,cluster);
[nState,idxs]...
=getIndexDyn(SysDataNew);
xx=zeros(nState,1);
xx(idxs.vIdx)=V;
xx(idxs.qIdx)=Qx;
xx(idxs.sIdx)=s;
deltaxx=zeros(nState,1);
xNew=perpareInitialState(SysDataNew,xx,deltaxx);
xNew(idxs.fIdx)=f0;
dpg0=zeros(nbus,1);
xNew(idxs.dpgIdx)=dpg0;
end
end

@ -0,0 +1,106 @@
function [SysDataUpd,busFtr,swFtr,pvFtr,pqFtr,shuntFtr,lineFtr,indFtr,zipFtr,synFtr,excFtr,tgFtr,...
busMapNew,indMapNew,synMapNew,lineMapNew,invBusMapNew,invIndMapNew,invSynMapNew,invLineMapNew]=...
filterSysData(busTag,SysData,busMap,indMap,synMap,lineMap,invBusMap,invIndMap,invSynMap,invLineMap)
% Generate filter mappings of system data when partial system is studied and filter system data
%
% FUNCTION filterSysData
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% busTag - 0/1 tags of the existence of buses
% SysData - System data
% *Map - The mapping of current data to base data
% inv*Map - Inverse mapping, base data to current data
%
% OUTPUT
% SysDataUpd - Updated system data
% *Ftr - Filter of current data to rip off inactive components
%
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
busFtr=find(busTag==1);
swFtr=find(busTag(sw(:,1))==1);
pvFtr=find(busTag(pv(:,1))==1);
pqFtr=find(busTag(pq(:,1))==1);
shuntFtr=find(busTag(shunt(:,1))==1);
lineFtr=find(busTag(line(:,1))==1&busTag(line(:,2))==1);
indFtr=find(busTag(ind(:,1))==1);
zipFtr=find(busTag(zip(:,1))==1);
synTag=busTag(syn(:,1));
synFtr=find(synTag==1);
excFtr=find(synTag(exc(:,1))==1);
tgFtr=find(synTag(tg(:,1))==1);
agcFtr=find(busTag(agc(:,1))==1);
invBusFtr=zeros(size(bus,1),1);
invBusFtr(busFtr)=1:length(busFtr);
invSynFtr=zeros(size(syn,1),1);
invSynFtr(synFtr)=1:length(synFtr);
invBusMapNew=invBusMap(busFtr);
invIndMapNew=invIndMap(indFtr);
invSynMapNew=invSynMap(synFtr);
invLineMapNew=invLineMap(lineFtr);
busMapNew=zeros(size(busMap));
indMapNew=zeros(size(indMap));
synMapNew=zeros(size(synMap));
lineMapNew=zeros(size(lineMap));
busMapNew(invBusMapNew)=1:length(invBusMapNew);
indMapNew(invIndMapNew)=1:length(invIndMapNew);
synMapNew(invSynMapNew)=1:length(invSynMapNew);
lineMapNew(invLineMapNew)=1:length(invLineMapNew);
busNew=bus(busFtr,:);
swNew=sw(swFtr,:);
pvNew=pv(pvFtr,:);
pqNew=pq(pqFtr,:);
shuntNew=shunt(shuntFtr,:);
lineNew=line(lineFtr,:);
indNew=ind(indFtr,:);
zipNew=zip(zipFtr,:);
synNew=syn(synFtr,:);
excNew=exc(excFtr,:);
tgNew=tg(tgFtr,:);
agcNew=agc(agcFtr,:);
busNew(:,1)=invBusFtr(busNew(:,1));
swNew(:,1)=invBusFtr(swNew(:,1));
pvNew(:,1)=invBusFtr(pvNew(:,1));
pqNew(:,1)=invBusFtr(pqNew(:,1));
shuntNew(:,1)=invBusFtr(shuntNew(:,1));
lineNew(:,1:2)=invBusFtr(lineNew(:,1:2));
indNew(:,1)=invBusFtr(indNew(:,1));
zipNew(:,1)=invBusFtr(zipNew(:,1));
synNew(:,1)=invBusFtr(synNew(:,1));
excNew(:,1)=invSynFtr(excNew(:,1));
tgNew(:,1)=invSynFtr(tgNew(:,1));
agcNew(:,1)=invBusFtr(agcNew(:,1));
SysDataUpd=foldSysData(busNew,swNew,pvNew,pqNew,shuntNew,lineNew,indNew,zipNew,synNew,excNew,tgNew,agcNew,cac,cluster);
end

@ -0,0 +1,76 @@
function [SysParaUpd]=filterSysPara(SysPara,busFtr,swFtr,pvFtr,pqFtr,shuntFtr,lineFtr,indFtr,zipFtr,synFtr,excFtr,tgFtr)
% Filter system parameters using the filters generated by filterSysData()
%
% FUNCTION filterSysPara
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SysPara - System parameters
% *Ftr - Filter of current data to rip off inactive components
%
% OUTPUT
% SysParaUpd - Updated system parameters
%
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,...
MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11,fault]=unfoldSysPara(SysPara);
if ~isempty(pqIncr);pqIncr=pqIncr(pqFtr,:);end
if ~isempty(pvIncr);pvIncr=pvIncr(pvFtr,:);end
if ~isempty(Rind0);Rind0=Rind0(indFtr);end
if ~isempty(Rind1);Rind1=Rind1(indFtr);end
if ~isempty(Reind0);Reind0=Reind0(indFtr);end
if ~isempty(Reind1);Reind1=Reind1(indFtr);end
if ~isempty(Rzip0);Rzip0=Rzip0(zipFtr);end
if ~isempty(Rzip1);Rzip1=Rzip1(zipFtr);end
if ~isempty(Ytr0);Ytr0=Ytr0(busFtr,busFtr);end
if ~isempty(Ytr1);Ytr1=Ytr1(busFtr,busFtr);end
if ~isempty(Ysh0);Ysh0=Ysh0(busFtr);end
if ~isempty(Ysh1);Ysh1=Ysh1(busFtr);end
if ~isempty(VspSq2);VspSq2=VspSq2(busFtr,:);end
if ~isempty(MatGV0);MatGV0=MatGV0(synFtr,:);end
if ~isempty(MatGV1);MatGV1=MatGV1(synFtr,:);end
if ~isempty(MatGRhs0);MatGRhs0=MatGRhs0(synFtr,:);end
if ~isempty(MatGRhs1);MatGRhs1=MatGRhs1(synFtr,:);end
if ~isempty(Tmech1);Tmech1=Tmech1(tgFtr,:);end
if ~isempty(Varref1);Varref1=Varref1(excFtr,:);end
if ~isempty(Ef1);Ef1=Ef1(synFtr);end
if ~isempty(Pm1);Pm1=Pm1(synFtr);end
if ~isempty(Eq11);Eq11=Eq11(synFtr);end
if ~isempty(fault)
nLineFtr=max([lineFtr;fault(:,1)]);
lineTag=zeros(nLineFtr,1);
lineTag(lineFtr)=1:length(lineFtr);
faultTag=lineTag(fault(:,1));
fault=fault(faultTag~=0);
fault(:,1)=faultTag(faultTag~=0);
end
SysParaUpd=foldSysPara(pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,...
MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11,fault);
end

@ -0,0 +1,67 @@
function xNew=filterX(SysData,SysDataNew,x,busFtr,swFtr,pvFtr,pqFtr,shuntFtr,lineFtr,indFtr,zipFtr,synFtr,excFtr,tgFtr)
% Filter system states using the filters generated by filterSysData()
%
% FUNCTION filterX
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SysData - Current system data
% SysDataNew - New filtered system data
% x - Current system states
% *Ftr - Filter of current data to rip off inactive components
%
% OUTPUT
% xNew - Filtered system states
%
[V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pm,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg]=unfoldX(x,SysData);
V=V(busFtr,:);
Q=Q(busFtr,:);
s=s(indFtr,:);
d=d(synFtr,:);
w=w(synFtr,:);
eq1=eq1(synFtr,:);
eq2=eq2(synFtr,:);
ed1=ed1(synFtr,:);
ed2=ed2(synFtr,:);
psid=psid(synFtr,:);
psiq=psiq(synFtr,:);
Pm=Pm(synFtr,:);
Ef=Ef(synFtr,:);
Vavrm=Vavrm(excFtr,:);
Vavrr=Vavrr(excFtr,:);
Vavrf=Vavrf(excFtr,:);
Vavrref=Vavrref(excFtr,:);
tgovg=tgovg(tgFtr,:);
tgovm=tgovm(tgFtr,:);
tgovmech=tgovmech(tgFtr,:);
f=f(busFtr,:);
dpg=dpg(busFtr,:);
xNew=foldX(SysDataNew,V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pm,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg);
end

@ -0,0 +1,61 @@
function maxIsland=findLargestIsland(nIslands,islands,bus,pv,pq,sw)
% Find the biggest island
%
% FUNCTION findLargestIsland
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% nIslands - The number of islands
% islands - The indexes of islands
%
% OUTPUT
% maxIsland - The index of the lagest island
%
collectPQ=zeros(size(bus,1),9);
if ~isempty(pq)
collectPQ(pq(:,1),:)= pq;
end
% collectIsland=islands;
loads=collectPQ(:,4).*collectPQ(:,9);
islandScaleIdx=zeros(nIslands,1);
genAvailableIslands=zeros(nIslands,1);
isIsland=zeros(nIslands,1);
if ~isempty(pv)
genAvailableIslands(islands(pv(pv(:,11)==1,1)))=1;
end
genAvailableIslands(islands(sw(:,1)))=1;
for i=1:nIslands
isIsland(i)=sum(islands==i)-1;
islandScaleIdx(i)=sum(loads(islands==i))*sum(islands==i);
end
islandScaleIdx=islandScaleIdx.*genAvailableIslands.*(isIsland~=0);
[maxLoad,maxIsland]=max(islandScaleIdx);
end

@ -0,0 +1,42 @@
function [ub,lb]=findPolynomialBounds(p,T)
%
% FUNCTION findPolynomialBounds
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
ub=p(:,end);
lb=p(:,end);
for c=1:size(p,2)-1
ub=ub*T;
ub(ub<0)=0;
ub=ub+p(:,end-c);
lb=lb*T;
lb(lb>0)=0;
lb=lb+p(:,end-c);
end
end

@ -0,0 +1,41 @@
function SimData=foldSimData(maxAlpha,segAlpha,dAlpha,nlvl,taylorN,alphaTol,diffTol,diffTolMax,method,varOpt)
% Fold simulation settings to SimData structure
%
% FUNCTION foldSimData
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
if nargin>=1 ; SimData.maxAlpha =maxAlpha ; else SimData.maxAlpha = []; end
if nargin>=2 ; SimData.segAlpha =segAlpha ; else SimData.segAlpha = []; end
if nargin>=3 ; SimData.dAlpha =dAlpha ; else SimData.dAlpha = []; end
if nargin>=4 ; SimData.nlvl =nlvl ; else SimData.nlvl = []; end
if nargin>=5 ; SimData.taylorN =taylorN ; else SimData.taylorN = []; end
if nargin>=6 ; SimData.alphaTol =alphaTol ; else SimData.alphaTol = []; end
if nargin>=7 ; SimData.diffTol =diffTol ; else SimData.diffTol = []; end
if nargin>=8 ; SimData.diffTolMax=diffTolMax; else SimData.diffTolMax= []; end
if nargin>=9 ; SimData.method =method ; else SimData.method = []; end
if nargin>=10; SimData.varOpt =varOpt ; else SimData.varOpt = []; end
end

@ -0,0 +1,45 @@
function SysData=foldSysData(bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster)
% Fold system data to SysData structure
%
% FUNCTION foldSysData
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
SysData.bus=bus;
SysData.sw=sw;
SysData.pv=pv;
SysData.pq=pq;
SysData.shunt=shunt;
SysData.line=line;
SysData.ind=ind;
SysData.zip=zip;
SysData.syn=syn;
SysData.exc=exc;
SysData.tg=tg;
if nargin>=12;SysData.agc=agc;end
if nargin>=13;SysData.cac=cac;end
if nargin>=14;SysData.cluster=cluster;end
end

@ -0,0 +1,55 @@
function SysPara=foldSysPara(pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,...
MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11,fault)
% Fold system parameter settings to SysPara structure
%
% FUNCTION foldSysPara
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
if nargin>=1 ; SysPara.pqIncr =pqIncr ; else SysPara.pqIncr =[];end
if nargin>=2 ; SysPara.pvIncr =pvIncr ; else SysPara.pvIncr =[];end
if nargin>=3 ; SysPara.Rind0 =Rind0 ; else SysPara.Rind0 =[];end
if nargin>=4 ; SysPara.Rind1 =Rind1 ; else SysPara.Rind1 =[];end
if nargin>=5 ; SysPara.Reind0 =Reind0 ; else SysPara.Reind0 =[];end
if nargin>=6 ; SysPara.Reind1 =Reind1 ; else SysPara.Reind1 =[];end
if nargin>=7 ; SysPara.Rzip0 =Rzip0 ; else SysPara.Rzip0 =[];end
if nargin>=8 ; SysPara.Rzip1 =Rzip1 ; else SysPara.Rzip1 =[];end
if nargin>=9 ; SysPara.Ytr0 =Ytr0 ; else SysPara.Ytr0 =[];end
if nargin>=10; SysPara.Ytr1 =Ytr1 ; else SysPara.Ytr1 =[];end
if nargin>=11; SysPara.Ysh0 =Ysh0 ; else SysPara.Ysh0 =[];end
if nargin>=12; SysPara.Ysh1 =Ysh1 ; else SysPara.Ysh1 =[];end
if nargin>=13; SysPara.VspSq2 =VspSq2 ; else SysPara.VspSq2 =[];end
if nargin>=14; SysPara.MatGV0 =MatGV0 ; else SysPara.MatGV0 =[];end
if nargin>=15; SysPara.MatGV1 =MatGV1 ; else SysPara.MatGV1 =[];end
if nargin>=16; SysPara.MatGRhs0=MatGRhs0; else SysPara.MatGRhs0=[];end
if nargin>=17; SysPara.MatGRhs1=MatGRhs1; else SysPara.MatGRhs1=[];end
if nargin>=18; SysPara.Tmech1 =Tmech1 ; else SysPara.Tmech1 =[];end
if nargin>=19; SysPara.Varref1 =Varref1 ; else SysPara.Varref1 =[];end
if nargin>=20; SysPara.Ef1 =Ef1 ; else SysPara.Ef1 =[];end
if nargin>=21; SysPara.Pm1 =Pm1 ; else SysPara.Pm1 =[];end
if nargin>=22; SysPara.Eq11 =Eq11 ; else SysPara.Eq11 =[];end
if nargin>=23; SysPara.fault =fault ; else SysPara.fault =[];end
end

@ -0,0 +1,62 @@
function x=foldX(SysData,V,Q,s,d,w,eq1,eq2,ed1,ed2,psid,psiq,Pm,Ef,Vavrm,Vavrr,Vavrf,Vavrref,tgovg,tgovm,tgovmech,f,dpg,qplt,vg)
% Fold system states to x vector
%
% FUNCTION foldX
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
[nState,idxs]...
=getIndexDyn(SysData);
x=zeros(nState,size(V,2));
x(idxs.vIdx,:)=V;
x(idxs.qIdx,:)=Q;
x(idxs.sIdx,:)=s;
x(idxs.deltaIdx,:)=d;
x(idxs.omegaIdx,:)=w;
x(idxs.eq1Idx,:)=eq1;
x(idxs.eq2Idx,:)=eq2;
x(idxs.ed1Idx,:)=ed1;
x(idxs.ed2Idx,:)=ed2;
x(idxs.psidIdx,:)=psid;
x(idxs.psiqIdx,:)=psiq;
x(idxs.pgIdx,:)=Pm;
x(idxs.efIdx,:)=Ef;
x(idxs.vavrmIdx,:)=Vavrm;
x(idxs.vavrrIdx,:)=Vavrr;
x(idxs.vavrfIdx,:)=Vavrf;
x(idxs.vavrrefIdx,:)=Vavrref;
x(idxs.tgovgIdx,:)=tgovg;
x(idxs.tgovmIdx,:)=tgovm;
x(idxs.tmechIdx,:)=tgovmech;
x(idxs.fIdx,:)=f;
x(idxs.dpgIdx,:)=dpg;
x(idxs.qpltIdx,:)=qplt;
x(idxs.vgIdx,:)=vg;
end

@ -0,0 +1,215 @@
function [fBus,fPV,fPQ,fSW,fLine,fLtc,fSupply,fDemand,fShunt,fInd,fZip,fSyn,fBusName,busNewToOld,busOldToNew,pvInd,pqInd,swInd,lineInd,ltcInd,supInd,demInd,shuntInd,indInd,zipInd,synInd]...
=forgeLargestIsland(maxIsland,nIslands,islands,bus,pv,pq,sw,line,ltc,supply,demand,shunt,ind,zip,syn,busName,newToOld,oldToNew,...
pvIndOld,pqIndOld,swIndOld,lineIndOld,ltcIndOld,supIndOld,demIndOld,shuntIndOld,indIndOld,zipIndOld,synIndOld)
% generate system data on the lagest island
%
% FUNCTION forgeLargestIsland
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% assume that island are coded as 1:nIslands
% set the island with largest amount of load as main island and
% calculate power flow.
% collectPQ=zeros(size(bus,1),size(pq,2));
% collectPQ(pq(:,1),:)=pq;
%
% % collectIsland=islands;
%
% loads=collectPQ(:,4).*collectPQ(:,9);
% loadsOnIslands=zeros(nIslands,1);
% genAvailableIslands=zeros(nIslands,1);
%
% genAvailableIslands(islands(pv(:,1)))=1;
% genAvailableIslands(islands(sw(:,1)))=1;
%
% for i=1:nIslands
% loadsOnIslands(i)=sum(loads(islands==i));
% end
% loadsOnIslands=loadsOnIslands.*genAvailableIslands;
% [maxLoad,maxIsland]=max(loadsOnIslands);
% forge data structure and re-number nodes.
busNewToOld=find(islands==maxIsland);
busOldToNew=zeros(max(bus(:,1)),1);
busOldToNew(bus(islands==maxIsland,1))=(1:length(busNewToOld))';
fBus=bus;
fBus(:,1)=busOldToNew(fBus(:,1));
fBus=fBus(fBus(:,1)~=0,:);
fPV=pv;
if ~isempty(pv)
fPV(:,1)=busOldToNew(fPV(:,1));
availPV=(fPV(:,1)~=0).*(fPV(:,11)~=0);
pvInd=find(availPV~=0);
fPV=fPV(availPV~=0,:);
else
fPV=zeros(0,11);
pvInd=[];
end
fPQ=pq;
if ~isempty(pq)
fPQ(:,1)=busOldToNew(fPQ(:,1));
pqInd=find(fPQ(:,1)~=0);
fPQ=fPQ(fPQ(:,1)~=0,:);
else
fPQ=zeros(0,9);
pqInd=[];
end
fSW=sw;
fSW(:,1)=busOldToNew(fSW(:,1));
swInd=find(fSW(:,1)~=0);
fSW=fSW(fSW(:,1)~=0,:);
fLine=line;
fLine(:,1)=busOldToNew(fLine(:,1));
fLine(:,2)=busOldToNew(fLine(:,2));
lineInIsland=(fLine(:,1)~=0).*(fLine(:,2)~=0);
fLine=fLine(lineInIsland~=0,:);
lineInd=find(lineInIsland~=0);
if size(ltc,1)
fLtc=ltc;
fLtc(:,1)=busOldToNew(fLtc(:,1));
fLtc(:,2)=busOldToNew(fLtc(:,2));
ltcInIsland=(fLtc(:,1)~=0).*(fLtc(:,2)~=0);
fLtc=fLtc(ltcInIsland~=0,:);
ltcInd=find(ltcInIsland~=0);
else
fLtc=zeros(0,16);
ltcInd=[];
end
if ~isempty(supply)
fSupply=supply;
fSupply(:,1)=busOldToNew(fSupply(:,1));
supInd=find(fSupply(:,1)~=0);
fSupply=fSupply(fSupply(:,1)~=0,:);
else
fSupply=zeros(0,20);
supInd=[];
end
if size(demand,1)
fDemand=demand;
fDemand(:,1)=busOldToNew(fDemand(:,1));
demInd=find(fDemand(:,1)~=0);
fDemand=fDemand(fDemand(:,1)~=0,:);
else
fDemand=zeros(0,18);
demInd=[];
end
if size(shunt,1)
fShunt=shunt;
fShunt(:,1)=busOldToNew(fShunt(:,1));
shuntInd=find(fShunt(:,1)~=0);
fShunt=fShunt(fShunt(:,1)~=0,:);
else
fShunt=zeros(0,7);
shuntInd=[];
end
fInd=ind;
if ~isempty(ind)
fInd(:,1)=busOldToNew(fInd(:,1));
indInd=find(fInd(:,1)~=0);
fInd=fInd(fInd(:,1)~=0,:);
else
fInd=zeros(0,20);
indInd=[];
end
fZip=zip;
if ~isempty(zip)
fZip(:,1)=busOldToNew(fZip(:,1));
zipInd=find(fZip(:,1)~=0);
fZip=fZip(fZip(:,1)~=0,:);
else
fZip=zeros(0,12);
zipInd=[];
end
fSyn=syn;
if ~isempty(syn)
fSyn(:,1)=busOldToNew(fSyn(:,1));
synInd=find(fSyn(:,1)~=0);
fSyn=fSyn(fSyn(:,1)~=0,:);
else
fSyn=zeros(0,26);
synInd=[];
end
if ~isempty(busName)
fBusName=busName(busNewToOld);
else
fBusName={};
end
%deal with swing bus problem
if size(fSW,1)==0&&size(fPV,1)>0
pvline=fPV(1,:);
fSW=[pvline(1:3),pvline(5),0,pvline(6:9),pvline(10),0,1,pvline(11)];
pvNum=size(fPV,1);
fPV=fPV(2:pvNum,:);
swInd=-pvInd(1); % Negative Index.
pvInd=pvInd(2:pvNum,:);
end
% Generate new indices.
if nargin>=30
busNewToOld=newToOld(busNewToOld);
busOldToNew=zeros(size(busNewToOld));
busOldToNew(busNewToOld)=(1:size(busNewToOld,1))';
pvIndTemp=pvIndOld;
pvInd=pvIndOld(pvInd);
pqInd=pqIndOld(pqInd);
if ~isempty(swInd)
if swInd(1)<0
swInd=-pvIndTemp(-swInd(1)); % Negative Index
else
swInd=swIndOld(swInd);
end
else
swInd=[];
end
lineInd=lineIndOld(lineInd);
ltcInd=ltcIndOld(ltcInd);
supInd=supIndOld(supInd);
demInd=demIndOld(demInd);
shuntInd=shuntIndOld(shuntInd);
indInd=indIndOld(indInd);
zipInd=zipIndOld(zipInd);
synInd=synIndOld(synInd);
end
end

@ -0,0 +1,151 @@
function [eventExt,evtDyn,evtDynInd,evtDynZip]=formatEventList(event,evtDyn,evtDynInd,evtDynZip)
% Regulate non-standard event list to standard format
%
% FUNCTION formatEventList
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
EvtType=getSimEventType();
MethodType=getSimMethodType();
SimSet=getSimSettingDefault();
if size(event,2)<6
event(:,6)=MethodType.FULL_HE;
end
if size(event,2)<7
event(:,7)=0;
event(event(:,4)==EvtType.DYN_SIM,7)=SimSet.DEFAULT_DT;
end
[eSortTemp,~]=sort([event(:,2);event(:,3)]);
diffEvt=eSortTemp(2:end)-eSortTemp(1:end-1);
diffEvt=diffEvt(diffEvt>1e-10);
minDiffTime=min([diffEvt;SimSet.SEG/10]);
[~,iSort]=sort(event(:,2)+(event(:,4)==EvtType.DYN_SIM)*minDiffTime/2+(event(:,4)==EvtType.DYN_SIM).*event(:,3)/eSortTemp(end)*minDiffTime/4);
eventSort=event(iSort,:);
endTagIdx=find(eventSort(:,4)==EvtType.END,1);
startT=0.;
if ~isempty(endTagIdx)
endT=eventSort(endTagIdx,2);
else
endT=max(max(event(:,2:3)));
end
eventSort=eventSort(eventSort(:,2)<=endT,:);
eventSort(eventSort(:,3)>endT,3)=endT;
eventSort(eventSort(:,4)~=EvtType.DYN_SIM,3)=eventSort(eventSort(:,4)~=EvtType.DYN_SIM,2);
diffTime=eventSort(:,3)-eventSort(:,2);
eventSort=eventSort(eventSort(:,4)~=EvtType.DYN_SIM|diffTime>0,:);
eventSort(1:end-1,3)=min([eventSort(1:end-1,3),eventSort(2:end,2)],[],2);
diffTime=eventSort(:,3)-eventSort(:,2);
eventSort=eventSort(eventSort(:,4)~=EvtType.DYN_SIM|diffTime>0,:);
timespots=reshape([eventSort(:,2)';eventSort(:,3)'],2*size(eventSort,1),1);
typeTag=reshape([eventSort(:,4)';zeros(size(eventSort,1),1)'],2*size(eventSort,1),1)==EvtType.DYN_SIM;
intervalDiff=[timespots(2:end)-timespots(1:end-1);0];
timespotsNz=[timespots(intervalDiff~=0);endT];
typeTagNz=typeTag(intervalDiff~=0);
stTime=timespotsNz(1:end-1);stTime=stTime(typeTagNz==0);
endTime=timespotsNz(2:end);endTime=endTime(typeTagNz==0);
[sstTime,iSort]=sort(stTime);
sendTime=endTime(iSort);
stTime=zeros(0,1);endTime=zeros(0,1);
if ~isempty(sstTime)
for i=1:size(sstTime,1)
if sendTime(i)-sstTime(i)>SimSet.SEG
interval=sstTime(i):SimSet.SEG:sendTime(i);
if interval(end)<sendTime(i)-1e-9
interval=[interval,sendTime(i)];
end
stTime=[stTime;interval(1:end-1)'];
endTime=[endTime;interval(2:end)'];
else
stTime=[stTime;sstTime(i)];
endTime=[endTime;sendTime(i)];
end
end
end
eventAdd=[zeros(size(stTime,1),1),stTime,endTime,EvtType.DYN_SIM*ones(size(stTime,1),1),zeros(size(stTime,1),1),MethodType.FULL_HE*ones(size(stTime,1),1),SimSet.DEFAULT_DT*ones(size(stTime,1),1)];
eventExt=[eventSort;eventAdd];
[~,iSort]=sort(eventExt(:,2)+(eventExt(:,4)==EvtType.DYN_SIM)*minDiffTime/2+(eventExt(:,4)==EvtType.DYN_SIM).*eventExt(:,3)/eSortTemp(end)*minDiffTime/4);
eventExt=eventExt(iSort,:);
eventExt(:,1)=1:size(eventExt,1);
if eventExt(end,4)~=EvtType.END
eventExt=[eventExt;[eventExt(end,1)+1,max(eventExt(end,2:3)),0,EvtType.END,0,MethodType.FULL_HE,0.0]];
end
idxDynEvt=find(eventExt(:,4)==EvtType.DYN_SIM&eventExt(:,5)~=0);
for i=1:size(idxDynEvt,1)
item=idxDynEvt(i);
event=eventExt(item,:);
sstTime=event(2);
sendTime=event(3);
interval=sstTime:SimSet.SEG:sendTime;
if interval(end)<sendTime-1e-9
interval=[interval,sendTime];
end
stTime=interval(1:end-1)';
endTime=interval(2:end)';
numNewInterval=size(stTime,1);
eventExt(item,3)=endTime(1);
eventAdd=repmat(eventExt(item,:),numNewInterval-1,1);
eventIdxNew=linspace(eventExt(item,1),eventExt(item,1)+1,numNewInterval+1);
eventAdd(:,1)=eventIdxNew(2:(end-1));
eventAdd(:,2)=stTime(2:end);
eventAdd(:,3)=endTime(2:end);
for iAdd=1:(numNewInterval-1)
evtDynAdd=evtDyn(eventExt(item+iAdd-1,5),:);
if any(evtDynAdd(:,[6,7,8,9])>0)
if all(evtDynAdd(:,[6,7])>0) % Has induction motor item
dynIndAdd=evtDynInd(evtDynAdd(6):evtDynAdd(7),:);
dynIndAdd(:,2)=dynIndAdd(:,2)./(1+(stTime(iAdd+1)-sstTime)*dynIndAdd(:,2));
evtDynAdd(6)=size(evtDynInd,1)+1;
evtDynAdd(7)=size(evtDynInd,1)+size(dynIndAdd,1);
evtDynInd=[evtDynInd;dynIndAdd];
end
if all(evtDynAdd(:,[8,9])>0)
dynZipAdd=evtDynZip(evtDynAdd(8):evtDynAdd(9),:);
dynZipAdd(:,2)=dynZipAdd(:,2)./(1+(stTime(iAdd+1)-sstTime)*dynZipAdd(:,2));
evtDynAdd(8)=size(evtDynZip,1)+1;
evtDynAdd(9)=size(evtDynZip,1)+size(dynZipAdd,1);
evtDynZip=[evtDynZip;dynZipAdd];
end
evtDynAdd(1)=size(evtDyn,1)+1;
eventAdd(iAdd,5)=evtDynAdd(1);
evtDyn=[evtDyn;evtDynAdd];
end
eventExt=[eventExt(1:(item+iAdd-1),:);eventAdd(iAdd,:);eventExt((item+iAdd):end,:)];
end
idxDynEvt((i+1):end)=idxDynEvt((i+1):end)+numNewInterval-1;
end
eventExt(:,1)=1:size(eventExt,1);
end

@ -0,0 +1,160 @@
function [stateUpd,t,finalAlpha,alphaList,diffList,SysDataUpd,exitFlag,SimDataUpd]=generalDynSimulation(SimData,SysData,SysPara,x0,zipRamp,busMap)
% General interface for invoking dynamic simulation for a segment of time
%
% FUNCTION generalDynSimulation
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% SimData - Simulation parameters
% SysData - System data for simulation
% SysPara - Parameters representing the events happening in the system
% x0 - Initial system state
% zipRamp - Special data field for defining ramping data of ZIP load
% busMap - Mapping of current system bus numbers to the base system
% (useful for the cases where only partial system is studied)
%
% OUTPUT
% stateUpd - A list of states in the order of time
% t - A list of time points (starting with 0)
% finalAlpha - The ending length of this segment of simulation
% alphaList - Equivalent to t
% diffList - A list of errors
% SysDataUpd - Updated system data
% exitFlag -
% 0 - Success and normally exit
% -1 - Fail to finish (due to computation errors or failures)
% 1 - System in absolute steady state
% 2 - Generator transients faded away
% 3 - Suggest using error reduction mode
% SimDataUpd - Updated simulation data
%
%%
if nargin<5
zipRamp=[];
end
[bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster]=unfoldSysData(SysData);
if nargin<6
busMap=bus(:,1);
end
[pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,...
MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11,fault]=unfoldSysPara(SysPara);
[~,~,~,~,~,~,~,~,method]=unfoldSimData(SimData);
DEmethod=floor(method);
nbus=size(bus,1);
nline=size(line,1);
nInd=size(ind,1);
nZip=size(zip,1);
nSyn=size(syn,1);
nTg=size(tg,1);
nExc=size(exc,1);
nAgc=size(agc,1);
nCac=size(cac,1);
nCluster=size(cluster,1);
% if nargin<7
% mode=0;
% end
if isempty(Rzip0);Rzip0=ones(nZip,1);end
if isempty(Rzip1);Rzip1=zeros(nZip,1);end
if ~isempty(zipRamp)
zipRamp(:,1)=busMap(zipRamp(:,1));
zip=[zip;zipRamp];
Rzip0=[Rzip0;zeros(size(zipRamp,1),1)];Rzip1=[Rzip1;ones(size(zipRamp,1),1)];
end
if isempty(pqIncr);pqIncr=zeros(size(pq,1),2);end
if isempty(pvIncr);pvIncr=zeros(size(pv,1),1);end
if isempty(Rind0);Rind0=ones(nInd,1);end
if isempty(Rind1);Rind1=zeros(nInd,1);end
if isempty(Reind0);Reind0=ones(nInd,1);end
if isempty(Reind1);Reind1=zeros(nInd,1);end
if isempty(Ytr0)||isempty(Ytr1)||isempty(Ysh0)||isempty(Ysh1)
[~,Ytr0x,Ysh0x,~,~,~,~]=getYMatrix(nbus,line,fault);
if isempty(Ytr0);Ytr0=Ytr0x;end
if isempty(Ytr1);Ytr1=0*Ytr0;end
if isempty(Ysh0);Ysh0=Ysh0x;end
if isempty(Ysh1);Ysh1=0*Ysh0;end
end
if isempty(Tmech1);Tmech1=zeros(nTg,1);end
if isempty(Varref1);Varref1=zeros(nExc,1);end
if isempty(Ef1);Ef1=zeros(nSyn,1);end
if isempty(Pm1);Pm1=zeros(nSyn,1);end
if isempty(Eq11);Eq11=zeros(nSyn,1);end
SysPara=foldSysPara(pqIncr,pvIncr,Rind0,Rind1,Reind0,Reind1,Rzip0,Rzip1,Ytr0,Ytr1,Ysh0,Ysh1,VspSq2,MatGV0,MatGV1,MatGRhs0,MatGRhs1,Tmech1,Varref1,Ef1,Pm1,Eq11);
SysDataTmp=foldSysData(bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster);
if DEmethod==0
[stateUpd,t,finalAlpha,alphaList,diffList,exitFlag]=simulationTimeDomainHem(SimData,SysDataTmp,SysPara,x0);
alphaList=cumsum(alphaList);
SimDataUpd=SimData;
else
[stateUpd,t,diffList,nxtDt,exitFlag]=simulationTimeDomainNI(SimData,SysDataTmp,SysPara,x0);
finalAlpha=t(end);
alphaList=t;
SimDataUpd=SimData;
SimDataUpd.dt=nxtDt;
end
if ~isempty(zipRamp)
zipExt=zeros(max(bus(:,1)),12);
hasLoad=zeros(size(zipExt,1),1);
zipExt(bus(:,1),1)=bus(:,1);zipExt(bus(:,1),2)=100;zipExt(bus(:,1),3)=bus(:,2);zipExt(bus(:,1),4)=60;
zipExt(:,5)=accumarray(zip(:,1),zip(:,5).*(Rzip0+finalAlpha*Rzip1),[size(zipExt,1),1]);hasLoad=hasLoad|(zipExt(:,5)~=0);
zipExt(:,6)=accumarray(zip(:,1),zip(:,6).*(Rzip0+finalAlpha*Rzip1),[size(zipExt,1),1]);hasLoad=hasLoad|(zipExt(:,6)~=0);
zipExt(:,7)=accumarray(zip(:,1),zip(:,7).*(Rzip0+finalAlpha*Rzip1),[size(zipExt,1),1]);hasLoad=hasLoad|(zipExt(:,7)~=0);
zipExt(:,8)=accumarray(zip(:,1),zip(:,8).*(Rzip0+finalAlpha*Rzip1),[size(zipExt,1),1]);hasLoad=hasLoad|(zipExt(:,8)~=0);
zipExt(:,9)=accumarray(zip(:,1),zip(:,9).*(Rzip0+finalAlpha*Rzip1),[size(zipExt,1),1]);hasLoad=hasLoad|(zipExt(:,9)~=0);
zipExt(:,10)=accumarray(zip(:,1),zip(:,10).*(Rzip0+finalAlpha*Rzip1),[size(zipExt,1),1]);hasLoad=hasLoad|(zipExt(:,10)~=0);
zipExt(:,12)=1;
zip=zipExt(hasLoad~=0,:);
end
if ~isempty(pq)
pq(:,[4,5])=pq(:,[4,5])+pqIncr(:,1:2)*finalAlpha;
if size(pqIncr,2)>=4
pq(:,[4,5])=pq(:,[4,5])+pqIncr(:,3:4)*finalAlpha*finalAlpha;
end
end
if ~isempty(pv)
pv(:,4)=pv(:,4)+pvIncr*finalAlpha;
end
if ~isempty(ind)
ind(:,15:17)=ind(:,15:17).*repmat(Rind0+finalAlpha*Rind1,1,3);
end
if ~isempty(shunt)
shunt(:,[5,6])=shunt(:,[5,6])+finalAlpha*[real(Ysh1(shunt(:,1))),imag(Ysh1(shunt(:,1)))];
end
SysDataUpd=foldSysData(bus,sw,pv,pq,shunt,line,ind,zip,syn,exc,tg,agc,cac,cluster);
end

@ -0,0 +1,63 @@
function SysData=generateSysData(dataFile,dataPath)
% Generate system data from data file
%
% FUNCTION generateSysData
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% dataFile - name of data file
% dataPath - path of data file
%
% OUTPUT
% SysData - system data
%
homePath=pwd;
cd(dataPath)
eval(dataFile)
if ~exist('Bus','var')||isempty(Bus)||isempty(Bus.con);busBase=zeros(0,6);else busBase=Bus.con;end
if ~exist('PV','var')||isempty(PV)||isempty(PV.con);pvBase=zeros(0,11);else pvBase=PV.con;end
if ~exist('PQ','var')||isempty(PQ)||isempty(PQ.con);pqBase=zeros(0,9);else pqBase=PQ.con;end
if ~exist('SW','var')||isempty(SW)||isempty(SW.con);swBase=zeros(0,13);else swBase=SW.con;end
if ~exist('Line','var')||isempty(Line)||isempty(Line.con);lineBase=zeros(0,16);else lineBase=Line.con;end
if ~exist('Ltc','var')||isempty(Ltc)||isempty(Ltc.con);ltcBase=zeros(0,16);else ltcBase=Ltc.con;end
if ~exist('Supply','var')||isempty(Supply)||isempty(Supply.con);supBase=zeros(0,20);else supBase=Supply.con;end
if ~exist('Demand','var')||isempty(Demand)||isempty(Demand.con);demBase=zeros(0,18);else demBase=Demand.con;end
if ~exist('Shunt','var')||isempty(Shunt)||isempty(Shunt.con);shuntBase=zeros(0,7);else shuntBase=Shunt.con;end
if ~exist('Ind','var')||isempty(Ind)||isempty(Ind.con);indBase=zeros(0,20);else indBase=Ind.con;end
if ~exist('Pl','var')||isempty(Pl)||isempty(Pl.con);zipBase=zeros(0,12);else zipBase=Pl.con;end
if ~exist('Syn','var')||isempty(Syn)||isempty(Syn.con);synBase=zeros(0,26);else synBase=Syn.con;end
if ~exist('Exc','var')||isempty(Exc)||isempty(Exc.con);excBase=zeros(0,14);else excBase=Exc.con;end
if ~exist('Tg','var')||isempty(Tg)||isempty(Tg.con);tgBase=zeros(0,8);else tgBase=Tg.con;end
if ~exist('Bus','var')||isempty(Bus)||isempty(Bus.names);busNameBase={};else busNameBase=Bus.names;end
if ~exist('Agc','var')||isempty(Agc)||isempty(Agc.con);agcBase=zeros(0,4);else agcBase=Agc.con;end
if ~exist('CAC','var')||isempty(CAC)||isempty(CAC.con);cacBase=zeros(0,10);else cacBase=CAC.con;end
if ~exist('Cluster','var')||isempty(Cluster)||isempty(Cluster.con);clusterBase=zeros(0,10);else clusterBase=Cluster.con;end
cd(homePath);
SysData=foldSysData(busBase,swBase,pvBase,pqBase,shuntBase,lineBase,indBase,zipBase,synBase,excBase,tgBase,agcBase,cacBase,clusterBase);
end

@ -0,0 +1,38 @@
function DynSimFlag=getDynSimFlags()
% Predefined simulation flags
%
% FUNCTION getDynSimFlags
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
DynSimFlag.FAIL=-1;
DynSimFlag.NORMAL=0;
DynSimFlag.STEADY=1;
DynSimFlag.QSS=2;
DynSimFlag.DIFF_CTRL=3;
DynSimFlag.NOMOVE_CTRL=4;
end

@ -0,0 +1,52 @@
function flucTag=getFluctuationTag(fluctuations,maxTCoeff,rateThreshold)
% Determine steady state from the fluctuation bounds
%
% FUNCTION getFluctuationTag
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% fluctuations - calculated fluctuation bounds from HE coefficients
% maxTCoeff - maximum time considered
% rateThreshold - the threshold of fluctuation rate
%
% OUTPUT
% flucTag
% 1 - lower than threshold, entered steady state
% 0 - Not entered steady state yet
%
if nargin<3
rateThreshold=0.0005;
end
flucRate=fluctuations/maxTCoeff;
if max(flucRate)<rateThreshold
flucTag=1;
else
flucTag=0;
end
end

@ -0,0 +1,106 @@
function flucTag=getFluctuationTagPade(coeffA,coeffB,maxTime,rateThreshold)
% Determine steady state from the fluctuation bounds using Pade approximation
%
% FUNCTION getFluctuationTagPade
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% coeffA - Pade coefficients on the numerator
% coeffB - Pade coefficients on the denomenator
% maxTime - maximum time considered
% rateThreshold - the threshold of fluctuation rate
%
% OUTPUT
% flucTag
% 1 - lower than threshold, entered steady state
% 0 - Not entered steady state yet
%
if nargin<4
rateThreshold=0.0005;
end
NA=size(coeffA,2);
timePwrA=maxTime.^(1:(NA-1));
coeffAx=coeffA(:,2:NA);
constA=coeffA(:,1);
fluctuationPosA=sum(coeffAx.*(coeffAx>0).*repmat(timePwrA,size(coeffA,1),1),2);
fluctuationNegA=sum(-coeffAx.*(coeffAx<0).*repmat(timePwrA,size(coeffA,1),1),2);
NB=size(coeffB,2);
timePwrB=maxTime.^(1:(NB-1));
coeffBx=coeffB(:,2:NB);
constB=coeffB(:,1);
constTotal=constA./constB;
fluctuationPosB=sum(coeffBx.*(coeffBx>0).*repmat(timePwrB,size(coeffB,1),1),2);
fluctuationNegB=sum(-coeffBx.*(coeffBx<0).*repmat(timePwrB,size(coeffB,1),1),2);
denSgn=(constB+fluctuationPosB).*(constB-fluctuationNegB); % if the denomenator will change sign, then fluctuation is too big.
totalFluctuation=max(abs([(constA+fluctuationPosA)./(constB+fluctuationPosB)-constTotal,...
(constA+fluctuationPosA)./(constB-fluctuationNegB)-constTotal,...
(constA-fluctuationNegA)./(constB+fluctuationPosB)-constTotal,...
(constA-fluctuationNegA)./(constB-fluctuationNegB)-constTotal]),[],2);
% Special: check if the coefficients on Num/Den can be directly eliminated
totalFlucRes=zeros(size(coeffA,1),1);
if NA>NB
regA=coeffA(:,1:NB);
res=coeffA(:,(NB+1):end);
regB=coeffB;
flucResPos=sum(res.*(res>0).*repmat(timePwrA(NB:end),size(res,1),1),2);
flucResNeg=sum(-res.*(res<0).*repmat(timePwrA(NB:end),size(res,1),1),2);
flucResNum=max([flucResPos,flucResNeg],[],2);
flucRes=abs([flucResNum./(constB-fluctuationNegB),flucResNum./(constB+fluctuationPosB)]);
flucRes(all(regB(:,2:end)>=0,2),1)=0;
flucRes(all(regB(:,2:end)<=0,2),2)=0;
totalFlucRes=max(flucRes,[],2);
elseif NB>NA
regA=coeffA;
regB=coeffB(:,1:NA);
res=coeffB(:,(NA+1):end);
flucResPos=sum(res.*(res>0).*repmat(timePwrB(NA:end),size(res,1),1),2);
flucResNeg=sum(-res.*(res<0).*repmat(timePwrB(NA:end),size(res,1),1),2);
flucResNum=max([flucResPos,flucResNeg],[],2);
flucRes=abs([flucResNum./(constB-fluctuationNegB),flucResNum./(constB+fluctuationPosB)]);
flucRes(all(regB(:,2:end)>=0,2),1)=0;
flucRes(all(regB(:,2:end)<=0,2),2)=0;
totalFlucRes=max(flucRes,[],2);
else
regA=coeffA;
regB=coeffB;
end
ratioAB=regA./regB;
ratioAB(isnan(ratioAB))=0;
ratioAB=ratioAB./repmat(mean(ratioAB,2),1,size(ratioAB,2));
flucRatioAB=max(ratioAB,[],2)-min(ratioAB,[],2);
eachFlucTag1=(totalFluctuation/maxTime)<rateThreshold;
eachFlucTag2=(flucRatioAB<rateThreshold)&((totalFlucRes/maxTime)<rateThreshold);
eachFlucTag=eachFlucTag1|eachFlucTag2;
flucTag=all(eachFlucTag);
end

@ -0,0 +1,55 @@
function [fluctRate,flucTag]=getFluctuationTagPadeMod(coeffA,coeffB,maxTime,rateThreshold)
%
% FUNCTION getFluctuationTagPadeMod
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
if nargin<4
rateThreshold=0.0005;
end
sz=max([size(coeffA,2);size(coeffB,2)]);
coeffAe=zeros(size(coeffA,1),sz);
coeffBe=zeros(size(coeffB,1),sz);
coeffAe(:,1:size(coeffA,2))=coeffA;
coeffBe(:,1:size(coeffB,2))=coeffB;
constAB=coeffAe(:,1)./coeffBe(:,1);
coeffCe=coeffAe-coeffBe.*repmat(constAB,1,sz);
[ubb,lbb]=findPolynomialBounds(coeffBe,maxTime);
[ubc,lbc]=findPolynomialBounds(coeffCe(:,2:end),maxTime);
denSgn=ubb.*lbb;
flucNumerator=max(abs([ubc,lbc]),[],2);
den=min(abs([ubb,lbb]),[],2);
fluctRate=flucNumerator./den;
flucTag=all((denSgn>0)&(fluctRate<rateThreshold));
end

@ -0,0 +1,68 @@
function [nState,idxs]...
=getIndexDyn(SysData)
% Generate the indexes of state variables from system data
%
% FUNCTION getIndexDyn
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
nbus=size(SysData.bus,1);
nInd=size(SysData.ind,1);
nSyn=size(SysData.syn,1);
nExc=size(SysData.exc,1);
nTg=size(SysData.tg,1);
nCac=size(SysData.cac,1);
nCluster=size(SysData.cluster,1);
idxs.vIdx=(1:nbus)';
idxs.qIdx=(1:nbus)'+nbus;
idxs.sIdx=(1:nInd)'+2*nbus;
idxs.deltaIdx=(1:nSyn)'+2*nbus+nInd;
idxs.omegaIdx=(1:nSyn)'+2*nbus+nInd+nSyn;
idxs.eq1Idx=(1:nSyn)'+2*nbus+nInd+2*nSyn;
idxs.eq2Idx=(1:nSyn)'+2*nbus+nInd+3*nSyn;
idxs.ed1Idx=(1:nSyn)'+2*nbus+nInd+4*nSyn;
idxs.ed2Idx=(1:nSyn)'+2*nbus+nInd+5*nSyn;
idxs.psidIdx=(1:nSyn)'+2*nbus+nInd+6*nSyn;
idxs.psiqIdx=(1:nSyn)'+2*nbus+nInd+7*nSyn;
idxs.pgIdx=(1:nSyn)'+2*nbus+nInd+8*nSyn;
idxs.efIdx=(1:nSyn)'+2*nbus+nInd+9*nSyn;
idxs.vavrmIdx=(1:nExc)'+2*nbus+nInd+10*nSyn;
idxs.vavrrIdx=(1:nExc)'+2*nbus+nInd+10*nSyn+nExc;
idxs.vavrfIdx=(1:nExc)'+2*nbus+nInd+10*nSyn+2*nExc;
idxs.vavrrefIdx=(1:nExc)'+2*nbus+nInd+10*nSyn+3*nExc;
idxs.tgovgIdx=(1:nTg)'+2*nbus+nInd+10*nSyn+4*nExc;
idxs.tgovmIdx=(1:nTg)'+2*nbus+nInd+10*nSyn+4*nExc+nTg;
idxs.tmechIdx=(1:nTg)'+2*nbus+nInd+10*nSyn+4*nExc+2*nTg;
idxs.fIdx=(1:nbus)'+2*nbus+nInd+10*nSyn+4*nExc+3*nTg;
idxs.dpgIdx=(1:nbus)'+3*nbus+nInd+10*nSyn+4*nExc+3*nTg;
idxs.qpltIdx=(1:nCac)'+4*nbus+nInd+10*nSyn+4*nExc+3*nTg;
idxs.vgIdx=(1:nCluster)'+4*nbus+nInd+10*nSyn+4*nExc+3*nTg+nCac;
nState=4*nbus+nInd+10*nSyn+4*nExc+3*nTg+nCac+nCluster;
end

@ -0,0 +1,202 @@
function [jac,pIdx,qIdx,vIdx,sIdx,busType]=getJacobianMod(nbus,nline,bus,sw,pv,pq,shunt,line,zip,ind,s,V,dyn,Ytr,Ysh)
% Generate jacobian matrix
%
% FUNCTION getJacobianMod
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
[~,Ytrx,Yshx,ytrfr,ytrto,yshfr,yshto]=getYMatrix(nbus,line);
if nargin<14
Ytr=Ytrx;
end
if nargin<15
Ysh=Yshx;
end
yBr=[-ytrfr;-ytrto];
busType=zeros(nbus,1);
if isempty(pv)
pv=zeros(0,6);
end
if isempty(pq)
pq=zeros(0,6);
end
if isempty(shunt)
shunt=zeros(0,7);
end
busType(pv(:,1))=1;
busType(sw(:,1))=2;
yShunt=zeros(nbus,1);
yShunt(shunt(:,1))=shunt(:,5)+1j*shunt(:,6);
Ysh=Ysh+yShunt;
if ~isempty(zip)%zipMode=0
Ysh=Ysh+accumarray(zip(:,1),(zip(:,5)+1j*zip(:,8)).*zip(:,12),[nbus,1]);
end
Y=Ytr+sparse(1:nbus,1:nbus,Ysh,nbus,nbus);
if ~isempty(ind)
nInd=size(ind,1);
indIdx=ind(:,1);
R1=ind(:,7);
X1=ind(:,8);
Z1=ind(:,7)+1j*ind(:,8);
Xm=ind(:,13);
Ze=1j*ind(:,13);
R2=ind(:,9);
X2=ind(:,10);
Zind=Z1+Ze.*(R2+1j*X2.*s)./(R2+(1j*X2+Ze).*s);
Y=Y+sparse(indIdx,indIdx,1./Zind,nbus,nbus);
end
isw=find(busType==2);
ipv=find(busType==1);
ipq=find(busType==0);
busTypePvPq=busType(busType~=2);
ipvInPvPq=find(busTypePvPq==1);
npq=size(ipq,1);
npv=size(ipv,1);
i_fr=line(:,1);
i_to=line(:,2);
yDiag=diag(Y);
C=real(V);
D=imag(V);
vMag=abs(V);
G=real(Y);
B=imag(Y);
gcbdx=G*C-B*D;
gcbd=sparse(1:nbus,1:nbus,gcbdx,nbus,nbus);
bcgdx=B*C+G*D;
bcgd=sparse(1:nbus,1:nbus,bcgdx,nbus,nbus);
diagc=sparse(1:nbus,1:nbus,C,nbus,nbus);
diagd=sparse(1:nbus,1:nbus,D,nbus,nbus);
cg=diagc*G;
cb=diagc*B;
dg=diagd*G;
db=diagd*B;
Hmat=gcbd+cg+db; % P/C
Nmat=bcgd-cb+dg; % P/D
Jmat=-bcgd-cb+dg; % Q/C
Lmat=gcbd-cg-db; % Q/D
if ~isempty(zip)
Czip=C(zip(:,1));
Dzip=D(zip(:,1));
vMagzip=vMag(zip(:,1));
Hmat=Hmat+sparse(zip(:,1),zip(:,1),zip(:,6).*Czip./vMagzip,nbus,nbus);
Nmat=Nmat+sparse(zip(:,1),zip(:,1),zip(:,6).*Dzip./vMagzip,nbus,nbus);
Jmat=Jmat+sparse(zip(:,1),zip(:,1),zip(:,9).*Czip./vMagzip,nbus,nbus);
Lmat=Lmat+sparse(zip(:,1),zip(:,1),zip(:,9).*Dzip./vMagzip,nbus,nbus);
end
% Hdiag=sparse(ones(2*nline+nbus,1),[i_to;i_fr;(1:nbus)'],[-(real(yBr).*C([i_to;i_fr])-imag(yBr).*D([i_to;i_fr]));-2*real(yDiag).*C],1,nbus);
% Ndiag=sparse(ones(2*nline+nbus,1),[i_to;i_fr;(1:nbus)'],[-(real(yBr).*D([i_to;i_fr])+imag(yBr).*C([i_to;i_fr]));-2*real(yDiag).*D],1,nbus);
% Jdiag=sparse(ones(2*nline+nbus,1),[i_to;i_fr;(1:nbus)'],[(real(yBr).*D([i_to;i_fr])+imag(yBr).*C([i_to;i_fr]));2*imag(yDiag).*C],1,nbus);
% Ldiag=sparse(ones(2*nline+nbus,1),[i_to;i_fr;(1:nbus)'],[-(real(yBr).*C([i_to;i_fr])-imag(yBr).*D([i_to;i_fr]));2*imag(yDiag).*D],1,nbus);
%
% Hmat=sparse([i_fr;i_to;(1:nbus)'],[i_to;i_fr;(1:nbus)'],[-(real(yBr).*C([i_fr;i_to])+imag(yBr).*D([i_fr;i_to]));Hdiag.'],nbus,nbus);
% Nmat=sparse([i_fr;i_to;(1:nbus)'],[i_to;i_fr;(1:nbus)'],[(imag(yBr).*C([i_fr;i_to])-real(yBr).*D([i_fr;i_to]));Ndiag.'],nbus,nbus);
% Jmat=sparse([i_fr;i_to;(1:nbus)'],[i_to;i_fr;(1:nbus)'],[(imag(yBr).*C([i_fr;i_to])-real(yBr).*D([i_fr;i_to]));Jdiag.'],nbus,nbus);
% Lmat=sparse([i_fr;i_to;(1:nbus)'],[i_to;i_fr;(1:nbus)'],[(real(yBr).*C([i_fr;i_to])+imag(yBr).*D([i_fr;i_to]));Ldiag.'],nbus,nbus);
% VdC=sparse(1:nbus,1:nbus,-2*C,nbus,nbus);
% VdD=sparse(1:nbus,1:nbus,-2*D,nbus,nbus);
C0Mx=sparse(1:npv,ipvInPvPq,-2*C(ipv),npv,npv+npq);
D0Mx=sparse(1:npv,ipvInPvPq,-2*D(ipv),npv,npv+npq);
jac=[Hmat(busType~=2,busType~=2),Nmat(busType~=2,busType~=2);...
Jmat(busType==0,busType~=2),Lmat(busType==0,busType~=2);...
C0Mx,D0Mx];
pIdx=1:(npv+npq);
qIdx=npv+npq+(1:npq);
vIdx=npv+npq+npq+(1:npv);
sIdx=[];
ind=ind(dyn==0,:);
nInd=size(ind,1);
if nInd>1
indIdx=ind(:,1);
s=s(dyn==0);
R1=ind(:,7);
X1=ind(:,8);
Z1=ind(:,7)+1j*ind(:,8);
Xm=ind(:,13);
Ze=1j*ind(:,13);
R2=ind(:,9);
X2=ind(:,10);
T0=ind(:,15)+ind(:,16)+ind(:,17);
T1=-ind(:,16)-2*ind(:,17);
T2=ind(:,17);
H=ind(:,14);
Vind=V(indIdx);
C1=real(Vind);
C2=imag(Vind);
y2=-(R2.*Xm.*Xm)./(s.*(R2./s - X2*1i + (Xm.*(R1 - X1*1i)*1i)./...
(- R1 + X1*1i + Xm*1i)).*(R1 + X1*1i + Xm*1i).*(X2*1i + R2./s + (Xm.*(R1 + X1*1i)*1i)./(R1 + X1*1i + Xm*1i)).*(- R1 + X1*1i + Xm*1i)); % Te=V^2.*y2
y2ds=(R2.*Xm.*Xm)./(s.*s.*(R2./s - X2*1i + (Xm.*(R1 - X1*1i)*1i)./(- R1 + X1*1i + Xm*1i)).*(R1 + X1*1i + Xm*1i).*(X2*1i + R2./s + (Xm.*(R1 + X1*1i)*1i)./(R1 + X1*1i + Xm*1i))...
.*(- R1 + X1*1i + Xm*1i)) - (R2.*R2.*Xm.*Xm)./(s.*s.*s.*(R2./s - X2*1i + (Xm.*(R1 - X1*1i)*1i)./(- R1 + X1*1i + Xm*1i)).*(R1 + X1*1i + Xm*1i)...
.*(X2*1i + R2./s + (Xm.*(R1 + X1*1i)*1i)./(R1 + X1*1i + Xm*1i)).^2.*(- R1 + X1*1i + Xm*1i)) - (R2.*Xm.*R2.*Xm)./(s.*s.*s.*(R2./s - X2*1i + (Xm.*(R1 - X1*1i)*1i)...
./(- R1 + X1*1i + Xm*1i)).^2.*(R1 + X1*1i + Xm*1i).*(X2*1i + R2./s + (Xm.*(R1 + X1*1i)*1i)./(R1 + X1*1i + Xm*1i)).*(- R1 + X1*1i + Xm*1i));
dTds=(T1+2*T2.*s-abs(Vind).*abs(Vind).*y2ds)/2./H;
dTdC1=-2*C1.*real(y2)/2./H;
dTdC2=-2*C2.*real(y2)/2./H;
yIL=(R2 + s.*(X2 + Xm)*1i)./(R1.*R2 - s.*(X1.*X2 + X1.*Xm + X2.*Xm) + R2.*(X1 + Xm)*1i + R1.*s.*(X2 + Xm)*1i);
yILds=(X2*1i + Xm*1i)./(R1.*R2 - s.*(X1.*X2 + X1.*Xm + X2.*Xm) + R2.*(X1 + Xm)*1i + R1.*s.*(X2 + Xm)*1i) ...
+ (R2 + s.*(X2 + Xm)*1i).*(X1.*X2 + X1.*Xm + X2.*Xm - R1.*(X2 + Xm)*1i)./(R1.*R2 - s.*(X1.*X2 + X1.*Xm + X2.*Xm) + R2.*(X1 + Xm)*1i + R1.*s.*(X2 + Xm)*1i).^2;
% VILdC1=-2*C1.*conj(yIL);
% VILdC2=-2*C2.*conj(yIL);
% Hmat=Hmat+sparse(indIdx,indIdx,real(VILdC1),nbus,nbus);
% Nmat=Nmat+sparse(indIdx,indIdx,real(VILdC2),nbus,nbus);
% Jmat=Jmat+sparse(indIdx,indIdx,imag(VILdC1),nbus,nbus);
% Lmat=Lmat+sparse(indIdx,indIdx,imag(VILdC2),nbus,nbus);
VILds=abs(Vind).*abs(Vind).*conj(yILds);
PILdsmat=sparse(indIdx,1:nInd,-real(VILds),nbus,nInd);
QILdsmat=sparse(indIdx,1:nInd,-imag(VILds),nbus,nInd);
dTdC1mat=sparse(1:nInd,indIdx,dTdC1,nInd,nbus);
dTdC2mat=sparse(1:nInd,indIdx,dTdC2,nInd,nbus);
ind2ind=sparse(1:nInd,1:nInd,dTds,nInd,nInd);
jac=[jac,[PILdsmat(busType~=2,:);QILdsmat(busType==0,:);sparse(npv,nInd)]...
dTdC1mat(:,busType~=2),dTdC2mat(:,busType~=2),ind2ind];
sIdx=vIdx(end)+(1:nInd);
end
end

@ -0,0 +1,59 @@
function [P,Q,Jac]=getJacobianPolar(V0,Y)
% Calculating Jacobian matrix in polar coordinate
% FUNCTION getJacobianPolar
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
% INPUT
% V0 - voltage
% Y - admittance matrix
%
% OUTPUT
% P - Net active power injection
% Q - Net reactive power injection
% Jac - Jacobian matrix
%
nbus=size(V0,1);
Vm=abs(V0);
Va=angle(V0);
Vadiff=repmat(Va,1,nbus)-repmat(Va',nbus,1);
G=real(Y);B=imag(Y);
Gd=diag(G);Bd=diag(B);
cVa=cos(Vadiff);sVa=sin(Vadiff);
P=Vm.*((G.*cVa+B.*sVa)*Vm);
Q=-Vm.*((B.*cVa-G.*sVa)*Vm);
Vmult=repmat(Vm,1,nbus).*repmat(Vm',nbus,1);
H=-Vmult.*(G.*sVa-B.*cVa);
H(1:nbus+1:end)=Q+Vm.*Vm.*Bd;
N=-repmat(Vm,1,nbus).*(G.*cVa+B.*sVa);
N(1:nbus+1:end)=-P./Vm-Vm.*Gd;
J=Vmult.*(G.*cVa+B.*sVa);
J(1:nbus+1:end)=-P+Vm.*Vm.*Gd;
L=repmat(Vm,1,nbus).*(G.*sVa-B.*cVa);
L(1:nbus+1:end)=-Q./Vm+Vm.*Bd;
Jac=[H,N;J,L];
end

@ -0,0 +1,58 @@
function [YshInd0,Yshind1]=getLinearInterpolatorInd(nbus,ind,s0,sNew)
% Simplify induction motor as variant admittance model
%
% FUNCTION getLinearInterpolatorInd
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% nbus - number of buses in the system
% ind - induction motor data
% s0 - initial slip
% sNew - updated slip
%
% OUTPUT
% YshInd0 - equivalent admittance corresponding to slip s0
% Yshind1 - the change of equivalent admittance from slip s0 to sNew
%
nInd=size(ind,1);
indIdx=ind(:,1);
Z1=ind(:,7)+1j*ind(:,8);
Ze=1j*ind(:,13);
R2=ind(:,9);
X2=ind(:,10);
Zind0=Z1+Ze.*(R2+1j*X2.*s0)./(R2+(Ze+1j*X2).*s0);
Yind0=1./Zind0;
ZindNew=Z1+Ze.*(R2+1j*X2.*sNew)./(R2+(Ze+1j*X2).*sNew);
YindNew=1./ZindNew;
YshInd0=accumarray(indIdx,Yind0,[nbus,1]);
Yshind1=accumarray(indIdx,YindNew-Yind0,[nbus,1]);
end

@ -0,0 +1,130 @@
function [MatGV0,MatGV1,MatGRhs0,MatGRhs1]=getLinearInterpolatorSyn(...
syn,synNew,d0,dNew,ed0,ed10,ed20,edNew,ed1New,ed2New,eq0,eq10,eq20,eqNew,eq1New,eq2New,psid0,psiq0,psidNew,psiqNew)
% Simplify synchronous generator as variant Thevenin model
%
% FUNCTION getLinearInterpolatorSyn
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% syn - synchronous generator data
% synNew - updated synchronous generator data
% *0 - initial states of synchronous generator
% *New - updated states of synchronous generator
%
% OUTPUT
% MatGV0 - equivalent admittance corresponding to initial states
% MatGV1 - the change of equivalent admittance
% MatGRhs0 - equivalent voltage source corresponding to initial states
% MatGRhs1 - the change of equivalent voltage source
%
nSyn=size(syn,1);
if nSyn>0
synIdx=syn(:,1);
synMod=syn(:,5);
Rga=syn(:,7);
Xgd=syn(:,8);
Xgd1=syn(:,9);
Xgd2=syn(:,10);
Xgq=syn(:,13);
Xgq1=syn(:,14);
Xgq2=syn(:,15);
if ~isempty(synNew)
RgaNew=synNew(:,7);
XgdNew=synNew(:,8);
Xgd1New=synNew(:,9);
Xgd2New=synNew(:,10);
XgqNew=synNew(:,13);
Xgq1New=synNew(:,14);
Xgq2New=synNew(:,15);
else
RgaNew=Rga;
XgdNew=Xgd;
Xgd1New=Xgd1;
Xgd2New=Xgd2;
XgqNew=Xgq;
Xgq1New=Xgq1;
Xgq2New=Xgq2;
end
cosd0=cos(d0);
sind0=sin(d0);
cosdNew=cos(dNew);
sindNew=sin(dNew);
MatGV0=zeros(nSyn,4);
MatGV1=zeros(nSyn,4);
MatGRhs0=zeros(nSyn,2);
MatGRhs1=zeros(nSyn,2);
for i=1:nSyn
Mg0=[sind0(i),-cosd0(i);cosd0(i),sind0(i)];
MgNew=[sindNew(i),-cosdNew(i);cosdNew(i),sindNew(i)];
if synMod(i)==6||synMod(i)==5
Yg=[Rga(i),Xgq2(i);-Xgd2(i),Rga(i)]/(Rga(i)*Rga(i)+Xgd2(i)*Xgq2(i));
YgNew=[RgaNew(i),Xgq2New(i);-Xgd2New(i),RgaNew(i)]/(RgaNew(i)*RgaNew(i)+Xgd2New(i)*Xgq2New(i));
MatGRhs0(i,:)=(Mg0'*Yg*[ed20(i);eq20(i)]).';
MatGRhs1(i,:)=(MgNew'*YgNew*[ed2New(i);eq2New(i)]).'-MatGRhs0(i,:);
elseif synMod(i)==4
Yg=[Rga(i),Xgq1(i);-Xgd1(i),Rga(i)]/(Rga(i)*Rga(i)+Xgd1(i)*Xgq1(i));
YgNew=[RgaNew(i),Xgq1New(i);-Xgd1New(i),RgaNew(i)]/(RgaNew(i)*RgaNew(i)+Xgd1New(i)*Xgq1New(i));
MatGRhs0(i,:)=(Mg0'*Yg*[ed10(i);eq10(i)]).';
MatGRhs1(i,:)=(MgNew'*YgNew*[ed1New(i);eq1New(i)]).'-MatGRhs0(i,:);
elseif synMod(i)==3
Yg=[Rga(i),Xgq(i);-Xgd1(i),Rga(i)]/(Rga(i)*Rga(i)+Xgd1(i)*Xgq(i));
YgNew=[RgaNew(i),XgqNew(i);-Xgd1New(i),RgaNew(i)]/(RgaNew(i)*RgaNew(i)+Xgd1New(i)*XgqNew(i));
MatGRhs0(i,:)=(Mg0'*Yg*[ed0(i);eq10(i)]).';
MatGRhs1(i,:)=(MgNew'*YgNew*[edNew(i);eq1New(i)]).'-MatGRhs0(i,:);
elseif synMod(i)==2
Yg=[Rga(i),Xgq(i);-Xgd(i),Rga(i)]/(Rga(i)*Rga(i)+Xgd(i)*Xgq(i));
YgNew=[RgaNew(i),XgqNew(i);-XgdNew(i),RgaNew(i)]/(RgaNew(i)*RgaNew(i)+XgdNew(i)*XgqNew(i));
MatGRhs0(i,:)=(Mg0'*Yg*[ed0(i);eq0(i)]).';
MatGRhs1(i,:)=(MgNew'*YgNew*[edNew(i);eqNew(i)]).'-MatGRhs0(i,:);
elseif synMod(i)==8
Yg=zeros(2);
YgNew=zeros(2);
MatGRhs0(i,:)=(Mg0'*[(eq20(i)-psid0(i))/Xgd2(i);(-ed20(i)-psiq0(i))/Xgq2(i)]).';
MatGRhs1(i,:)=(MgNew'*[(eq2New(i)-psidNew(i))/Xgd2New(i);(-ed2New(i)-psiqNew(i))/Xgq2New(i)]).'-MatGRhs0(i,:);
end
MatVg0=Mg0'*Yg*Mg0;
MatVgNew=MgNew'*YgNew*MgNew;
MatGV0(i,:)=[MatVg0(1,1),MatVg0(1,2),MatVg0(2,1),MatVg0(2,2)];
MatGV1(i,:)=[MatVgNew(1,1),MatVgNew(1,2),MatVgNew(2,1),MatVgNew(2,2)]-MatGV0(i,:);
end
else
MatGV0=zeros(nSyn,4);
MatGV1=zeros(nSyn,4);
MatGRhs0=zeros(nSyn,2);
MatGRhs1=zeros(nSyn,2);
end
end

@ -0,0 +1,49 @@
function [Va,Vb]=getPadeApproxHelm(V,ignore)
% Calculate Pade coefficients
%
% FUNCTION getPadeApproxHelm
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% V - HE coefficients in power series
% ignore - indexes to ignore for the computation
%
% OUTPUT
% Va - Pade coeffcients on the numerator
% Vb - Pade coeffcients on the denominator
%
N=size(V,2);
m=ceil(N/2);
Nbus=size(V,1);
tag=zeros(Nbus,1);
ignore=ignore(ignore>0&ignore<=Nbus);
tag(ignore)=1;
[Va,Vb]=getPadeApproxVector(V,m,tag);
end

@ -0,0 +1,70 @@
function [xa,xb]=getPadeApproxVector(xc,m,tag)
% Calculate Pade coefficients by a vector of variables, called by getPadeApproxHelm()
%
% FUNCTION getPadeApproxVector
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
% INPUT
% xc - HE coefficients in power series
% m - order on the numerator
% tag
% 0 - proceed for computation
% 1 - this variable is ignored, do not compute
%
% OUTPUT
% xa - Pade coeffcients on the numerator
% xb - Pade coeffcients on the denominator
%
N=size(xc,2);
n=N-m;
nD=size(xc,1);
xa=zeros(nD,m);
xb=zeros(nD,n);
txc=xc(tag==0,:);
if size(txc,1)>0
augTxc=[zeros(size(txc,1),n),txc];
nT=2*n-1;
ttxc=augTxc(:,(end-nT):(end-1));
ytxc=-augTxc(:,(end-n+1):end);
tb=solveToepLevinson(ttxc,ytxc);
ta=augTxc(:,(n+1):(n+m));
for k=1:n
ta=ta+augTxc(:,(n+1-k):(n+m-k)).*repmat(tb(:,k),1,m);
end
xa(tag==0,:)=ta;
xb(tag==0,:)=tb;
end
end

@ -0,0 +1,45 @@
function EvtType=getSimEventType()
% Predetermined event type in dynamic simulation
%
% FUNCTION getSimEventType
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
EvtType.START=0;
EvtType.ADD_LINE=1;
EvtType.ADD_LOAD=2;
EvtType.ADD_IND=3;
EvtType.ADD_SYN=4;
EvtType.DYN_SIM=50;
EvtType.FAULT=6;
EvtType.CUT_LINE=7;
EvtType.CUT_LOAD=8;
EvtType.CUT_IND=9;
EvtType.CUT_SYN=10;
EvtType.ALT_SYN=11;
EvtType.END=99;
end

@ -0,0 +1,37 @@
function MethodType=getSimMethodType()
% Some predefined methods for dynamic simulation
%
% FUNCTION getSimMethodType
%
% Author: Rui Yao <ruiyao@ieee.org>
%
% Copyright (C) 2021, UChicago Argonne, LLC. All rights reserved.
%
% OPEN SOURCE LICENSE
%
% Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
%
% 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
% 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
% 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
%
%
% ******************************************************************************************************
% DISCLAIMER
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
% WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
% PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
% ***************************************************************************************************
%
MethodType.FULL_HE=0.0;
MethodType.ME_HE=1.0;
MethodType.ME_NR=1.1;
MethodType.RK4_HE=2.0;
MethodType.RK4_NR=2.1;
end

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save