潮流计算报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、系统结构图:
二、网络参数:、支路参数:1网络装机导线的技术参数电压支路容量类型b等级1xr编号(Ω)(Ω) (MW)
11)(kV () 1-2 13.6 125.5 67.85
52.24 130.5 1-3 8.321
100
环 74.99
3-5
128.8
10.2
220
网28.36 8.5 105.4 2-3
51.45 7.579 129.6 1-4
2.78 1
3.84 4-5
125.31
——4
2
——1-2
2、节点参数:
4+2i 0 2
辐6+3.2i 3 0
射3+1.44i 4 0
网4+3.2i 5 0
2+1.1i
6
:三、潮流计算流程图
四、matlab程序:
clear;输入所需的额定电压%请输入'Un:'); Un=input(PQ=[无功有功 %节点电压
Un 0 0Un 4 2
Un 6 3.2Un 3 1.44Un 4 3.2.
Un 2 1.1
];FT=[末端%首端 4 33 26 55 22 1];RX=[% R X
4 83 64 41 2
2 4];
节点数%NN=size(PQ,1);
支路数数NB=size(FT,1); %初始电压相量%V V=PQ(:,1);
maxd=1k=1 maxd>0.0001while
k=k+1;每一次迭代各节点的注入有功和无功相同 PQ2=PQ; % PL=0.0;
i=1:NB for前推始节点号% kf=FT(i,1);
前推终节点号% kt=FT(i,2);
A平方计算沿线电流 / x=(PQ2(kf,2)^2+PQ2(kf,3)^2)/V(kf)/V(kf);% /MW 计算线路有功损耗 losss(i,1)=RX(i,1)*x; %/MW 计算线路无功损耗
losss(i,2)=RX(i,2)*x; %/MW RX(i,1)*R%计算支路首端有功
PQ1(i,1)=PQ2(kf,2)+RX(i,1)*x;
/MW RX(i,2)*X%计算沿支路的无功 PQ1(i,2)=PQ2(kf,3)+RX(i,2)*x;
PQ2(kt,2)= PQ2(kt,2)+PQ1(i,1); %用PQ1去修正支路末端节点的有功P 单MW位PQ2(kt,3)= PQ2(kt,3)+PQ1(i,2); %用PQ1去修正支路末端节点的有功Q 单Mvar位end
angle(1)=0.0; i=NB:-1:1for回代始节点号 kf=FT(i,2); %回代终节点号
kt=FT(i,1); % dv1=(PQ1(i,1)*RX(i,1)+PQ1(i,2)*RX(i,2))/V(kf); %计算支
路电压损耗的dv1纵分量 dv2=(PQ1(i,1)*RX(i,2)-PQ1(i,2)*RX(i,1))/V(kf); %计算
支路电压损耗的dv2横分量
/kV计算支路末端电压 V2(kt)=sqrt((V(kf)-dv1)^2+dv2^2); %计算支
路% angle(kt)=angle(kf)+atand(dv2/(V(kf)-dv1));
end maxd=abs(V2(2)-V(2));V2(1)=V(1); i=3:1:NN for abs(V2(i)-V(i))>maxd;if
maxd=abs(V2(i)-V(i));
end end计算线路总损耗 fullloss(1,1)=0;% fullloss(1,2)=0;
finalPQ=max(PQ1); i=1:NB for fullloss(1,1)=fullloss(1,1)+losss(i,1);
fullloss(1,2)=fullloss(1,2)+losss(i,2);end
)''辐射网迭代次数:disp(k) 辐射网系统电压差精度:'disp('maxd)'disp('辐射网系统末端
节点有功和无功:MVA 即支路首端潮流%finalPQ 潮流分布)辐射网系统总功率损耗:
''disp(MVA线路总损耗%fullloss
)辐射网系统各支路功率损耗:'disp('MVA%各支路损耗losss
)辐射网系统各节点电压幅值:'disp('kV%节点电压模计算结果V=V2
)辐射网系统各节点电压相角:'disp('节点电压角度计算结果单位度angle %end
clc)'disp('辐射网迭代次数:k) 'disp('辐射网系统电压差精度:maxd)'/MVA:disp('辐
射网系统末端节点有功和无功MVA 即支路首端潮流%FinPQ=finalPQ(1,1)+finalPQ(1,2)*j
潮流分布):'disp('辐射网系统总功率损耗/MVA MVA%线路总损耗Fulloss=fullloss
(1,1)+fullloss(1,2)*j
)'辐射网系统各支路功率损耗/MVA:disp('(a=1:5)for MVA各支路损耗LOSS=losss
(a,1)+losss(a,2)*j %end)'/KV'辐射网系统各节点电压幅值:disp(kV节点电压模计算结果
V=V2 %)'辐射网系统各节点电压相角:disp('节点电压角度计算结果单位度
angle %');节点数%input('n=5;
');支路数nl=6; %input('');平衡母线节点号
isb=1; %input('pr=');误差精度:
pr=0.000001; %input('B1=[1,2,13.6+125.5i,0.00006785i,1,0;
1,3,8.321+130.5i,0.00005224i,1,0;3,5,10.2+128.8i,0.00007499i,1,0;
2,3,8.5+105.4i,0.00002836i,1,0;1,4,7.579+129.6i,0.00005145i,1,0;');%input('
由支路参数形成的矩阵4,5,13.84+125.31i,0.0000278i,1,0];
B2=[-FinPQ,0,Un,0,0,1;100,0,Un,Un,0,3;0,15+9.4i,Un,0,0,2;0,27+6i,Un,0,0,2;
');各节点参数形成的矩阵
0,35.5+25.5i,Un,0,0,2]; %input('Y=zeros(n);e=zeros(1,n);f=zero
s(1,n);V=zeros(1,n);sida=zeros(1,n);S1=对各矩阵置零%zeros(nl);-------修
改部分------------%ym=1;定义视在功率和电压基值%SB=100;UB=Un; 若不是标幺值%if ym~=0
定义导纳标幺值 YB=SB./UB./UB; % BB1=B1; BB2=B2;
i=1:nl for切换为阻抗标幺值% B1(i,3)=B1(i,3)*YB;
切换为导纳标幺值 B1(i,4)=B1(i,4)./YB; %end
);B1=' disp('支路矩阵 sparseB1=sparse(B1);B1输出标幺值稀疏矩阵
disp(sparseB1) %);'----------------------------------------
-------------' disp( i=1:n for
切换为视在功率标幺值% B2(i,1)=B2(i,1)./SB;
切换为视在功率标幺值% B2(i,2)=B2(i,2)./SB;
切换为电压标幺值 B2(i,3)=B2(i,3)./UB; %切换为电压标幺值
B2(i,4)=B2(i,4)./UB; %切换为视在功率标幺值
B2(i,5)=B2(i,5)./SB; %end
);B2=' disp('节点矩阵 sparseB2=sparse(B2);B2输出标幺值稀疏矩阵
disp(sparseB2) %
end);disp('-----------------------------------------------------'% % %-----
----------------------------------------------支路数% i=1:nl
for侧左节点处于%1if B1(i,6)==0
p=B1(i,1);q=B1(i,2);
else
使左节点处于低压侧% p=B1(i,2);q=B1(i,1);
end
求解非对角元导纳 Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); %对角元两侧对称
Y(q,p)=Y(p,q); %侧K
Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; %对角元侧%对角元1
Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;
end求导纳矩阵%); Y=''导纳矩阵disp(sparseY=sparse(Y);输出导纳稀疏矩
阵%disp(sparseY)
);disp('-----------------------------------------------------'%------------
---------------------------------------------- %分解出导纳阵的实部和虚部
G=real(Y);B=imag(Y);
i=1:n for节点初始电压的实部i给定
e(i)=real(B2(i,3)); %节点初始电压的虚部i
f(i)=imag(B2(i,3)); %给定节点电压给定模值
V(i)=B2(i,4); %PV end %给定各节点注入功率for i=1:n SG-SL 节点注入功率%i S(i)=B2(i,1)-B2(i,2);
节点无功补偿量 B(i,i)=B(i,i)+B2(i,5); %i
end%===================================================================定义
有功功率和无功功率%P=real(S);Q=imag(S);
ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; %定义迭代次数ICT1和不满足精度要求的IT2节点
个数.
仍有不满足精度要求的节点 IT2~=0 %while置零
IT2=0;a=a+1; %IT2 i=1:n for %非平衡节点if
i~=isb
C(i)=0;D(i)=0; j1=1:n for
C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)
D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)end
P1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fi
(Gij*fj+Bij*ej)Σ Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ
(Gij*ej-Bij*fj)-ei(Gij*fj+Bij*ej)ΣP',Q' %求
电压模平方 V2=e(i)^2+f(i)^2; % =========Jacobi矩阵元素以下针
对非PV节点来求取功率差及%=========
节点%非PV if B2(i,6)~=3
节点有功功率差 DP=P(i)-P1; % %节点无功功率差
DQ=Q(i)-Q1;
=================%=============== 以上为除平衡节点外其它节点的功率计算
===================矩阵%================= 求取Jacobi j1=1:n for
&非对角元非平衡节点 j1~=isb&j1~=i if%
X1=-G(i,j1)*e(i)-B(i,j1)*f(i); %
X1=N(i,j1)=dDP(i)/de(j1).
X2=B(i,j1)*e(i)-G(i,j1)*f(i); %
X2=H(i,j1)=dDP(i)/df(j1)
X3=X2; %
X2=H(i,j1)=dDP(i)/df(j1)=X3=M(i,j1)=dDQ(i)/de(j1)
X4=-X1; %
X1=N(i,j1)=dDP(i)/de(j1)=-X4=-L(i,j1)=-dDQ(i)/df(j1)
p=2*i-1;q=2*j1-1;Q扩展列△ J(p,q)=X3;J(p,N)=DQ;m=p+1;%P扩
展列△ J(m,q)=X1;J(m,N)=DP;q=q+1;%矩阵赋值对%Jacobi
J(p,q)=X4;J(m,q)=X2;
&对角元elseif j1==i&j1~=isb %非平衡节点
X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);%
X1=N(i,i)=dDP(i)/de(i) X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);%
X2=H(i,i)=dDP(i)/df(i) X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); %
X3=M(i,i)=dDQ(i)/de(i) X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);%
X4=L(i,i)=dDQ(i)/df(i)Q扩展列△
p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;% m=p+1;P%扩展列△
J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;矩阵赋值Jacobi
J(m,q)=X2; %对end
end
else
===========矩阵的元素Jacobi节点来求取PV下面是针对%===============
节点有功误差 DP=P(i)-P1; % PV节点电压误差
DV=V(i)^2-V2; % PV j1=1:n for
非对角元%非平衡节点&if j1~=isb&j1~=i
X1=-G(i,j1)*e(i)-B(i,j1)*f(i); %
X1=N(i,j1)=dDP(i)/de(j1)
X2=B(i,j1)*e(i)-G(i,j1)*f(i); %
X2=H(i,j1)=dDP(i)/df(j1) X5=0;X6=0; %
X5=R(i,j1)=X6=S(i,j1)=0V%
p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;扩展列△ m=p+1;P%扩展
列△ J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;矩阵赋值对Jacobi
J(m,q)=X2; %对角元%非平衡节点&elseif
j1==i&j1~=isb
X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);%
X1=N(i,i)=dDP(i)/de(i) X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);%
X2=H(i,i)=dDP(i)/df(i)% X5=R(i,i)=-2e(i) X5=-2*e(i); % X6=F(i,i)=-2f(i) X6=-2*f(i);
V扩展列△ p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;%
m=p+1;P% J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;扩展列△矩阵赋值%对Jacobi J(m,q)=X2;
end
end
end
end
end
=====================%========= 以上为求雅可比矩阵的各个元素for
k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点)Q、△ N=2*n+1扩展列△P k1=k+1;N1=N; % N=N0+1 即Q 、△扩展列△P for k2=k1:N1 %
非对角元规格化 J(k,k2)=J(k,k2)./J(k,k); %
end
对角元规格化 J(k,k)=1; %
不是第三行 k~=3 %
if%============================================================
k4=k-1;行消去k4k3行从第三行开始到当前行前的用for k3=3:k4 % 行后各行下三角元素 k2=k1:N1 for% k3
消去运算 J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%end
J(k3,k)=0;end
k==N0 if;break
end
%========================================== k3=k1:N0for
k2=k1:N1for
消去运算% J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);end
J(k3,k)=0;end
else
k3=k1:N0for
k2=k1:N1 for消去运算
J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%end
J(k3,k)=0;end
end
end
%====上面是用线性变换方式将Jacobi矩阵化成单位矩阵(利用线性代数求解电压实部)=====与虚部 k=3:2:N0-1 for L=(k+1)./2;修改节点电压实部%
e(L)=e(L)-J(k,N);
k1=k+1;修改节点电压虚部% f(L)=f(L)-J(k1,N);
end
-----------修改节点电压%------ k=3:N0for
DET=abs(J(k,N));
电压偏差量是否满足要求 DET>=pr %if1不满足要求的节点数加
IT2=IT2+1; %end
end
ICT2(a)=IT2; ICT1=ICT1+1;end睜??屖用高斯消去法解%);''迭代次数
disp(disp(ICT1););没有达到精度要求的个数
''disp(disp(ICT2););disp('-------------------------------------------------
----' k=1:n for计算实际电压大小 V(k)=sqrt(e(k)^2+f(k)^2); %计算实际电压
相角% sida(k)=atan(f(k)./e(k))*180./pi;计算实际电压相量% E(k)=e(k)+f(k)*j; end ===========================计算各输出量%===============
);:'为(节点号从小到大排列)'disp(各节点的实际电压标幺值E sparseE=sparse(E);
disp(sparseE);
EE=E*UB;);disp('-----------------------------------------------------');':)
节点号从小到大排列(为EE各节点的实际电压'disp(
sparseEE=sparse(EE);
disp(sparseEE););disp('-----------------------------------------------------
');'节点号从小到大排列):disp('各节点的电压标幺值幅值V为(sparseV=sparse(V);
disp(sparseV););'-----------------------------------------------------'disp(
VV=V*UB;);'):VV为(节点号从小到大排列'disp(各节点的电压幅值sparseVV=sparse(VV);
disp(sparseVV););disp('-----------------------------------------------------
');')(节点号从小到大排列:disp('各节点的电压相角为sparsesida=sparse(sida);
disp(sparsesida));'-----------------------------------------------------'dis
p( p=1:n for C(p)=0; q=1:n for计算电流的共轭
C(p)=C(p)+conj(Y(p,q))*conj(E(q));%end
计算节点的视在功率% S(p)=E(p)*C(p);
end);':)节点号从小到大排列(为S各节点的功率标幺值'disp(
sparseS=sparse(S);
disp(sparseS););'-----------------------------------------------------'disp(
);'节点号从小到大排列):disp('各节点的功率实际值SS为(SS=S*SB;sparseSS=sparse(SS);
disp(sparseSS););'-----------------------------------------------------'disp
();:'为(顺序支路参数矩阵顺序一致)SS disp('各条支路的功率损耗S标幺值和实际值HDDS=0;
i=1:nl for p=B1(i,1);q=B1(i,2);
Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(E(p)-E(q))*(conj(E(p))-con
j(E(q)))*conj(1./(B1(i,3))))+E(q)*(conj(E(q))*conj(B1(i,4)./2));,num2str(Si(
p,q))];')=',num2str(p),',',num2str(q), ZF1=['S(' disp(ZF1);SSi计算
各条支路的消耗功率实际值 SSi(p,q)=Si(p,q)*SB;%
HDDS=HDDS+SSi(p,q);,num2str(SSi(p,q))];')='',''SS(',num2str(p),,num2str(q),
ZF=[ disp(ZF);end);环网总网损为;'disp(',num2str(HDDS)];'HDDS='ZH=[环网总网
耗%disp(ZH);ZSS=HDDS+Fulloss;
);'disp('总网损为:ZSS
五、额定电压不同时对系统参数的分析:
(1)额定电压为240V:
辐射网:
环网:
(2)额定电压为220V:
辐射网:
环网:
(3)额定电压为200V:
辐射网:
环网:
结果分析:
240V时总损耗为0.8856KVA 220V时为0.95KVA 200V时为0.9828KVA
电压等级越高,损耗越小。
发电厂功率一定情况下电压越高电流越小,损耗相应越小。
理论与实际一致。
六、调试过程中遇到的问题及解决办法:
1、辐射网输出结果会显示每次迭代后的结果而不是最后一次迭代的结果,将输出代码放到循环外程序陷入死循环。
解决方法:每次迭代完后清屏。
2、辐射网开始计算是采用一条支路一个循环的做法,程序繁琐,工作量大且可移植性低。
解决方法:采用输入节点矩阵的方法,通过控制输入的首末端节点编号来控制循环。
3、.环网计算
各节点数据取得不合适导致整个系统的损耗过大
解决方法:对环网电路参数的电感、电容值做出修改调整。
4、电压值不收敛
解决办法: 更换平衡节点。