低压配电网络中三相潮流计算的前推回代法(Matlab实现)

目录

1 概述

2 传输线模型

3 Matlab实现 

4 运行结果

5 牛顿拉夫逊法求潮流(Matlab代码实现)


1 概述

近年来,全球电力行业经历了许多改革,以有效满足不断增长的能源需求,同时实现各种技术经济和社会目标。电力供需平衡和电能质量是以最经济的方式持续监控和维护的基本目标。潮流研究在电力系统运行和规划研究中始终起着至关重要的作用。潮流研究和解决方案高度依赖于系统,无论是输电网络还是配电网络。发现高压输电系统是平衡的和网状结构的,因此,可以假设平衡潮流研究足以确定系统状态。然而,配电系统高度不平衡,并以辐射状结构运行。

流行的潮流计算方法基于牛顿法、快速解耦方法、后向扫描(BFS)方法。可以观察到,在大多数情况下,电力系统不是病态的,因此潮流问题可以通过使用牛顿或基于牛顿的技术来解决。然而,对于病态电力系统,这些方法的收敛性较差或有时会发散。快速解耦潮流 (FDLF) 方法相对于传统的牛顿-拉夫森潮流 (NRLF) 方法的优势之一是由于雅可比矩阵尺寸减小,大规模电力系统的计算时间快。据观察,与传统的 NRLF 相比,FDLF 方法对于具有高 R/X 比的线路的配电系统的收敛特性较差。

为了快速确定与不同 DER 技术相关的三相不平衡有源配电网络的稳态变量,快速有效的潮流求解方法可能起着至关重要的作用。该方法应包括对所有可能数量和类型的设备进行建模,以模拟配电网络的真实场景。

2 传输线模型

中压 (MV) 配电系统由三相导体组成,没有任何中性导体。而众所周知,低压 (LV) 配电网络是具有中性导体的 3 相 4 线系统。在三相线模型中,需要 3 × 3 阻抗和导纳矩阵来确定潮流计算。在 LV 系统的情况下,矩阵的大小将是 4 × 4,但通常会转换为 3 × 3 [13]。三相四线传输线示例模型如图 1 所示。其对应的阻抗和导纳矩阵呈现如下.

               

类似地,节点 j 处传输线的分流元件注入的电流计算为:

     

 更多细节参考文献:

3 Matlab实现 

clc
clear
tic;
N=33
[NUM1] = xlsread('Ieee_data33','Line_records');
[NUM2] = xlsread('Ieee_data33','Bus_records');
Base_Kv = 12.66/sqrt(3);%基准电压                                         
Base_MVA = 100;%基准功率
d = 1;
Niter = 16; %迭代次数
Z_Base = (((Base_Kv)^2)/(Base_MVA));  %基准阻抗
fb = NUM1(:,1);   %首节点
tb = NUM1(:,2);  %尾节点
Nb = length(fb);  %节点个数
R = NUM1(:,3);  %电阻
X = NUM1(:,4);  %电抗
Z_Line = complex(R,X)/Z_Base;
%% 三相阻抗矩阵的形成
for br=1:Nb
    ZZZ = zeros(3,3);
    for j=1:3
        ZZZ(j,j)=Z_Line(br);
    end
    Zline(:,:,br) = ZZZ;
end

PL = [NUM2(:,7) NUM2(:,7)   NUM2(:,7)]./3;
QL = [NUM2(:,8) NUM2(:,8)   NUM2(:,8)]./3;
SL = ((complex(PL,QL)))./(1000*Base_MVA);
PG = zeros(N,3);%[NUM2(:,5) NUM2(:,5)   NUM2(:,5)];
QG = zeros(N,3);%[NUM2(:,6) NUM2(:,6)   NUM2(:,6)];
SG = ((complex(PG,QG)))./(1000*Base_MVA);



%% 最后显示结果
Pinj = real(Sinj);
Qinj = imag(Sinj);

disp('----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
disp('==============================================================================================================================================================================================');
disp('| Bus  |Va     |Vb     |Vc |    |    三相相角 (Degree)   | | 发电机有功功率 (kW)| |发电机无功功率(kVAr)||  有功功功率负荷(kW)    |   |无功功率负荷(kvAr) |');
disp('| No   |pu     |pu     |pu |    |Ph-a    Ph-b    Ph-c | |Ph-a    Ph-b    Ph-c | |Ph-a    Ph-b    Ph-c ||Ph-a     Ph-b     Ph-c   | |Ph-a     Ph-b     Ph-c | ');
disp('==============================================================================================================================================================================================');
for m = 1:N
    fprintf('%4g', m); fprintf('%8.3f', V_mag(m,:)); fprintf(' %8.3f', Del(m,:)); 
    fprintf('%8.3f', PG(m,:)); fprintf('%8.3f', QG(m,:)); 
    fprintf(' %8.3f', PL(m,:)); fprintf(' %8.3f', QL(m,:)); fprintf('\n');
end
disp('===============================================================================================================================================================================================');
fprintf(' Total                                              ');fprintf('%8.3f', sum(PG)*100000); fprintf('%8.3f', sum(QG)*100000); 
% fprintf('  %8.3f', sum(Pinj+PL)); fprintf('   %8.3f', sum(Qinj+QL));
fprintf(' %8.2f', sum(PL)); fprintf(' %8.2f', sum(QL)); fprintf('\n');
disp('===============================================================================================================================================================================================');
disp('                                                                                     ');

disp('-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
disp('                              线路潮流和损耗 ');
disp('-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
disp('|From|To ||       有功功率, P(kW)    ||     无功功率, Q(kVAr) | |From|To ||       有功功率, P(kW)      | |      无功功率, Q(kVAr)   | |      线路有功损耗(kW)      ||     线路无功损耗(kVAr)   |');
disp('|Bus |Bus||Phase-a   Phase-b   Phase-c  ||Phase-a    Phase-b    Phase-c| |Bus |Bus||Phase-a    Phase-b    Phase-c | |Phase-a      Phase-b     Phase-c| |Phase-a  Phase-b  Phase-c||Phase-a Phase-b Phase-c|');

for m = 1:Nb
    p = fb(m); q = tb(m);
    disp('-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------');
    fprintf('%4g', p); fprintf('%4g', q); fprintf('  %8.2f', P_Flow(p,q,:)); fprintf('   %8.2f', Q_Flow(p,q,:)); 
    fprintf('% 4g', q); fprintf(' %4g', p); fprintf('   %8.2f', P_Flow(q,p,:)); fprintf('    %8.2f', Q_Flow(q,p,:));
    fprintf(' %8.2f', P_Loss(m,:)); fprintf('%8.2f', Q_Loss(m,:));
    fprintf('\n');
end
disp('================================================================================================================================================================================================================ ');
fprintf('   总的功率损耗                                                                                                                                            ');
fprintf('%8.3f', sum(P_Loss)); fprintf('%8.3f', sum(Q_Loss));  fprintf('\n');
disp('================================================================================================================================================================================================================');
hold on
plot(V_mag,'r')
xlabel('节点')
ylabel('电压幅值/kv')

 全部代码点这里:低压配电网络中三相潮流计算的前推回代法(Matlab实现)

4 运行结果

 

5 牛顿拉夫逊法求潮流(Matlab代码实现)

四节点、五节点、六节点入门学习 :牛顿拉夫逊法求潮流​​​​​​​

猜你喜欢

转载自blog.csdn.net/weixin_46039719/article/details/125297084