追加支路法计算电力网节点阻抗矩阵

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用追加支路法计算电力网节点阻抗矩阵
佘名寰编写
电力网节点阻抗矩阵在电力系统短路电流计算中获得广泛运用。

本文通过例题介绍用追加支路法计算电力网节点阻抗矩阵的方法和程序,程序计及零序互感的影响。

程序用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
互感标么
阻抗R M
互感标么
阻抗X M
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追加一条阻抗为z pq支路,其与阻抗为z mn的支路相耦合,互感阻抗为z m,新形成的节点阻抗矩阵第q行元素为
Z qk=Z PK-(z m/z mn)(Z mk-Z nk) (k=1,2,….p)
Z qq=Z pq+z pq-(z m/z mn)( z m+Z mq-Z nq) (2-26)
式中Z PK,Z mk,Z nk 为原p阶阻抗矩阵元素,Z pq,Z mq,Z nq为第q列元素。

当追加一条有互感的链支pk时可分两步走。

假设一个虚拟节点q,先追加阻抗为z pk的树支pq,再追加阻抗为零无互感的链支qk,可套用相关公式。

2.3.2 追加支路法形成节点阻抗矩阵的M函数
⑴追加无互感支路形成节点阻抗的M函数 faddbra.m
function[zz]=faddbra(zb,nstart,nend)
global n m
p=1;
for i=1:n+1
for j=1:n+1
zzm(i,j)=0.0;
end
end
for i=1:n
for j=1:n
zz(i,j)=0.0;
end
end
for i=1:n+1
nnod(i)=0;
end
for i=1:m
if (nstart(i)>n)
nstart(i)=0;end
end
for i=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;
for i1=1:p
for j=1:p
zzm(i1,q)=zzm(i1,L);
zzm(q,j)=zzm(L,j);
end
end
zzm(q,q)=zzm(L,L)+zb(i);
for i1=1:p
for j=1:p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
for i1=1:p
for j=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;
for i1=1:p
for j=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;
for i1=1:p
for j=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);
for i1=1:p
for j=1:p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
for i1=1:p
for j=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;
for i1=1:p
for j=1:p
zzm(i1,q)=zzm(i1,k);
zzm(q,j)=zzm(k,j);
end
end
zzm(q,q)=zzm(k,k)+zb(i);
for i1=1:p
for j=1:p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
for i1=1:p
for j=1:p
zzm(i1,q)=0.0 ;
zzm(q,j)=0.0 ;
end
end
zzm(q,q)=0.0 ;
end
end
for i=1:n
for j=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)
global n m
p=1;
for i=1:n+1
for j=1:n+1
zzm(i,j)=0.0;
end
end
for i=1:n
for j=1:n
zz(i,j)=0.0;
end
end
for i=1:n+1
nnod(i)=0;
end
for i=1:m
if (nbstdm(2,i)==0)
nbstdm(2,i)=n+1;end
end
for i=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;
for i1=1:p
zzm(i1,q)=zzm(i1,k);
zzm(q,i1)=zzm(i1,q);
end
zzm(q,q)=zzm(k,k)+zb(i);
for i1=1:p
for j=1:p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
for i1=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
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<i))==1
k1=nbstdm(1,k3);
k2=nbstdm(2,k3);
zu=zm(k3)/zb(k3);
for i1=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;
for i1=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);
for i1=1:p
for j=1:p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
for i1=1:p
zzm(i1,q)=0.0;
zzm(q,i1)=0.0;
end
zzm(q,q)=0.0;
elseif ((k3~=0)&(k3<i))==1
k1=nbstdm(1,k3);
k2=nbstdm(2,k3);
zu=zm(k3)/zb(k3);
q=p+1;
for i1=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);
zzm(i1,q)=zzm(i1,q)-zzm(i1,L);
zzm(q,i1)=zzm(i1,q);
end
for i1=1:p
for j=1:p
zzm(i1,j)=zzm(i1,j)-(zzm(i1,q)*zzm(q,j)/zzm(q,q));
end
end
for i1=1:p
zzm(i1,q)=0.0;
zzm(q,i1)=0.0;
end
zzm(q,q)=0.0;
end
end
end
for i=1:n
for j=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:先追加阻抗为z KL的树支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
global m n
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.1047i 0 + 0.0840i 0 + 0.0763i
0 + 0.0840i 0 + 0.1122i 0 + 0.0928i
0 + 0.0763i 0 + 0.0928i 0 + 0.0990i
零序网络zz0
clear
global m n
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.1157i 0 + 0.0546i 0 + 0.0200i
0 + 0.0546i 0 + 0.0831i 0 + 0.0200i
0 + 0.0200i 0 + 0.0200i 0 + 0.0200i
运行结果与用导纳矩阵求逆计算的节点阻抗矩阵完全一致。

追加支路法要求从参考节点开始连续不断进行,对互感支路要注意极性。

相关文档
最新文档