文档库 最新最全的文档下载
当前位置:文档库 › PQ分解法计算潮流

PQ分解法计算潮流

PQ分解法计算潮流
PQ分解法计算潮流

一、PQ 分解法的原理

P-Q 分解法是牛顿-拉夫逊法潮流计算的一种简化方法。 P-Q 分解法利用了电力系统的一些特有的运行特性,对牛顿-拉夫逊法做了简化,以改进和提高计算速度。

的基本思想是根据电力系统实际运行特点:通常网络上的电抗远大于电阻,则系统母线电压幅值的微小变化对用功功率的改变影响很小。同样,母线电压相角的的改变对无功功率的影响较小。因此,节点功率方程在用极坐标形式表示时。它的修正方程式可简化为:

00P H Q L U U θ????????=??????????????

将P 、Q 分开来迭代计算,因此大大地减少了计算工作量。但是H 、L 在迭代过程中仍

将不断变化,而且又都是不对称矩阵。对牛顿法的进一步简化。为把上式中的系数矩阵简化成迭代过程中不变的对称矩阵。

在一般情况下线路两端的电压相角ij θ是不大的,因此可以认为:

cos 1sin ij ij ij ij

G B θθ≈=

2i i ii Q U B =

考虑到上述关系,可以得到:

ij i ij j ij i ij j

H U B U L U B U ==

节点的功率增量为:

1

1

(cos sin )

(sin cos )

n

i is i j ij ij ij ij j n

i is i j ij ij ij ij j P P U U G B Q Q U U G B θθθθ==?=-+?=--∑∑

P-Q 分解法的特点:以一个n-1阶和一个n-m-1阶线性方程组代替原有的2n-m-1阶线性方程组;修正方程的系数矩阵B’和B”为对称常数矩阵,且在迭代过程中保持不变;P-Q 分解法具有线性收敛特性,与牛顿-拉夫逊法相比,当收敛到同样的精度时需要的迭代次数较多。

二、程序说明

1.数据说明

Branch1.txt:支路参数矩阵

第1列为支路的首端编号;第2列为支路的末端编号(首端编号小于末端编号);第3列为之路的阻抗;第4为支路的对地容抗;第5列为支路的变比;第6列为折算到那一侧的标志Branch2.txt:节点参数矩阵

第1列为节点所接发电机的功率;第2列为节点负荷的功率;第3列为节点电压的初始值;第4列为PV节点的电压V给定值;第5列为节点所接的无功补偿设备的容量;第6列为节点分类标号igl,其中igl=1为平衡节点,igl=2为PQ节点,igl=3为PV节点。

n为节点数、sb为平很母线节点号(固定为1)、pr为误差精度。

2.运行

将上述三个文档及主程序文件放在同一个路径下,程序运行时,按照相应的提示输入如下数据:n为节点数、sb为平很母线节点号、pr为误差精度,运行,得出结果。

三、流程图

四、源程序及运行结果

x = size(B2);

n = x(1);

m = length(find(B2(:,1)==1));

y = size(B1);

G = zeros(n);

B = zeros(n);

for i=1:y(1)

QS = B1(i,1); %起始节点

ZZ = B1(i,2); %终止节点

R = B1(i,3);

X =B1(i,4);

BB = B1(i,5);

K = 1/B1(i,6); %变比

RX2 = R^2+X^2;

G(QS,ZZ) = -K*R/RX2;

G(ZZ,QS) = -K*R/RX2;

B(QS,ZZ) = K*X/RX2;

B(ZZ,QS) = K*X/RX2;

G(QS,QS) = G(QS,QS) + R/RX2;

B(QS,QS) = B(QS,QS) - X/RX2;

B(QS,QS) = B(QS,QS) + BB/2;

G(ZZ,ZZ) = G(ZZ,ZZ) + K^2*R/RX2;

B(ZZ,ZZ) = B(ZZ,ZZ) - K^2*X/RX2;

B(ZZ,ZZ) = B(ZZ,ZZ) + BB/2; end;

for i=1:n

B(i,i) = B(i,i) +B2(i,8);

end;

Delta_P = zeros(n,1);

Delta_Q = zeros(n,1);

Delta_V_Ample = zeros(n,1);

Delta_V_Angle = zeros(n,1);

PP = find(B2(:,1)<3); % PQ/PV 节点QQ = find(B2(:,1)==1); % PQ 节点

%V_Ample = B2(:,2);

%V_Angle = B2(:,3)*pi/180;

V_Ample = B2(:,2);

V_Ample(QQ) = 1.0;

V_Angle = zeros(n,1);

Pis = B2(:,4)/100;

Qis = B2(:,5)/100;

Pld = B2(:,6)/100;

Qld = B2(:,7)/100;

Pis(PP) = Pis(PP) - Pld(PP);

Qis(QQ) = Qis(QQ) - Qld(QQ);

kp = 0;

kq = 0;

ep = 1e-7; %误差

k = 0;

while(~(kp*kq))

k =k + 1;

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

Delta_V_Angle_ij = V_Angle*ones(1,n) - ( V_Angle*ones(1,n) )'; % 计算相角差矩阵

S = G.*cos(Delta_V_Angle_ij) + B.*sin(Delta_V_Angle_ij); % Sij = Gij *cos(delta_ij) + Bij *sin(delta_ij)

P = V_Ample.*(S*V_Ample); % P 为计算出来的母线功率

Delta_P(PP) = Pis(PP) - P(PP); % 有功不平衡量

%[Pis(PP), P(PP),Pis(PP) - P(PP),(Pis(PP) - P(PP))./Pis(PP)*100]

if max(abs(Delta_P))

kp = 1;

end;

if kp==0 % 有功不平衡量大于允许范围就作修正

Delta_V_Angle(PP) = -(B(PP,PP)\( Delta_P(PP)./V_Ample(PP) ))./V_Ample(PP); % 解修正方程

V_Angle(PP) = V_Angle(PP) + Delta_V_Angle(PP); % 修正相角

kq = 0; % 这是必须的,认为无功不平衡量还是不满足

end;

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

Delta_V_Angle_ij = V_Angle*ones(1,n) - ( V_Angle*ones(1,n) )'; % 计算相角差矩阵

T = G.*sin(Delta_V_Angle_ij) - B.*cos(Delta_V_Angle_ij); % Tij = Gij *sin(delta_ij) - Bij *cos(delta_ij)

Q = V_Ample.*(T*V_Ample); % Q 为计算出来的母线功率

Delta_Q(QQ) = Qis(QQ) - Q(QQ); % 无功不平衡量

%[Qis(QQ), Q(QQ),Qis(QQ) - Q(QQ),(Qis(QQ) - Q(QQ))./Qis(QQ)*100]

if max(abs(Delta_Q))

kq = 1;

end;

if kq==0 % 无功不平衡量大于允许范围就作修正

Delta_V_Ample(QQ) = -B(QQ,QQ)\(Delta_Q(QQ)./V_Ample(QQ)); % 解修正方程

V_Ample(QQ) = V_Ample(QQ) + Delta_V_Ample(QQ); % 修正幅值

kp = 0; % 这是必须的,认为有功不平衡量还是不满足

end;

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

[Delta_P(PP)',Delta_Q(QQ)';V_Ample(QQ)',V_Angle(PP)'*180/pi]; %每次迭代结果

end;

[V_Ample';B2(:,2)';V_Ample'-B2(:,2)';V_Angle'*180/pi;B2(:,3)';V_Angle'*180/pi-B2(:,3)']';

P = P+Pld;

Q = Q+Qld;

V = [V_Ample,V_Angle*180/pi,P,Q] % 母线全部信息,幅值、相角、发电有功、发电无功

Sij_flow = zeros(y(1),6); % y(1)为支路总数,Sij_flow 为所有支路上流动的功率

Sij_loss = zeros(y(1),4); % y(1)为支路总数,Sij_loss 为所有支路上损耗的功率

for i = 1:y(1)

ii = B1(i,1);

jj = B1(i,2);

BB = B1(i,5);

kk = B1(i,6);

Vi = V_Ample(ii);

Vj = V_Ample(jj);

ag = Delta_V_Angle_ij(ii,jj);% ag为i,j 节点相角差

Sij_flow(i,1) = ii;

Sij_flow(i,2) = jj;

Sij_flow(i,3) = -G(ii,jj)*( Vj^2-Vi*Vj*cos(ag) ) + Vi*Vj*B(ii,jj)*sin(-ag);

Sij_flow(i,4) = B(ii,jj)*( Vj^2-Vi*Vj*cos(ag) ) + Vi*Vj*G(ii,jj)*sin(-ag)-Vj^2*BB/2;

Sij_flow(i,5) = G(ii,jj)*( Vi^2-Vi*Vj*cos(ag) ) - Vi*Vj*B(ii,jj)*sin(ag);

Sij_flow(i,6) = -B(ii,jj)*( Vi^2-Vi*Vj*cos(ag) ) - Vi*Vj*G(ii,jj)*sin(ag)+Vi^2*BB/2;

Sij_loss(i,1) = ii;

Sij_loss(i,2) = jj;

Sij_loss(i,3) = Sij_flow(i,3) - Sij_flow(i,5);

Sij_loss(i,4) = Sij_flow(i,4) - Sij_flow(i,6);

end;

S=[Sij_flow,Sij_loss(:,3:4)] %全部线路的功率

PLoss_Sum_Line = sum(S(:,7)); % 合计每条线路上的有功损耗求网损(S阵说明:第一、二列为节点序号,第三四列和第五六列分别为支路的首端和末端功率,第七列为该支路有功损耗,第八列为该支路无功损耗)

PLoss_Sum_GeLd = sum(P)-sum(Pld) % 总的母线注入功率和总的负荷功率之差求网损

fid=fopen('潮流计算结果.txt','wt');

fprintf(fid,'节点结果:');

fprintf(fid,'\n');

fprintf(fid,'电压幅值相角发电有功发电无功');

fprintf(fid,'\n');

fprintf(fid,'%f\t%f\t%f\t%f\n',V');

fprintf(fid,'线路功率结果:');

fprintf(fid,'\n');

fprintf(fid,'节点i 节点j Pij Qij Pji Qji Line_P_Loss Line_Q_Loss');

fprintf(fid,'\n');

fprintf(fid,'%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\n',S');

fprintf(fid,'网损PLoss_Sum_Geld =%f',PLoss_Sum_GeLd);

fclose(fid)

运行结果

节点结果:

电压幅值相角发电有功发电无功

1.060000 0.000000

2.323958 -0.168859

1.045000 -4.980975 0.400000 0.423994

1.010000 -1

2.717600 0.000000 0.233923

1.018626 -10.323542 -0.000000 -0.000000

1.020255 -8.783645 0.000000 0.000000

1.070000 -14.235716 -0.000000 0.121751

1.061947 -13.361635 -0.000000 -0.000000

1.090000 -13.361635 0.000000 0.173589

1.056332 -14.936938 0.000000 0.000000

1.051321 -15.098633 -0.000000 0.000000

1.057083 -14.798774 -0.000000 0.000000

1.056868 -14.824912 0.000000 -0.000000

1.050549 -15.087973 -0.000000 0.000000

1.035830 -16.002587 0.000000 0.000000

线路功率结果:

节点i 节点j Pij Qij Pji Qji Line_P_Loss Line_Q_Loss

2 1 1.568341 -0.203929 1.525392 -0.276566 0.042949 0.072637

3 2 0.731845 0.03565

4 0.708646 -0.015831 0.023200 0.051485

4 2 0.561309 -0.022874 0.544543 -0.033922 0.016766 0.011048

5 1 0.755617 0.035070 0.727973 -0.025801 0.027644 0.060871 5 2 0.415237 0.007648 0.406209 0.016345 0.009028 -0.008696

4 3 -0.233354 0.028092 -0.237069 0.054210 0.00371

5 -0.026118

5 4 -0.611433 0.156700 -0.61658

6 0.15374

7 0.005153 0.002953

6 5 0.441596 -0.195049 0.441596 -0.24763

7 0.000000 0.052588

7 4 0.280323 -0.208331 0.280323 -0.232375 0.000000 0.024044

8 7 -0.000000 -0.169122 -0.000000 -0.173589 0.000000 0.004468

9 4 0.160585 -0.064798 0.160585 -0.080374 0.000000 0.015575

9 7 0.280323 0.058056 0.280323 0.050062 0.000000 0.007994

10 9 0.053158 0.042685 0.053026 0.042333 0.000132 0.000352

11 6 0.072634 0.035077 0.072094 0.033947 0.000540 0.001130

12 6 0.090043 0.019533 0.089132 0.018378 0.000911 0.001155

13 6 0.166919 0.075959 0.164976 0.072132 0.001943 0.003827

14 9 0.092749 0.037195 0.091611 0.034776 0.001138 0.002420 11 10 -0.036974 -0.015667 -0.037094 -0.015947 0.000120 0.000280

13 12 0.028132 0.002378 0.027974 0.002236 0.000158 0.000143

14 13 0.057950 0.016368 0.057389 0.015224 0.000562 0.001143 总网损PLoss_Sum_Geld =0.133958

相关文档