📄 fm_ncomp.m
字号:
if ~isempty(Thload.con) Thload.n = length(Thload.con(:,1)); Thload.bus = Bus.int(round(Thload.con(:,1)));endif (~isempty(Tap.con)) Tap.n = length(Tap.con(:,1)); Tap.bus = Bus.int(round(Tap.con(:,1)));endif (~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; endendif (~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); if Settings.octave Syn.Gp = zeros(Syn.n,8); Syn.Gq = zeros(Syn.n,8); else Syn.Gp = sparse(Syn.n,8); Syn.Gq = sparse(Syn.n,8); end 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)]; endendif (~isempty(Exc.con)) Exc.n = length(Exc.con(:,1)); Exc.syn = Exc.con(:,1); Exc.bus = Syn.bus(Exc.syn);endif (~isempty(Mass.con)) Mass.n = length(Mass.con(:,1)); Mass.syn = Mass.con(:,1);endif (~isempty(Tg.con)) Tg.n = length(Tg.con(:,1)); Tg.syn = Tg.con(:,1); Tg.bus = Syn.bus(Tg.syn);endif (~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);endif (~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);endif (~isempty(SAE1.con)) SAE1.n = length(SAE1.con(:,1)); DAE.x = zeros(SAE1.n,1); fm_sae1(0);endif (~isempty(SAE2.con)) SAE2.n = length(SAE2.con(:,1)); DAE.x = zeros(SAE2.n,1); fm_sae2(0);endif (~isempty(SAE3.con)) SAE3.n = length(SAE3.con(:,1)); DAE.x = zeros(SAE3.n,1); fm_sae3(0);endif (~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);endif (~isempty(Svc.con)) Svc.n = length(Svc.con(:,1)); Svc.bus = Bus.int(round(Svc.con(:,1)));endglobal Hvdcif ~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);endglobal Tcscif ~isempty(Tcsc.con); Tcsc.n = length(Tcsc.con(:,1)); Tcsc.bus1 = round(Bus.int(Tcsc.con(:,1))); Tcsc.bus2 = round(Bus.int(Tcsc.con(:,2))); Tcsc.Pe = zeros(Tcsc.n,1); Tcsc.B = zeros(Tcsc.n,1); idx = find(Tcsc.con(:,11) == Tcsc.con(:,12)); if ~isempty(idx) Tcsc.con(idx,12) = Tcsc.con(idx,12)-1e-2; end for i = 1:Tcsc.n idx = find(SW.bus == Tcsc.bus1); if ~isempty(idx) DAE.a(Tcsc.bus2(i)) = SW.con(idx,5)-1e-3; else DAE.a(Tcsc.bus1) = 1e-3; end endendglobal Linesif ~isempty(Lines.con) Lines.n = length(Lines.con(:,1)); Lines.bus1 = Bus.int(Lines.con(:,1)); Lines.bus2 = Bus.int(Lines.con(:,2));endglobal Statcomif ~isempty(Statcom.con) Statcom.n = length(Statcom.con(:,1)); Statcom.dat = zeros(Statcom.n,4); Statcom.bus = Bus.int(Statcom.con(:,1)); DAE.x = zeros(1,1); fm_statcom(0);endglobal Ssscif ~isempty(Sssc.con) Sssc.n = length(Sssc.con(:,1)); Sssc.bus1 = Bus.int(Sssc.con(:,1)); Sssc.bus2 = Bus.int(Sssc.con(:,2)); Sssc.dat = zeros(Sssc.n,8); DAE.x = zeros(1,1); fm_sssc(0);endglobal Upfcif ~isempty(Upfc.con) Upfc.n = length(Upfc.con(:,1)); Upfc.bus1 = Bus.int(Upfc.con(:,1)); Upfc.bus2 = Bus.int(Upfc.con(:,2)); Upfc.dat = zeros(Upfc.n,15); DAE.x = zeros(1,1); fm_upfc(0);endglobal Demandif ~isempty(Demand.con) Demand.n = length(Demand.con(:,1)); Demand.bus = Bus.int(round(Demand.con(:,1)));endglobal Supplyif ~isempty(Supply.con) Supply.n = length(Supply.con(:,1)); Supply.bus = Bus.int(round(Supply.con(:,1)));endglobal Rsrvif ~isempty(Rsrv.con) Rsrv.n = length(Rsrv.con(:,1)); Rsrv.bus = Bus.int(round(Rsrv.con(:,1)));endglobal Rmpgif ~isempty(Rmpg.con) Rmpg.n = length(Rmpg.con(:,1)); Rmpg.sup = Rmpg.con(:,1); Rmpg.bus = Supply.bus(Rmpg.sup);endglobal Rmplif ~isempty(Rmpl.con) Rmpl.n = length(Rmpl.con(:,1)); Rmpl.dem = Rmpl.con(:,1); Rmpl.bus = Demand.bus(Rmpl.dem);endglobal Ypdpif ~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)))); endendglobal Vltnif ~isempty(Vltn.con) Vltn.n = length(Vltn.con(:,1)); Vltn.bus = Bus.int(round(Vltn.con(:,1)));endglobal RLCif (~isempty(RLC.con)) RLC.n = length(RLC.con(:,1)); RLC.bus1 = Bus.int(RLC.con(:,1)); RLC.bus2 = Bus.int(RLC.con(:,2)); RLC.dat = zeros(RLC.n,4);endglobal SSRif (~isempty(SSR.con)) SSR.n = length(SSR.con(:,1)); SSR.bus = Bus.int(SSR.con(:,1));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 Sofcif ~isempty(Sofc.con) Sofc.n = length(Sofc.con(:,1)); Sofc.bus = Bus.int(round(Sofc.con(:,1)));endglobal Cacif ~isempty(Cac.con) Cac.n = length(Cac.con(:,1)); Cac.bus = Bus.int(round(Cac.con(:,1))); Cac.q = ones(Cac.n,1);endglobal Clusterif ~isempty(Cluster.con) Cluster.n = length(Cluster.con(:,1)); Cluster.svc = zeros(Cluster.n,1); Cluster.syn = zeros(Cluster.n,1); Cluster.exc = zeros(Cluster.n,1); Cluster.bus = zeros(Cluster.n,1); type1 = find(Cluster.con(:,2) == 1); type2 = find(Cluster.con(:,2) == 2); Cluster.exc(type1) = Cluster.con(type1,1); Cluster.svc(type2) = Cluster.con(type2,1); Cluster.syn(type1) = Exc.syn(Cluster.exc(type1)); Cluster.bus(type1) = Exc.bus(Cluster.exc(type1)); Cluster.bus(type2) = Svc.bus(Cluster.svc(type2)); Cluster.cac = Cluster.con(:,3);endglobal Exloadif ~isempty(Exload.con) Exload.n = length(Exload.con(:,1)); Exload.bus = Bus.int(round(Exload.con(:,1))); Exload.dat = zeros(Exload.n,3);endglobal Phsif ~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)));endglobal Windif ~isempty(Wind.con) Wind.n = length(Wind.con(:,1)); Wind.speed.vw = []; Wind.speed.time = [];endglobal Cswtif ~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);endglobal Dfigif ~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);endglobal Ddsgif ~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);endglobal Busfreqif ~isempty(Busfreq.con) Busfreq.n = length(Busfreq.con(:,1)); Busfreq.bus = Bus.int(round(Busfreq.con(:,1))); Busfreq.dat = zeros(Busfreq.n,2);endglobal Pmuif ~isempty(Pmu.con) Pmu.n = length(Pmu.con(:,1)); Pmu.bus = Bus.int(round(Pmu.con(:,1))); Pmu.dat = zeros(Pmu.n,2);end global Jimmaif ~isempty(Jimma.con) Jimma.n = length(Jimma.con(:,1)); Jimma.bus = Bus.int(round(Jimma.con(:,1))); Jimma.dat = zeros(Jimma.n,1);end global Mixedif ~isempty(Mixed.con) Mixed.n = length(Mixed.con(:,1)); Mixed.bus = Bus.int(round(Mixed.con(:,1))); Mixed.dat = zeros(Mixed.n,2);end check = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -