⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printpf.asv

📁 可进行电力系统多节点系统的优化潮流计算
💻 ASV
📖 第 1 页 / 共 3 页
字号:
    end    fprintf(fd, '\n----   ------  ------------------   ------  ------------------    ------  ------');    fprintf(fd, '\nTot:  %7.1f  %7.1f to %-7.1f  %7.1f  %7.1f to %-7.1f   %7.1f %7.1f', ...            sum(gen(allg, PMAX)), sum(gen(allg, QMIN)), sum(gen(allg, QMAX)), ...            sum(gen(ong, PMAX)), sum(gen(ong, QMIN)), sum(gen(ong, QMAX)), ...            sum(gen(ong, PG)), sum(gen(ong, QG)) );    fprintf(fd, '\n');    fprintf(fd, '\nArea    Disp Load Cap       Disp Load         Fixed Load        Total Load');    fprintf(fd, '\n Num      MW     MVAr       MW     MVAr       MW     MVAr       MW     MVAr');    fprintf(fd, '\n----    ------  ------    ------  ------    ------  ------    ------  ------');    Qlim = (gen(:, QMIN) == 0) .* gen(:, QMAX) + (gen(:, QMAX) == 0) .* gen(:, QMIN);    for i=1:length(s_areas)        a = s_areas(i);        ildon = find(bus(e2i(gen(:, GEN_BUS)), BUS_AREA) == a & gen(:, GEN_STATUS) > 0 & isload(gen));        inzld = find(bus(:, BUS_AREA) == a & (bus(:, PD) | bus(:, QD)));        fprintf(fd, '\n%3d    %7.1f %7.1f   %7.1f %7.1f   %7.1f %7.1f   %7.1f %7.1f', ...            a, -sum(gen(ildon, PMIN)), ...            -sum(Qlim(ildon)), ...            -sum(gen(ildon, PG)), -sum(gen(ildon, QG)), ...            sum(bus(inzld, PD)), sum(bus(inzld, QD)), ...            -sum(gen(ildon, PG)) + sum(bus(inzld, PD)), ...            -sum(gen(ildon, QG)) + sum(bus(inzld, QD)) );    end    fprintf(fd, '\n----    ------  ------    ------  ------    ------  ------    ------  ------');    fprintf(fd, '\nTot:   %7.1f %7.1f   %7.1f %7.1f   %7.1f %7.1f   %7.1f %7.1f', ...            -sum(gen(onld, PMIN)), ...            -sum(Qlim(onld)), ...            -sum(gen(onld, PG)), -sum(gen(onld, QG)), ...            sum(bus(nzld, PD)), sum(bus(nzld, QD)), ...            -sum(gen(onld, PG)) + sum(bus(nzld, PD)), ...            -sum(gen(onld, QG)) + sum(bus(nzld, QD)) );    fprintf(fd, '\n');    fprintf(fd, '\nArea      Shunt Inj        Branch      Series Losses      Net Export');    fprintf(fd, '\n Num      MW     MVAr     Charging      MW     MVAr       MW     MVAr');    fprintf(fd, '\n----    ------  ------    --------    ------  ------    ------  ------');    for i=1:length(s_areas)        a = s_areas(i);        inzsh = find(bus(:, BUS_AREA) == a & (bus(:, GS) | bus(:, BS)));        ibrch = find(bus(e2i(branch(:, F_BUS)), BUS_AREA) == a & bus(e2i(branch(:, T_BUS)), BUS_AREA) == a & branch(:, BR_STATUS));        in_tie = find(bus(e2i(branch(:, F_BUS)), BUS_AREA) ~= a & bus(e2i(branch(:, T_BUS)), BUS_AREA) == a & branch(:, BR_STATUS));        out_tie = find(bus(e2i(branch(:, F_BUS)), BUS_AREA) == a & bus(e2i(branch(:, T_BUS)), BUS_AREA) ~= a & branch(:, BR_STATUS));        fprintf(fd, '\n%3d    %7.1f %7.1f    %7.1f    %7.2f %7.2f   %7.1f %7.1f', ...            a, -sum(bus(inzsh, VM) .^ 2 .* bus(inzsh, GS)), ...            sum(bus(inzsh, VM) .^ 2 .* bus(inzsh, BS)), ...            sum(fchg(ibrch)) + sum(tchg(ibrch)) + sum(fchg(out_tie)) + sum(tchg(in_tie)), ...            sum(real(loss(ibrch))) + sum(real(loss([in_tie; out_tie]))) / 2, ...            sum(imag(loss(ibrch))) + sum(imag(loss([in_tie; out_tie]))) / 2, ...            sum(branch(in_tie, PT))+sum(branch(out_tie, PF)) - sum(real(loss([in_tie; out_tie]))) / 2, ...            sum(branch(in_tie, QT))+sum(branch(out_tie, QF)) - sum(imag(loss([in_tie; out_tie]))) / 2  );    end    fprintf(fd, '\n----    ------  ------    --------    ------  ------    ------  ------');    fprintf(fd, '\nTot:   %7.1f %7.1f    %7.1f    %7.2f %7.2f       -       -', ...        -sum(bus(nzsh, VM) .^ 2 .* bus(nzsh, GS)), ...        sum(bus(nzsh, VM) .^ 2 .* bus(nzsh, BS)), ...        sum(fchg) + sum(tchg), sum(real(loss)), sum(imag(loss)) );    fprintf(fd, '\n');end%% generator dataif OUT_GEN    if isOPF        genlamP = bus(e2i(gen(:, GEN_BUS)), LAM_P);        genlamQ = bus(e2i(gen(:, GEN_BUS)), LAM_Q);    end    fprintf(fd, '\n================================================================================');    fprintf(fd, '\n|     Generator Data                                                           |');    fprintf(fd, '\n================================================================================');    fprintf(fd, '\n Gen   Bus   Status     Pg        Qg   ');    if isOPF, fprintf(fd, '   Lambda ($/MVA-hr)'); end    fprintf(fd, '\n  #     #              (MW)     (MVAr) ');    if isOPF, fprintf(fd, '     P         Q    '); end    fprintf(fd, '\n----  -----  ------  --------  --------');    if isOPF, fprintf(fd, '  --------  --------'); end    for k = 1:length(ong)        i = ong(k);        fprintf(fd, '\n%3d %6d     %2d ', i, gen(i, GEN_BUS), gen(i, GEN_STATUS));        if gen(i, GEN_STATUS) > 0 & (gen(i, PG) | gen(i, QG))            fprintf(fd, '%10.2f%10.2f', gen(i, PG), gen(i, QG));        else            fprintf(fd, '       -         -  ');        end        if isOPF, fprintf(fd, '%10.2f%10.2f', genlamP(i), genlamQ(i)); end    end    fprintf(fd, '\n                     --------  --------');    fprintf(fd, '\n            Total: %9.2f%10.2f', sum(gen(ong, PG)), sum(gen(ong, QG)));    fprintf(fd, '\n');    if length(onld) > 0        fprintf(fd, '\n================================================================================');        fprintf(fd, '\n|     Dispatchable Load Data                                                   |');        fprintf(fd, '\n================================================================================');        fprintf(fd, '\n Gen   Bus   Status     Pd        Qd   ');        if isOPF, fprintf(fd, '   Lambda ($/MVA-hr)'); end        fprintf(fd, '\n  #     #              (MW)     (MVAr) ');        if isOPF, fprintf(fd, '     P         Q    '); end        fprintf(fd, '\n----  -----  ------  --------  --------');        if isOPF, fprintf(fd, '  --------  --------'); end        for k = 1:length(onld)            i = onld(k);            fprintf(fd, '\n%3d %6d     %2d ', i, gen(i, GEN_BUS), gen(i, GEN_STATUS));            if gen(i, GEN_STATUS) > 0 & (gen(i, PG) | gen(i, QG))                fprintf(fd, '%10.2f%10.2f', -gen(i, PG), -gen(i, QG));            else                fprintf(fd, '       -         -  ');            end            if isOPF, fprintf(fd, '%10.2f%10.2f', genlamP(i), genlamQ(i)); end        end        fprintf(fd, '\n                     --------  --------');        fprintf(fd, '\n            Total: %9.2f%10.2f', -sum(gen(onld, PG)), -sum(gen(onld, QG)));        fprintf(fd, '\n');    endend        %% bus dataif OUT_BUS    fprintf(fd, '\n================================================================================');    fprintf(fd, '\n|     Bus Data                                                                 |');    fprintf(fd, '\n================================================================================');    fprintf(fd, '\n Bus      Voltage          Generation             Load        ');    if isOPF, fprintf(fd, '  Lambda($/MVA-hr)'); end    fprintf(fd, '\n  #   Mag(pu) Ang(deg)   P (MW)   Q (MVAr)   P (MW)   Q (MVAr)');    if isOPF, fprintf(fd, '     P        Q   '); end    fprintf(fd, '\n----- ------- --------  --------  --------  --------  --------');    if isOPF, fprintf(fd, '  -------  -------'); end    for i = 1:nb        fprintf(fd, '\n%5d%7.3f%9.3f', bus(i, [BUS_I, VM, VA]));        g  = find(gen(:, GEN_STATUS) > 0 & gen(:, GEN_BUS) == bus(i, BUS_I) & ...                    ~isload(gen));        ld = find(gen(:, GEN_STATUS) > 0 & gen(:, GEN_BUS) == bus(i, BUS_I) & ...                    isload(gen));        if ~isempty(g)            fprintf(fd, '%10.2f%10.2f', sum(gen(g, PG)), sum(gen(g, QG)));        else            fprintf(fd, '       -         -  ');        end        if bus(i, PD) | bus(i, QD) | ~isempty(ld)            if ~isempty(ld)                fprintf(fd, '%10.2f*%9.2f*', bus(i, PD) - sum(gen(ld, PG)), ...                                             bus(i, QD) - sum(gen(ld, QG)));            else                fprintf(fd, '%10.2f%10.2f ', bus(i, [PD, QD]));            end        else            fprintf(fd, '       -         -   ');        end        if isOPF            fprintf(fd, '%9.3f', bus(i, LAM_P));            if abs(bus(i, LAM_Q)) > 1e-6                fprintf(fd, '%8.3f', bus(i, LAM_Q));            else                fprintf(fd, '     -');            end        end    end    fprintf(fd, '\n                        --------  --------  --------  --------');    fprintf(fd, '\n               Total: %9.2f %9.2f %9.2f %9.2f', ...        sum(gen(ong, PG)), sum(gen(ong, QG)), ...        sum(bus(nzld, PD)) - sum(gen(onld, PG)), ...        sum(bus(nzld, QD)) - sum(gen(onld, QG)));    fprintf(fd, '\n');end%% branch dataif OUT_BRANCH    fprintf(fd, '\n================================================================================');    fprintf(fd, '\n|     Branch Data                                                              |');    fprintf(fd, '\n================================================================================');    fprintf(fd, '\nBrnch   From   To    From Bus Injection   To Bus Injection     Loss (I^2 * Z)  ');    fprintf(fd, '\n  #     Bus    Bus    P (MW)   Q (MVAr)   P (MW)   Q (MVAr)   P (MW)   Q (MVAr)');    fprintf(fd, '\n-----  -----  -----  --------  --------  --------  --------  --------  --------');    fprintf(fd, '\n%4d%7d%7d%10.2f%10.2f%10.2f%10.2f%10.3f%10.2f', ...            [   [1:nl]', branch(:, [F_BUS, T_BUS]), ...                branch(:, [PF, QF]), branch(:, [PT, QT]), ...                real(loss), imag(loss) ...            ]');    fprintf(fd, '\n                                                             --------  --------');    fprintf(fd, '\n                                                    Total:%10.3f%10.2f', ...            sum(real(loss)), sum(imag(loss)));    fprintf(fd, '\n');end    %%-----  constraint data  -----if isOPF    ctol = mpopt(16);   %% constraint violation tolerance    %% voltage constraints    if OUT_V_LIM == 2 | (OUT_V_LIM == 1 & ...                         (any(bus(:, VM) < bus(:, VMIN) + ctol) | ...                          any(bus(:, VM) > bus(:, VMAX) - ctol)))        fprintf(fd, '\n================================================================================');        fprintf(fd, '\n|     Voltage Constraints                                                      |');        fprintf(fd, '\n================================================================================');        fprintf(fd, '\nBus #  Vmin mu    Vmin    |V|   Vmax    Vmax mu');        fprintf(fd, '\n-----  --------   -----  -----  -----   --------');                for i = 1:nb            if OUT_V_LIM == 2 | (OUT_V_LIM == 1 & ...                         (bus(i, VM) < bus(i, VMIN) + ctol | ...                          bus(i, VM) > bus(i, VMAX) - ctol))                fprintf(fd, '\n%5d', bus(i, BUS_I));                if bus(i, VM) < bus(i, VMIN) + ctol                    fprintf(fd, '%10.3f', bus(i, MU_VMIN));                                    else                    fprintf(fd, '      -   ');                end                fprintf(fd, '%8.3f%7.3f%7.3f', bus(i, [VMIN, VM, VMAX]));                if bus(i, VM) > bus(i, VMAX) - ctol                    fprintf(fd, '%10.3f', bus(i, MU_VMAX));                else                    fprintf(fd, '      -    ');                end            end        end        fprintf(fd, '\n');    end            %% generator P constraints    if OUT_PG_LIM == 2 | OUT_QG_LIM == 2 | ...            (OUT_PG_LIM == 1 & (any(gen(ong, PG) < gen(ong, PMIN) + ctol) | ...                                any(gen(ong, PG) > gen(ong, PMAX) - ctol))) | ...            (OUT_QG_LIM == 1 & (any(gen(ong, QG) < gen(ong, QMIN) + ctol) | ...                                any(gen(ong, QG) > gen(ong, QMAX) - ctol)))        fprintf(fd, '\n================================================================================');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -