📄 fm_ncomp.m
字号:
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)]; 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);endTg = 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);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);endSvc = setup(Svc);Tcsc = setup(Tcsc);global 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 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.bus = Bus.int(Statcom.con(:,1)); Statcom.pod = [];endglobal Ssscif ~isempty(Sssc.con) Sssc.n = length(Sssc.con(:,1)); Sssc.line = Sssc.con(:,1); Sssc.bus1 = Line.from(Sssc.line); Sssc.bus2 = Line.to(Sssc.line); Sssc.Pref = zeros(Sssc.n,1); Sssc.Cp = Sssc.con(:,6)./100; Sssc.y = 1./Line.con(Sssc.line,9); % neglect line resistance, charging and tap ratio Line.con(Sssc.line,[8 10 12]) = 0; Line.con(Sssc.line,11) = 1; Sssc.xcs = Sssc.Cp.*Line.con(Sssc.line,9); Line.con(Sssc.line,9) = 1.*Line.con(Sssc.line,9) - Sssc.xcs; Sssc.pod = [];endglobal Upfcif ~isempty(Upfc.con) Upfc.n = length(Upfc.con(:,1)); Upfc.line = Upfc.con(:,1); Upfc.bus1 = Line.from(Upfc.line); Upfc.bus2 = Line.to(Upfc.line); Upfc.y = 1./Line.con(Upfc.line,9); % neglect line resistance, charging and tap ratio Line.con(Upfc.line,[8 10 12]) = 0; Line.con(Upfc.line,11) = 1; Upfc.Cp = Upfc.con(:,6)./100; Upfc.xcs = Upfc.Cp.*Line.con(Upfc.line,9); Line.con(Upfc.line,9) = Line.con(Upfc.line,9) - Upfc.xcs; Upfc.pod = [];endDemand = setup(Demand);Supply = setup(Supply);global 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 SSRif (~isempty(SSR.con)) SSR.n = length(SSR.con(:,1)); SSR.bus = Bus.int(SSR.con(:,1));endglobal Podif (~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 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)); 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);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);endglobal Jimmaif ~isempty(Jimma.con) Jimma.n = length(Jimma.con(:,1)); Jimma.bus = Bus.int(round(Jimma.con(:,1))); Jimma.dat = zeros(Jimma.n,1);endglobal Mixedif ~isempty(Mixed.con) Mixed.n = length(Mixed.con(:,1)); Mixed.bus = Bus.int(round(Mixed.con(:,1))); Mixed.dat = zeros(Mixed.n,2);endcheck = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -