潮流计算报告记录.docx

上传人:b****8 文档编号:11006128 上传时间:2023-02-24 格式:DOCX 页数:30 大小:440.48KB
下载 相关 举报
潮流计算报告记录.docx_第1页
第1页 / 共30页
潮流计算报告记录.docx_第2页
第2页 / 共30页
潮流计算报告记录.docx_第3页
第3页 / 共30页
潮流计算报告记录.docx_第4页
第4页 / 共30页
潮流计算报告记录.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

潮流计算报告记录.docx

《潮流计算报告记录.docx》由会员分享,可在线阅读,更多相关《潮流计算报告记录.docx(30页珍藏版)》请在冰豆网上搜索。

潮流计算报告记录.docx

潮流计算报告记录

潮流计算报告记录

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

一、系统结构图:

二、网络参数:

1、支路参数:

网络类型

支路

编号

电压

等级

(kV)

装机容量

(MW)

导线的技术参数

(Ω)

(Ω)

()

 

1-2

220

 

100

13.6

125.5

67.85

1-3

8.321

130.5

52.24

3-5

10.2

128.8

74.99

2-3

8.5

105.4

28.36

1-4

7.579

129.6

51.45

4-5

13.84

125.31

2.78

1-2

——

 

——

2

4

——

2-3

3

6

3-4

4

8

2-5

1

2

5-6

4

4

2、节点参数:

节点类型

节点编号

发电功率(MW)

负荷视在功率

 

1

0

未知(平衡节点)

2

100

0(PV节点)

3

0

15+9.4i

4

0

27+6i

5

0

35.5+25.5i

 

1

0

未知(平衡节点)

2

0

4+2i

3

0

6+3.2i

4

0

3+1.44i

5

0

4+3.2i

6

0

2+1.1i

三、潮流计算流程图:

四、matlab程序:

clear;

Un=input('请输入Un:

');%输入所需的额定电压

PQ=[

%节点电压有功无功

Un00

Un42

Un63.2

Un31.44

Un43.2

Un21.1

];

FT=[

%首端末端

43

32

65

52

21

];

RX=[

%RX

48

36

44

12

24

];

NN=size(PQ,1);%节点数

NB=size(FT,1);%支路数数

V=PQ(:

1);%V初始电压相量

maxd=1

k=1

whilemaxd>0.0001

k=k+1;

PQ2=PQ;%每一次迭代各节点的注入有功和无功相同

PL=0.0;

fori=1:

NB

kf=FT(i,1);%前推始节点号

kt=FT(i,2);%前推终节点号

x=(PQ2(kf,2)^2+PQ2(kf,3)^2)/V(kf)/V(kf);%计算沿线电流/平方A

losss(i,1)=RX(i,1)*x;%计算线路有功损耗/MW

losss(i,2)=RX(i,2)*x;%计算线路无功损耗/MW

PQ1(i,1)=PQ2(kf,2)+RX(i,1)*x;%计算支路首端有功/MWRX(i,1)*R

PQ1(i,2)=PQ2(kf,3)+RX(i,2)*x;%计算沿支路的无功/MWRX(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;

fori=NB:

-1:

1

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

V2(kt)=sqrt((V(kf)-dv1)^2+dv2^2);%计算支路末端电压/kV

angle(kt)=angle(kf)+atand(dv2/(V(kf)-dv1));%计算支路

end

maxd=abs(V2

(2)-V

(2));

V2

(1)=V

(1);

fori=3:

1:

NN

ifabs(V2(i)-V(i))>maxd;

maxd=abs(V2(i)-V(i));

end

end

fullloss(1,1)=0;%计算线路总损耗

fullloss(1,2)=0;

finalPQ=max(PQ1);

fori=1:

NB

fullloss(1,1)=fullloss(1,1)+losss(i,1);

fullloss(1,2)=fullloss(1,2)+losss(i,2);

end

disp('辐射网迭代次数:

')

k

disp('辐射网系统电压差精度:

')

maxd

disp('辐射网系统末端节点有功和无功:

')

finalPQ%潮流分布即支路首端潮流MVA

disp('辐射网系统总功率损耗:

')

fullloss%线路总损耗MVA

disp('辐射网系统各支路功率损耗:

')

losss%各支路损耗MVA

disp('辐射网系统各节点电压幅值:

')

V=V2%节点电压模计算结果kV

disp('辐射网系统各节点电压相角:

')

angle%节点电压角度计算结果单位度

end

clc

disp('辐射网迭代次数:

')

k

disp('辐射网系统电压差精度:

')

maxd

disp('辐射网系统末端节点有功和无功/MVA:

')

FinPQ=finalPQ(1,1)+finalPQ(1,2)*j%潮流分布即支路首端潮流MVA

disp('辐射网系统总功率损耗/MVA:

')

Fulloss=fullloss(1,1)+fullloss(1,2)*j%线路总损耗MVA

disp('辐射网系统各支路功率损耗/MVA:

')

for(a=1:

5)

LOSS=losss(a,1)+losss(a,2)*j%各支路损耗MVA

end

disp('辐射网系统各节点电压幅值/KV:

')

V=V2%节点电压模计算结果kV

disp('辐射网系统各节点电压相角:

')

angle%节点电压角度计算结果单位度

n=5;%input('节点数');

nl=6;%input('支路数');

isb=1;%input('平衡母线节点号');

pr=0.000001;%input('误差精度:

pr=');

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;

4,5,13.84+125.31i,0.0000278i,1,0];%input('由支路参数形成的矩阵');

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=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl);%对各矩阵置零

%-------修改部分------------

ym=1;

SB=100;UB=Un;%定义视在功率和电压基值

ifym~=0%若不是标幺值

YB=SB./UB./UB;%定义导纳标幺值

BB1=B1;

BB2=B2;

fori=1:

nl

B1(i,3)=B1(i,3)*YB;%切换为阻抗标幺值

B1(i,4)=B1(i,4)./YB;%切换为导纳标幺值

end

disp('支路矩阵B1=');

sparseB1=sparse(B1);

disp(sparseB1)%输出标幺值稀疏矩阵B1

disp('-----------------------------------------------------');

fori=1:

n

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

disp('节点矩阵B2=');

sparseB2=sparse(B2);

disp(sparseB2)%输出标幺值稀疏矩阵B2

end

disp('-----------------------------------------------------');

%%%---------------------------------------------------

fori=1:

nl%支路数

ifB1(i,6)==0%左节点处于1侧

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);%对角元两侧对称

Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;%对角元K侧

Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;%对角元1侧

end

%求导纳矩阵

disp('导纳矩阵Y=');

sparseY=sparse(Y);

disp(sparseY)%输出导纳稀疏矩阵

disp('-----------------------------------------------------');

%----------------------------------------------------------

G=real(Y);B=imag(Y);%分解出导纳阵的实部和虚部

fori=1:

n

e(i)=real(B2(i,3));%给定i节点初始电压的实部

f(i)=imag(B2(i,3));%给定i节点初始电压的虚部

V(i)=B2(i,4);%PV节点电压给定模值

end

fori=1:

n%给定各节点注入功率

S(i)=B2(i,1)-B2(i,2);%i节点注入功率SG-SL

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

whileIT2~=0%仍有不满足精度要求的节点

IT2=0;a=a+1;%IT2置零

fori=1:

n

ifi~=isb%非平衡节点

C(i)=0;D(i)=0;

forj1=1:

n

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;%电压模平方

%=========以下针对非PV节点来求取功率差及Jacobi矩阵元素=========

ifB2(i,6)~=3%非PV节点

DP=P(i)-P1;%节点有功功率差

DQ=Q(i)-Q1;%节点无功功率差

%===============以上为除平衡节点外其它节点的功率计算=================

%=================求取Jacobi矩阵===================

forj1=1:

n

ifj1~=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)

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;

J(p,q)=X3;J(p,N)=DQ;m=p+1;%扩展列△Q

J(m,q)=X1;J(m,N)=DP;q=q+1;%扩展列△P

J(p,q)=X4;J(m,q)=X2;%对Jacobi矩阵赋值

elseifj1==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)

p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列△Q

m=p+1;

J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列△P

J(m,q)=X2;%对Jacobi矩阵赋值

end

end

else

%===============下面是针对PV节点来求取Jacobi矩阵的元素===========

DP=P(i)-P1;%PV节点有功误差

DV=V(i)^2-V2;%PV节点电压误差

forj1=1:

n

ifj1~=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)=0

p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;%扩展列△V

m=p+1;

J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;%扩展列△P

J(m,q)=X2;%对Jacobi矩阵赋值

elseifj1==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=-2*e(i);%X5=R(i,i)=-2e(i)

X6=-2*f(i);%X6=F(i,i)=-2f(i)

p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV;%扩展列△V

m=p+1;

J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6;%扩展列△P

J(m,q)=X2;%对Jacobi矩阵赋值

end

end

end

end

end

%=========以上为求雅可比矩阵的各个元素=====================

fork=3:

N0%N0=2*n(从第三行开始,第一、二行是平衡节点)

k1=k+1;N1=N;%N=N0+1即N=2*n+1扩展列△P、△Q

fork2=k1:

N1%扩展列△P、△Q

J(k,k2)=J(k,k2)./J(k,k);%非对角元规格化

end

J(k,k)=1;%对角元规格化

ifk~=3%不是第三行

%============================================================

k4=k-1;

fork3=3:

k4%用k3行从第三行开始到当前行前的k4行消去

fork2=k1:

N1%k3行后各行下三角元素

J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算

end

J(k3,k)=0;

end

ifk==N0

break;

end

%==========================================

fork3=k1:

N0

fork2=k1:

N1

J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算

end

J(k3,k)=0;

end

else

fork3=k1:

N0

fork2=k1:

N1

J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算

end

J(k3,k)=0;

end

end

end

%====上面是用线性变换方式将Jacobi矩阵化成单位矩阵(利用线性代数求解电压实部与虚部)=====

fork=3:

2:

N0-1

L=(k+1)./2;

e(L)=e(L)-J(k,N);%修改节点电压实部

k1=k+1;

f(L)=f(L)-J(k1,N);%修改节点电压虚部

end

%------修改节点电压-----------

fork=3:

N0

DET=abs(J(k,N));

ifDET>=pr%电压偏差量是否满足要求

IT2=IT2+1;%不满足要求的节点数加1

end

end

ICT2(a)=IT2;

ICT1=ICT1+1;

end

%用高斯消去法解"w=-J*V"

disp('迭代次数');

disp(ICT1);

disp('没有达到精度要求的个数');

disp(ICT2);

disp('-----------------------------------------------------');

fork=1:

n

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('-----------------------------------------------------');

disp('各节点的实际电压EE为(节点号从小到大排列):

');

sparseEE=sparse(EE);

disp(sparseEE);

disp('-----------------------------------------------------');

disp('各节点的电压标幺值幅值V为(节点号从小到大排列):

');

sparseV=sparse(V);

disp(sparseV);

disp('-----------------------------------------------------');

VV=V*UB;

disp('各节点的电压幅值VV为(节点号从小到大排列):

');

sparseVV=sparse(VV);

disp(sparseVV);

disp('-----------------------------------------------------');

disp('各节点的电压相角为(节点号从小到大排列):

');

sparsesida=sparse(sida);

disp(sparsesida)

disp('-----------------------------------------------------');

forp=1:

n

C(p)=0;

forq=1:

n

C(p)=C(p)+conj(Y(p,q))*conj(E(q));%计算电流的共轭

end

S(p)=E(p)*C(p);%计算节点的视在功率

end

disp('各节点的功率标幺值S为(节点号从小到大排列):

');

sparseS=sparse(S);

disp(sparseS);

disp('-----------------------------------------------------');

disp('各节点的功率实际值SS为(节点号从小到大排列):

');

SS=S*SB;

sparseSS=sparse(SS);

disp(sparseSS);

disp('-----------------------------------------------------');

disp('各条支路的功率损耗S标幺值和实际值SS为(顺序支路参数矩阵顺序一致):

');

HDDS=0;

fori=1:

nl

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))-conj(E(q)))*conj(1./(B1(i,3))))+E(q)*(conj(E(q))*conj(B1(i,4)./2));

ZF1=['S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1