追加支路法计算电力网节点阻抗矩阵.docx
《追加支路法计算电力网节点阻抗矩阵.docx》由会员分享,可在线阅读,更多相关《追加支路法计算电力网节点阻抗矩阵.docx(14页珍藏版)》请在冰豆网上搜索。
![追加支路法计算电力网节点阻抗矩阵.docx](https://file1.bdocx.com/fileroot1/2022-12/16/689d394b-fbd3-4118-b249-970c7f70636c/689d394b-fbd3-4118-b249-970c7f70636c1.gif)
追加支路法计算电力网节点阻抗矩阵
用追加支路法计算电力网节点阻抗矩阵
佘名寰编写
电力网节点阻抗矩阵在电力系统短路电流计算中获得广泛运用。
本文通过例题介绍用追加支路法计算电力网节点阻抗矩阵的方法和程序,程序计及零序互感的影响。
程序用MATLAB语言编写,线路参数均采用标么值。
本文可供电气专业人员计算相关问题时参考。
【例2.1】图2-1所示为一个3节点网络,两台发电机,四条线路。
发电机一台中性点接地,另一台不接地。
发电机次暂态电抗和线路阻抗原始数据在表2-1、表2-2中给出,线路3、4间有零序互感电抗。
试计算该网络图的正序和零序节点阻抗矩阵。
表2-1正序网络数据
首端
节点编号
末端
节点编号
回路编号
自感标么阻抗R(pu.)
自感标么阻抗X(pu.)
4
1
6
0.0
0.2000
4
1
2
2
1
3
2
3
3
3
1
2
3
4
5
0.0
0.0
0.0
0.0
0.0
0.1600
0.0800
0.0600
0.0600
0.1300
表2-2零序网络数据
首端
节点编号
末端
节点编号
回路编号
自感标么阻抗R
自感标么阻抗X
互感标么阻抗RM
互感标么阻抗XM
4
1
2
2
1
3
2
3
3
3
1
2
3
4
5
0.0
0.0
0.0
0.0
0.0
0.0200
0.1400
0.1000
0.1200
0.1700
0.0
0.0
0.0500
0.0500
2.3用追加支路法形成节点阻抗矩阵
在网络改变如增加或断开一条支路需重新计算短路电流时,若仍用节点导纳矩阵求逆矩阵的方法求新的节点阻抗矩阵,计算工作量比较大。
这时采用追加支路法形成节点阻抗矩阵比较简便。
追加支路法不需计算逆矩阵,对小型网络求阻抗矩阵尤为方便。
2.3.1追加支路法形成节点阻抗矩阵的基本公式
对参考节点追加辐射支路:
从参考节点到节点q引入一条阻抗为z的支路,q为新节点,该支与其它支路无耦合,则节点阻抗矩阵的元素
Zqq=z,Zqi=Ziq=0(2-22)
追加一条辐射支路到一个新节点:
从k节点到q节点追加一条阻抗为z支路,该支与其它支路无耦合,k是原有结点,q是新结点,k不是参考结点,p个结点原来已确定,则:
Zqq=Zkk+z
Ziq=Zik,i=1,2,…,p
Zqi=Zki,i=1,2,…,p(2-23)
从k结点到参考结点追加一条链枝:
该支路阻抗为z,与其它支路无耦合,k结点为原来已确定的p个结点中的一个,则:
置q=p+1,
Ziq=Zik,Zqi=Zki,i=1,2,…,p
Zqq=Zkk+z(2-24)
用克朗降阶法消去矩阵第q行和第q列;
追加一条链枝:
从i结点到k结点追加一条支路,I,k都是原已确定结点,p是已经确定的结点总数,则:
置q=p+1,
Zjq=Zjk-Zji,Zqj=Zkj-Zij,j=1,2,…,p
Zqq=Zii+Zkk-Zik-Zki+z,(2-25)
用克朗降阶法消去矩阵第q行和第q列;
追加一条有互感的支路:
零序网络节点阻抗矩阵计及线路间的互感时,其计算方法见参考文献⑧P333公式(12-38),(12-42)。
假定m,n和p是结点总数为p的网络中已确定的结点,从结点p到结点q追加一条阻抗为zpq支路,其与阻抗为zmn的支路相耦合,互感阻抗为zm,新形成的节点阻抗矩阵第q行元素为
Zqk=ZPK-(zm/zmn)(Zmk-Znk)(k=1,2,….p)
Zqq=Zpq+zpq-(zm/zmn)(zm+Zmq-Znq)(2-26)
式中ZPK,Zmk,Znk为原p阶阻抗矩阵元素,Zpq,Zmq,Znq为第q列元素。
当追加一条有互感的链支pk时可分两步走。
假设一个虚拟节点q,先追加阻抗为zpk的树支pq,再追加阻抗为零无互感的链支qk,可套用相关公式。
2.3.2追加支路法形成节点阻抗矩阵的M函数
追加无互感支路形成节点阻抗的M函数faddbra.m
function[zz]=faddbra(zb,nstart,nend)
globalnm
p=1;
fori=1:
n+1
forj=1:
n+1
zzm(i,j)=0.0;
end
end
fori=1:
n
forj=1:
n
zz(i,j)=0.0;
end
end
fori=1:
n+1
nnod(i)=0;
end
fori=1:
m
if(nstart(i)>n)
nstart(i)=0;end
end
fori=1:
m
k=nstart(i);
L=nend(i);
if(L==0)
L=n+1;end
if((k==0)&(nnod(L)==0))==1
if(L>p)
p=L;end
nnod(L)=1;
zzm(L,L)=zb(i);
elseif((k==0)&(nnod(L)==1))==1
q=p+1;
fori1=1:
p
forj=1:
p
zzm(i1,q)=zzm(i1,L);
zzm(q,j)=zzm(L,j);
end
end
zzm(q,q)=zzm(L,L)+zb(i);
fori1=1:
p
forj=1:
p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
fori1=1:
p
forj=1:
p
zzm(i1,q)=0.0;
zzm(q,j)=0.0;
end
end
zzm(q,q)=0.0;
elseif((nnod(k)==1)&(nnod(L)==0)&(L~=n+1))==1
if(L>p)
p=L;end
nnod(L)=1;
fori1=1:
p
forj=1:
p
zzm(i1,L)=zzm(i1,k);
zzm(L,j)=zzm(k,j);
end
end
zzm(L,L)=(zzm(k,k)+zb(i));
elseif((nnod(k)==1)&(nnod(L)==1))==1
q=p+1;
fori1=1:
p
forj=1:
p
zzm(i1,q)=zzm(i1,k)-zzm(i1,L);
zzm(q,j)=zzm(k,j)-zzm(L,j);
end
end
zzm(q,q)=(zzm(k,k)+zb(i))+zzm(L,L)-2*zzm(k,L);
fori1=1:
p
forj=1:
p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
fori1=1:
p
forj=1:
p
zzm(i1,q)=0.0;
zzm(q,j)=0.0;
end
end
zzm(q,q)=0.0;
elseif((nnod(k)==1)&(L==n+1))==1
q=p+1;
fori1=1:
p
forj=1:
p
zzm(i1,q)=zzm(i1,k);
zzm(q,j)=zzm(k,j);
end
end
zzm(q,q)=zzm(k,k)+zb(i);
fori1=1:
p
forj=1:
p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
fori1=1:
p
forj=1:
p
zzm(i1,q)=0.0;
zzm(q,j)=0.0;
end
end
zzm(q,q)=0.0;
end
end
fori=1:
n
forj=1:
n
zz(i,j)=zzm(i,j);
end
end
程序说明:
zz(n,n)---输出数组,节点阻抗矩阵。
N为独立节点数;
zb(m)-----输入数组,表示各支路阻抗,m为支路数,包括接地支路;
nstart(m)----输入参数,表示各支路首端节点编号;
nend(m)----输入参数,表示各支路末端节点编号;
zzm(n+1,n+1)---计算用阻抗矩阵,阶数比zz(n,n)多一阶;
nnod(n+1)----计算用数组,用来记忆节点追加状态,末追加时数组为零;
程序一共有5个if..elseif..条件语句程序段,分别针对以下5种支路追加状况:
A.从参考节点追加一树支,按2.2.1节公式(2-22)计算节点阻抗矩阵元素;
B.从参考节点追加一链支,类似公式(2-24)计算节点阻抗矩阵元素;
C.追加一条辐射支路到一个新节点,按公式(2-23)计算节点阻抗矩阵元素;
D.追加一条链支,按公式(2-25)计算节点阻抗矩阵元素;
E.从k结点到参考结点追加一条链枝,按公式(2-24)计算;
由于nnod(L)当L=0时程序显示出错,故当L=nend(i)=0时将L改为n+1,代表参考节点;
追加有互感支路形成节点阻抗的M函数faddbramui.m
function[zz]=faddbramui(zb,zm,nbstdm)
globalnm
p=1;
fori=1:
n+1
forj=1:
n+1
zzm(i,j)=0.0;
end
end
fori=1:
n
forj=1:
n
zz(i,j)=0.0;
end
end
fori=1:
n+1
nnod(i)=0;
end
fori=1:
m
if(nbstdm(2,i)==0)
nbstdm(2,i)=n+1;end
end
fori=1:
m
k=nbstdm(1,i);
L=nbstdm(2,i);
k3=nbstdm(3,i);
if(k==0)
if(L>p)
p=L;end
nnod(L)=1;
zzm(L,L)=zb(i);
elseif((nnod(k)==1)&(L==n+1))==1
q=p+1;
fori1=1:
p
zzm(i1,q)=zzm(i1,k);
zzm(q,i1)=zzm(i1,q);
end
zzm(q,q)=zzm(k,k)+zb(i);
fori1=1:
p
forj=1:
p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
fori1=1:
p
zzm(i1,q)=0.0;
zzm(q,i1)=0.0;
end
zzm(q,q)=0.0;
elseif((nnod(k)==1)&(nnod(L)==0))==1
if(L>p)
p=L;end
nnod(L)=1;
if((k3==0)|(k3>i))==1
fori1=1:
p
zzm(i1,L)=zzm(i1,k);
zzm(L,i1)=zzm(i1,L);
end
zzm(L,L)=zzm(k,k)+zb(i);
elseif((k3~=0)&(k3
k1=nbstdm(1,k3);
k2=nbstdm(2,k3);
zu=zm(k3)/zb(k3);
fori1=1:
p
zzm(i1,L)=zzm(i1,k)-zu*(zzm(i1,k1)-zzm(i1,k2));
zzm(L,i1)=zzm(i1,L);
end
zzm(L,L)=zzm(k,L)+zb(i)-zu*(zm(k3)+zzm(k1,L)-zzm(k2,L));
end
elseif((nnod(k)==1)&(nnod(L)==1))==1
if((k3==0)|(k3>i))==1
q=p+1;
fori1=1:
p
zzm(i1,q)=zzm(i1,k)-zzm(i1,L);
zzm(q,i1)=zzm(i1,q);
end
zzm(q,q)=(zzm(k,k)+zb(i))+zzm(L,L)-2*zzm(k,L);
fori1=1:
p
forj=1:
p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
fori1=1:
p
zzm(i1,q)=0.0;
zzm(q,i1)=0.0;
end
zzm(q,q)=0.0;
elseif((k3~=0)&(k3
k1=nbstdm(1,k3);
k2=nbstdm(2,k3);
zu=zm(k3)/zb(k3);
q=p+1;
fori1=1:
p
zzm(i1,q)=zzm(i1,k)-zu*(zzm(i1,k1)-zzm(i1,k2));
zzm(q,i1)=zzm(i1,q);
end
zzm(q,q)=zzm(k,q)+zb(i)-zu*(zm(k3)+zzm(k1,q)-zzm(k2,q))+...
zzm(L,L)-zzm(q,L)-zzm(L,q);
fori1=1:
p
zzm(i1,q)=zzm(i1,q)-zzm(i1,L);
zzm(q,i1)=zzm(i1,q);
end
fori1=1:
p
forj=1:
p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
fori1=1:
p
zzm(i1,q)=0.0;
zzm(q,i1)=0.0;
end
zzm(q,q)=0.0;
end
end
end
fori=1:
n
forj=1:
n
zz(i,j)=zzm(i,j);
end
end
程序说明:
zz(n,n)---输出数组,节点阻抗矩阵。
N为独立节点数;
zb(m)-----输入数组,表示各支路阻抗,m为支路数,包括接地支路;
zm(m)-----输入数组,表示各支路互感阻抗,无互感时为零;
nbstdm(3,m)----二维数组,3行,m列。
第一行表示支路首端节点号,
第二行表示支路末端节点号,第三行表示互感支路编号,无互感时为零;
zzm(n+1,n+1)---计算用阻抗矩阵,阶数比zz(n,n)多一阶;
nnod(n+1)----计算用数组,用来记忆节点追加状态,末追加时数组为零;
程序设计与无互感时基本相似.对于支路i,当mbstdm(3,i)不为零并且其互感支路编号小于i时方进行互感修正。
A.追加一条有互感的树支:
按2.2.1节公式(2-26)计算节点阻抗矩阵元素;
B.追加一条有互感的链支k-L:
先追加阻抗为zKL的树支k-q到虚拟节点q
q列元素zzm(i1,q)=zzm(i1,k)-zu*(zzm(i1,k1)-zzm(i1,k2));
zzm(q,q)=zzm(k,q)+zb(i)-zu*(zm(k3)+zzm(k1,q)-zzm(k2,q))
式中k1=nbstdm(1,k3);
k2=nbstdm(2,k3);
zu=zm(k3)/zb(k3);
再追加阻抗为零的链支q-L
q列元素zzm(q,q)=zzm(q,q)+zzm(L,L)-zzm(q,L)-zzm(L,q);
zzm(i1,q)=zzm(i1,q)-zzm(i1,L);
最后按用克朗降阶法消去矩阵第q行和第q列
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
程序中按对称原理,q行元素与q列对应相等。
2.3.3用追加支路法计算例2-1网络节点阻抗矩阵:
顺序网络zz1
globalmn
nstart=[0,0,1,2,2,1];
nend=[1,3,2,3,3,3];
zb1r=[0.0,0.0,0.0,0.0,0.0,0.0];
zb1i=[0.20,0.16,0.08,0.06,0.06,0.13];
m=6;
n=3;
zb1=zb1r+j*zb1i;
zz1=faddbra(zb1,nstart,nend);
zz1=
0+0.1047i0+0.0840i0+0.0763i
0+0.0840i0+0.1122i0+0.0928i
0+0.0763i0+0.0928i0+0.0990i
零序网络zz0
clear
globalmn
m=5;
n=3;
nbstdm=[0,3,3,2,1;
3,2,2,1,3;
0,3,2,0,0];
zb0r=[0.0,0.0,0.0,0.0,0.0];
zb0i=[0.02,0.10,0.12,0.14,0.17];
zmr=[0.0,0.0,0.0,0.0,0.0];
zmi=[0.0,0.05,0.05,0.0,0.0];
zb=zb0r+j*zb0i;
zm=zmr+j*zmi;
zz0=faddbramui(zb,zm,nbstdm);
>>zz0
zz0=
0+0.1157i0+0.0546i0+0.0200i
0+0.0546i0+0.0831i0+0.0200i
0+0.0200i0+0.0200i0+0.0200i
运行结果与用导纳矩阵求逆计算的节点阻抗矩阵完全一致。
追加支路法要求从参考节点开始连续不断进行,对互感支路要注意极性。