📄 fm_ncomp.m
字号:
end
if (~isempty(Fault.con))
Fault.n = length(Fault.con(:,1));
Fault.bus = Bus.int(round(Fault.con(:,1)));
idx = find(Fault.con(:,5) == 0);
if ~isempty(idx)
Fault.con(idx,5) = 1e-6;
Fault.con(idx,6) = Fault.con(idx,6)+1e-6;
end
end
if (~isempty(Syn.con))
Syn.n = length(Syn.con(:,1));
Syn.bus = Bus.int(round(Syn.con(:,1)));
Syn.Pg = zeros(Syn.n,1);
Syn.Qg = zeros(Syn.n,1);
Syn.J11 = zeros(Syn.n,1);
Syn.J12 = zeros(Syn.n,1);
Syn.J21 = zeros(Syn.n,1);
Syn.J22 = zeros(Syn.n,1);
Syn.Gp = zeros(Syn.n,8);
Syn.Gq = zeros(Syn.n,8);
switch length(Syn.con(1,:))
case 19
Syn.con = [Syn.con, zeros(Syn.n,1), ones(Syn.n,2), ...
zeros(Syn.n,3)];
case 20
Syn.con = [Syn.con, zeros(Syn.n,2), ones(Syn.n,2), ...
zeros(Syn.n,3)];
case 21
Syn.con = [Syn.con, ones(Syn.n,2), zeros(Syn.n,3)];
case 22
Syn.con = [Syn.con, ones(Syn.n,1), zeros(Syn.n,3)];
case 23
Syn.con = [Syn.con,zeros(Syn.n,3)];
case 24
Syn.con = [Syn.con,zeros(Syn.n,2)];
case 25
Syn.con = [Syn.con,zeros(Syn.n,1)];
end
end
if (~isempty(Exc.con))
Exc.n = length(Exc.con(:,1));
Exc.syn = Exc.con(:,1);
Exc.bus = Syn.bus(Exc.syn);
end
if (~isempty(Mass.con))
Mass.n = length(Mass.con(:,1));
Mass.syn = Mass.con(:,1);
end
Tg = setup(Tg);
if (~isempty(Oxl.con))
Oxl.n = length(Oxl.con(:,1));
Oxl.exc = Oxl.con(:,1);
Oxl.syn = Exc.syn(Oxl.exc);
Oxl.bus = Syn.bus(Oxl.syn);
end
if (~isempty(Pss.con))
Pss.n = length(Pss.con(:,1));
Pss.exc = Pss.con(:,1);
Pss.syn = Exc.syn(Pss.exc);
Pss.bus = Syn.bus(Pss.syn);
end
if (~isempty(SAE1.con))
SAE1.n = length(SAE1.con(:,1));
DAE.x = zeros(SAE1.n,1);
fm_sae1(0);
end
if (~isempty(SAE2.con))
SAE2.n = length(SAE2.con(:,1));
DAE.x = zeros(SAE2.n,1);
fm_sae2(0);
end
if (~isempty(SAE3.con))
SAE3.n = length(SAE3.con(:,1));
DAE.x = zeros(SAE3.n,1);
fm_sae3(0);
end
if (~isempty(Ltc.con))
Ltc.n = length(Ltc.con(:,1));
Ltc.bus1 = Bus.int(round(Ltc.con(:,1)));
Ltc.bus2 = Bus.int(round(Ltc.con(:,2)));
DAE.x = zeros(Ltc.n,1);
Ltc.dat = ones(Ltc.n,7);
fm_ltc(0);
end
Svc = setup(Svc);
Statcom = setup(Statcom);
Tcsc = setup(Tcsc);
Sssc = setup(Sssc);
Upfc = setup(Upfc);
global Hvdc
if ~isempty(Hvdc.con)
Hvdc.n = length(Hvdc.con(:,1));
Hvdc.bus1 = round(Bus.int(Hvdc.con(:,1)));
Hvdc.bus2 = round(Bus.int(Hvdc.con(:,2)));
Hvdc.dat = zeros(Hvdc.n,16);
DAE.x = zeros(Hvdc.n,1);
fm_hvdc(0);
end
global Lines
if ~isempty(Lines.con)
Lines.n = length(Lines.con(:,1));
Lines.bus1 = Bus.int(Lines.con(:,1));
Lines.bus2 = Bus.int(Lines.con(:,2));
end
Demand = setup(Demand);
Supply = setup(Supply);
global Rsrv
if ~isempty(Rsrv.con)
Rsrv.n = length(Rsrv.con(:,1));
Rsrv.bus = Bus.int(round(Rsrv.con(:,1)));
end
global Rmpg
if ~isempty(Rmpg.con)
Rmpg.n = length(Rmpg.con(:,1));
Rmpg.sup = Rmpg.con(:,1);
Rmpg.bus = Supply.bus(Rmpg.sup);
end
global Rmpl
if ~isempty(Rmpl.con)
Rmpl.n = length(Rmpl.con(:,1));
Rmpl.dem = Rmpl.con(:,1);
Rmpl.bus = Demand.bus(Rmpl.dem);
end
global Ypdp
if ~isempty(Ypdp.con)
lypdp = length(Ypdp.con);
if lypdp > 206, Ypdp.con = Ypdp.con([1:206]); end
if lypdp < 206
fm_disp(['* * * Custom Power Demand Profile.'])
Ypdp.d = 1;
Ypdp.w = 1;
Ypdp.y = 1;
Ypdp.day = Ypdp.con';
Ypdp.week = 100;
Ypdp.year = 100;
Ypdp.len = length(Ypdp.day);
else
fm_disp(['* * * Daily Power Demand Profile.'])
Ypdp.day = zeros(24,6);
Ypdp.day(:,1) = Ypdp.con([1:24]);
Ypdp.day(:,2) = Ypdp.con([25:48]);
Ypdp.day(:,3) = Ypdp.con([49:72]);
Ypdp.day(:,4) = Ypdp.con([73:96]);
Ypdp.day(:,5) = Ypdp.con([97:120]);
Ypdp.day(:,6) = Ypdp.con([121:144]);
Ypdp.week = Ypdp.con([145:151]);
Ypdp.year = Ypdp.con([152:203]);
Ypdp.d = min(6,max(1,round(Ypdp.con(204))));
Ypdp.w = min(7,max(1,round(Ypdp.con(205))));
Ypdp.y = min(52,max(1,round(Ypdp.con(206))));
end
end
global Vltn
if ~isempty(Vltn.con)
Vltn.n = length(Vltn.con(:,1));
Vltn.bus = Bus.int(round(Vltn.con(:,1)));
end
global SSR
if (~isempty(SSR.con))
SSR.n = length(SSR.con(:,1));
SSR.bus = Bus.int(SSR.con(:,1));
end
global Pod
if (~isempty(Pod.con))
Pod.n = length(Pod.con(:,1));
Pod.type = Pod.con(:,3);
Pod.idx = Pod.con(:,1);
idx = find(Pod.type == 1); % voltage control
if ~isempty(idx)
Pod.idx(idx) = Bus.int(Pod.con(idx,1));
end
Pod.svc = find(Pod.con(:,4) == 1);
Pod.tcsc = find(Pod.con(:,4) == 2);
Pod.statcom = find(Pod.con(:,4) == 3);
Pod.sssc = find(Pod.con(:,4) == 4);
Pod.upfc = find(Pod.con(:,4) == 5);
Svc.pod = Pod.con(Pod.svc,2);
Statcom.pod = Pod.con(Pod.statcom,2);
Sssc.pod = Pod.con(Pod.sssc,2);
Upfc.pod = Pod.con(Pod.upfc,2);
Tcsc.pod = Pod.con(Pod.tcsc,2);
end
% ----------------------------------------------------------- %
% W A R N I N G %
% ----------------------------------------------------------- %
% Following lines have been written by the UDM build utility. %
% This utility requires you do NOT change anything beyond %
% this point in order to be able to correctly install and %
% uninstall UDMs. %
% ----------------------------------------------------------- %
global Sofc
if ~isempty(Sofc.con)
Sofc.n = length(Sofc.con(:,1));
Sofc.bus = Bus.int(round(Sofc.con(:,1)));
end
global Cac
if ~isempty(Cac.con)
Cac.n = length(Cac.con(:,1));
Cac.bus = Bus.int(round(Cac.con(:,1)));
Cac.q = ones(Cac.n,1);
end
global Cluster
if ~isempty(Cluster.con)
Cluster.n = length(Cluster.con(:,1));
ty1 = find(Cluster.con(:,3) == 1);
ty2 = find(Cluster.con(:,3) == 2);
Cluster.svc = ty1;
Cluster.exc = ty2;
Cluster.bus = zeros(Cluster.n,1);
Exc.cluster = Cluster.con(Cluster.exc,2);
Svc.cluster = Cluster.con(Cluster.svc,2);
Syn.cluster = Exc.syn(Exc.cluster);
Cluster.bus(ty1) = Exc.bus(Exc.cluster);
Cluster.bus(ty2) = Svc.bus(Svc.cluster);
Cluster.cac = Cluster.con(:,1);
end
global Exload
if ~isempty(Exload.con)
Exload.n = length(Exload.con(:,1));
Exload.bus = Bus.int(round(Exload.con(:,1)));
Exload.dat = zeros(Exload.n,3);
end
global Phs
if ~isempty(Phs.con)
Phs.n = length(Phs.con(:,1));
Phs.bus1 = Bus.int(round(Phs.con(:,1)));
Phs.bus2 = Bus.int(round(Phs.con(:,2)));
end
global Wind
if ~isempty(Wind.con)
Wind.n = length(Wind.con(:,1));
Wind.speed.vw = [];
Wind.speed.time = [];
end
global Cswt
if ~isempty(Cswt.con)
Cswt.n = length(Cswt.con(:,1));
Cswt.bus = Bus.int(round(Cswt.con(:,1)));
Cswt.wind = round(Cswt.con(:,2));
Cswt.dat = zeros(Cswt.n,8);
end
global Dfig
if ~isempty(Dfig.con)
Dfig.n = length(Dfig.con(:,1));
Dfig.bus = Bus.int(round(Dfig.con(:,1)));
Dfig.wind = round(Dfig.con(:,2));
Dfig.dat = zeros(Dfig.n,7);
end
global Ddsg
if ~isempty(Ddsg.con)
Ddsg.n = length(Ddsg.con(:,1));
Ddsg.bus = Bus.int(round(Ddsg.con(:,1)));
Ddsg.wind = round(Ddsg.con(:,2));
Ddsg.dat = zeros(Ddsg.n,7);
end
global Busfreq
if ~isempty(Busfreq.con)
Busfreq.n = length(Busfreq.con(:,1));
Busfreq.bus = Bus.int(round(Busfreq.con(:,1)));
Busfreq.dat = zeros(Busfreq.n,2);
end
global Pmu
if ~isempty(Pmu.con)
Pmu.n = length(Pmu.con(:,1));
Pmu.bus = Bus.int(round(Pmu.con(:,1)));
Pmu.dat = zeros(Pmu.n,2);
end
Jimma = setup(Jimma);
Mixload = setup(Mixload);
check = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -