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

📄 fm_lines.m

📁 这是一个很适合研究和学习用的电力系统仿真软件
💻 M
字号:
function  fm_lines(flag)
% FM_LINES define transmission lines (PI circuit model)
%
% FM_LINES(FLAG)
%          FLAG  1 -> Algebraic Equations
%		 2 -> Algebraic Jacobians
%
%Author:    Federico Milano
%Date:      11-Nov-2002
%Version:   1.0.0
%
%E-mail:    fmilano@thunderbox.uwaterloo.ca
%Web-site:  http://thunderbox.uwaterloo.ca/~fmilano
%
% Copyright (C) 2002-2006 Federico Milano

global Lines Bus DAE

V1 = DAE.V(Lines.bus1);
V2 = DAE.V(Lines.bus2);
theta1 = DAE.a(Lines.bus1);
theta2 = DAE.a(Lines.bus2);
rl = Lines.con(:,6);
xl = Lines.con(:,7);
bl = Lines.con(:,8);
cos12 = cos(theta1-theta2);
sin12 = sin(theta1-theta2);
zl = rl.*rl+xl.*xl;
g12 = rl./zl;
b12 = -xl./zl;
bl2 = 0.5*bl;
V12 = V1.*V2;

% Algebraic Equations:

switch flag
case 1

    for i = 1:Lines.n
        DAE.gp(Lines.bus1(i)) = DAE.gp(Lines.bus1(i)) + (V1(i)*V1(i)*g12(i) - V12(i)*(g12(i)*cos12(i) + b12(i)*sin12(i)));
        DAE.gq(Lines.bus1(i)) = DAE.gq(Lines.bus1(i)) + (-V1(i)*V1(i)*(b12(i)+bl2(i)) - V12(i)*(g12(i)*sin12(i) - b12(i)*cos12(i)));
        DAE.gp(Lines.bus2(i)) = DAE.gp(Lines.bus2(i)) + (V2(i)*V2(i)*g12(i) - V12(i)*(g12(i)*cos12(i) - b12(i)*sin12(i)));
        DAE.gq(Lines.bus2(i)) = DAE.gq(Lines.bus2(i)) + (-V2(i)*V2(i)*(b12(i)+bl2(i)) + V12(i)*(g12(i)*sin12(i) + b12(i)*cos12(i)));
    end

    % Algebraic Jacobians:

case 2

    for i = 1:Lines.n

        a = g12(i)*cos12(i)+b12(i)*sin12(i);
        b = g12(i)*sin12(i)-b12(i)*cos12(i);
        c = g12(i)*cos12(i)-b12(i)*sin12(i);
        d = g12(i)*sin12(i)+b12(i)*cos12(i);
        e = b12(i)+bl2(i);

        DAE.J12(Lines.bus1(i),Lines.bus1(i)) = DAE.J12(Lines.bus1(i),Lines.bus1(i)) + 2*V1(i)*g12(i) - V2(i)*a;
        DAE.J12(Lines.bus1(i),Lines.bus2(i)) = DAE.J12(Lines.bus1(i),Lines.bus2(i)) - V1(i)*a;
        DAE.J11(Lines.bus1(i),Lines.bus1(i)) = DAE.J11(Lines.bus1(i),Lines.bus1(i)) + V12(i)*b;
        DAE.J11(Lines.bus1(i),Lines.bus2(i)) = DAE.J11(Lines.bus1(i),Lines.bus2(i)) - V12(i)*b;
        DAE.J22(Lines.bus1(i),Lines.bus1(i)) = DAE.J22(Lines.bus1(i),Lines.bus1(i)) - 2*V1(i)*e - V2(i)*b;
        DAE.J22(Lines.bus1(i),Lines.bus2(i)) = DAE.J22(Lines.bus1(i),Lines.bus2(i)) - V1(i)*b;
        DAE.J21(Lines.bus1(i),Lines.bus1(i)) = DAE.J21(Lines.bus1(i),Lines.bus1(i)) - V12(i)*a;
        DAE.J21(Lines.bus1(i),Lines.bus2(i)) = DAE.J21(Lines.bus1(i),Lines.bus2(i)) + V12(i)*a;
        DAE.J12(Lines.bus2(i),Lines.bus1(i)) = DAE.J12(Lines.bus2(i),Lines.bus1(i)) + (-V2(i)*c);
        DAE.J12(Lines.bus2(i),Lines.bus2(i)) = DAE.J12(Lines.bus2(i),Lines.bus2(i)) + 2*V2(i)*g12(i) - V1(i)*c;
        DAE.J11(Lines.bus2(i),Lines.bus1(i)) = DAE.J11(Lines.bus2(i),Lines.bus1(i)) + V12(i)*d;
        DAE.J11(Lines.bus2(i),Lines.bus2(i)) = DAE.J11(Lines.bus2(i),Lines.bus2(i)) - V12(i)*d;
        DAE.J22(Lines.bus2(i),Lines.bus1(i)) = DAE.J22(Lines.bus2(i),Lines.bus1(i)) + V2(i)*d;
        DAE.J22(Lines.bus2(i),Lines.bus2(i)) = DAE.J22(Lines.bus2(i),Lines.bus2(i)) - 2*V2(i)*e + V1(i)*d;
        DAE.J21(Lines.bus2(i),Lines.bus1(i)) = DAE.J21(Lines.bus2(i),Lines.bus1(i)) + V12(i)*c;
        DAE.J21(Lines.bus2(i),Lines.bus2(i)) = DAE.J21(Lines.bus2(i),Lines.bus2(i)) - V12(i)*c;
    end

end

⌨️ 快捷键说明

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