潮流计算的快速分解法程序
(完整word版)PQ分解法计算潮流
一、PQ 分解法的原理P —Q 分解法是牛顿-拉夫逊法潮流计算的一种简化方法。
P-Q 分解法利用了电力系统的一些特有的运行特性,对牛顿-拉夫逊法做了简化,以改进和提高计算速度。
的基本思想是根据电力系统实际运行特点:通常网络上的电抗远大于电阻,则系统母线电压幅值的微小变化对用功功率的改变影响很小。
同样,母线电压相角的的改变对无功功率的影响较小.因此,节点功率方程在用极坐标形式表示时。
它的修正方程式可简化为:00P H Q L U U θ∆∆⎡⎤⎡⎤⎡⎤=⎢⎥⎢⎥⎢⎥∆∆⎣⎦⎣⎦⎣⎦将P 、Q 分开来迭代计算,因此大大地减少了计算工作量.但是H 、L 在迭代过程中仍将不断变化,而且又都是不对称矩阵。
对牛顿法的进一步简化。
为把上式中的系数矩阵简化成迭代过程中不变的对称矩阵。
在一般情况下线路两端的电压相角ij θ是不大的,因此可以认为:cos 1sin ij ij ijijG B θθ≈2ii ii Q U B考虑到上述关系,可以得到:ij i ij j ij i ij jH U B U L U B U ==节点的功率增量为:11(cos sin )(sin cos )ni is i j ij ij ij ij j ni 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。
潮流计算的快速分解法.
潮流计算的快速分解法摘要:本文采用快速分解法进行潮流计算,分析其基本理论,并使用MATLAB软件进行编程设计。
最后运用实例进行验证。
结果表明快速分解法具有较好的迭代速度。
关键词:潮流计算快速分解法 MATLAB编程,实例验证1引言潮流计算是电力系统分析最基本、最重要的计算,是电力系统运行、规划以及安全性、可靠性分析和优化的基础,也是各种电磁暂态和机电暂态分析的基础和出发点。
潮流计算要求具有可靠的收敛性,占用内存少,计算速度快,调整和修改容易,使用灵活方便。
各种算法的改进以及新算法的提出,很多都是为了使潮流计算能更好地满足计算要求。
本文应用快速分解法进行潮流计算,并给出算例分析。
2潮流计算的快速分解法研究表明,用牛顿-拉夫逊法计算潮流时,每次迭代都要重新形成雅可比矩阵,然后重新对它进行因子表分解并求解修正方程。
为避免每次迭代重新形成雅可比矩阵及其因子表,人们研究用定雅可比矩阵取代随迭代过程不断变化的雅可比矩阵,这种方法叫定雅可比法。
此外,人们还结合电力系统的物理特点,发展了各种版本的解耦潮流算法,20世纪70年代初提出的快速分解法是这一阶段的主要研究成果。
关于快速分解潮流算法,有三项里程碑意义的研究成果。
其一是Stott在1974年发现的XB型算法;其二是Van Amerongen在1989年发现的BX型算法;其三是Monticelli等人在1990年所作的关于快速分解潮流算法收敛机理的理论阐述。
这些研究工作不仅是电力系统计算方面的典范,也揭示了这样一个事实:工程上有效的方法一定有其深刻的理论来支持。
2.1 快速分解法的修正方程及迭代格式将极坐标型定雅可比法的修正公式重写如下:⎥⎦⎤⎢⎣⎡∆∆=⎥⎦⎤⎢⎣⎡∆∆⎥⎦⎤⎢⎣⎡--V Q V P V V B G G B L M N H θ (2.1) 经验表明,电力系统中有功功率主要受电压相角的影响,而无功功率主要受电压幅值的影响,同时由于高压电网大部分线路的电阻比电抗小,因此在牛顿-拉夫逊迭代中可以忽略雅可比矩阵的非对角块,即将N G ,M G 设为零,从而实现有功和无功潮流修正方程的解耦。
第四节PQ分解法潮流计算
第四节 PQ 分解法潮流计算一 、PQ 分解法的基本方程式60年代以来N —R 法曾经是潮流计算中应用比较普遍的方法,但随着网络规模的扩大(从计算几十个节点增加到几百个甚至上千个节点)以及计算机从离线计算向在线计算的发展,N —R 法在内存需要量及计算速度方面越来越不 适应要求。
70年代中期出现的快速分解法比较成功的解决了上述问题,使潮流计算在N —R 法的基础上向前迈进了一大步,成为取代N —R 法的算法之一。
快速分解法(又称P —Q 分解法)是从简化牛顿法极坐标形式计算潮流程序的基础上提出来的。
它的基本思想是根据电力系统实际运行特点:通常网络上的电抗远大于电阻值 ,则系统母线电压副值的微小变化V ∆对母线有功功率的改变P ∆影响很小。
同样,母线电压相角的少许改变θ∆,也不会引起母线无功功率的明显改变Q ∆。
因此,节点功率方程在用极坐标形式表示时,它的修正方程式可简化为:⎥⎦⎤⎢⎣⎡∆∆⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡∆∆V V L H Q P /00θ (4—19) 这就是把2(n —1)阶的线性方程组变成了两个n —1阶的线性方程组,将P 和Q 分开来进行迭代计算,因而大大地减少了计算工作量。
但是,H ,L 在迭代过程中仍然在不断的变化,而且又都是不对称的矩阵。
对牛顿法的进一步简化(也是最关键的一步),即把(4—19)中的系数矩阵简化为在迭代过程中不变的对称矩阵。
在一般情况下,线路两端电压的相角ij θ是不大的(不超过10○~20○)。
因此,可以认为:⎭⎬⎫<<≈ij ij ij ij B G θθsin 1cos (4—20)此外,与系统各节点无功功率相应的导纳B LDi 远远小于该节点自导纳的虚部,即 ii iiLDi B V Q B <<=2 因而 ii i i B V Q 2<< (4—21) 考虑到以上关系,式(4—19)的系数矩阵中的各元素可表示为: ij j i ij B V V H = (i,j=1,2,………,n-1) (4—22)ij j i ij B V V L = (i,j=1,2,……………,m ) (4—23)而系数矩阵H 和L 则可以分别写成:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=------------11,1122,1111,1111,222222121211,1121211111n n n n n n n n n n n n V B V V B V V B V V B V V B V V B V V B V V B V V B V H =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--------1211,12,11,11,222211,11211121n n n n n n n n V V V B B B B B B B B B V V V =11D D BV V (4—24)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=m mm m m m m m m m m m m V B V V B V V B V V B V V B V V B V V B V V B V V B V L 22122222212121121211111 =⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡m mm m m m m m V V V B B B B B B B B B V V V2121222211121121=22''D D V B V (4—25) 将(4—24)和(4—25)式代入(4—19)中,得到[][][][][]θ∆'-=∆11D D V B V P[][][][]V B V Q D ∆-=∆''2用[]11-D V 和[]12-D V 分别左乘以上两式便得:[][][][][]θ∆-=∆-111'D D V B P V (4—26)[][][][]V B Q V D ∆-=∆-''12 (4—27)这就是简化了的修正方程式,它们也可展开写成:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡∆∆∆⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆----------1122111,12,11,11,222211,11211112211n n n n n n n n n n V V V B B B B B B B B B V P V P V P θθθ(4—28)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡∆∆∆⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆m mm m m m m m mV V V B B B B B B B B B V Q V Q V Q 212122221112112211 (4—29) 在这两个修正方程式中系数矩阵元素就是系统导纳矩阵的虚部,因而系数矩阵是对称矩阵,且在迭代过程中保持不变。
pq分解法matlab程序,matlab应求PQ分解法进行潮流计算
pq分解法matlab程序,matlab应求PQ分解法进⾏潮流计算%本程序的功能是利⽤PQ分解法进⾏潮流计算clearclcn=input('请输⼊节点数:n=');nl=input('请输⼊⽀路数:nl=');isb=input('请输⼊平衡母线节点号:isb=');pr=input('请输⼊误差精度:pr=');disp('请输⼊由⽀路参数形成的矩阵:B1=');%输⼊B1[fname, pname]= uigetfile('*.xls');file=[pname fname];x=xlsread(file);B1=[x(:,1),x(:,2),(x(:,3)+x(:,4)*i),x(:,5)*i,x(:,6),x(:,7)];disp('请输⼊由节点参数形成的矩阵:B2=');%输⼊B2[fname, pname]= uigetfile('*.xls');file=[pname fname];y=xlsread(file);B2=[(y(:,1)+y(:,2)*i),(y(:,3)+y(:,4)*i),y(:,5),y(:,6),y(:,7),y(:,8)];disp('请输⼊由节点号及其对地阻抗形成的矩阵:X=');%输⼊X[fname, pname]= uigetfile('*.xls');file=[pname fname];z=xlsread(file);X=z;na=input('请输⼊PQ节点数na=');Y=zeros(n);YI=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);O=zeros(1,n);for i=1:nif X(i,2)~=0;p=X(i,1);Y(p,p)=1./X(i,2);for i=1:nlif B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endY(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));YI(p,q)=YI(p,q)-1./B1(i,3);Y(q,p)=Y(p,q);YI(q,p)=YI(p,q);Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; YI(q,q)=YI(q,q)+1./B1(i,3);Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;YI(p,p)=YI(p,p)+1./B1(i,3);end %求导纳矩阵G=real(Y);B=imag(YI);BI=imag(Y);for i=1:nS(i)=B2(i,1)-B2(i,2);BI(i,i)=BI(i,i)+B2(i,5);endP=real(S);Q=imag(S);for i=1:ne(i)=real(B2(i,3));f(i)=imag(B2(i,3));V(i)=B2(i,4);endfor i=1:nif B2(i,6)==2V(i)=sqrt(e(i)^2+f(i)^2);O(i)=atan(f(i)./e(i));endendfor i=2:nelse IC1=i+1;for j1=IC1:nB(i,j1)=B(i,j1)./B(i,i);endB(i,i)=1./B(i,i);for k=i+1:nfor j1=i+1:nB(k,j1)=B(k,j1)-B(k,i)*B(i,j1); endendendendp=0;q=0;for i=1:nif B2(i,6)==2p=p+1;k=0;for j1=1:nif B2(j1,6)==2k=k+1;A(p,k)=BI(i,j1);endendendendfor i=1:naif i==naA(i,i)=1./A(i,i);else k=i+1;for j1=k:naA(i,j1)=A(i,j1)./A(i,i);endA(i,i)=1./A(i,i);A(k,j1)=A(k,j1)-A(k,i)*A(i,j1);endendendendICT2=1;ICT1=0;kp=1;kq=1;K=1;DET=0;ICT3=1;while ICT2~=0|ICT3~=0ICT2=0;ICT3=0;for i=1:nif i~=isbC(i)=0;for k=1:nC(i)=C(i)+V(k)*(G(i,k)*cos(O(i)-O(k))+BI(i,k)*sin(O(i)-O(k))); endDP1(i)=P(i)-V(i)*C(i);DP(i)=DP1(i)./V(i);DET=abs(DP1(i));if DET>=prICT2=ICT2+1;endendendNp(K)=ICT2;if ICT2~=0for i=2:nDP(i)=B(i,i)*DP(i);if i~=nIC1=i+1;for k=IC1:nDP(k)=DP(k)-B(k,i)*DP(i);endelseIC4=L-1;for MZ=2:IC4I=IC4+2-MZ;DP(I)=DP(I)-B(I,L)*DP(L);endendendendfor i=2:nO(i)=O(i)-DP(i);endkq=1;L=0;for i=1:nif B2(i,6)==2C(i)=0;L=L+1;for k=1:nC(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k))); endDQ1(i)=Q(i)-V(i)*C(i);DQ(L)=DQ1(i)./V(i);DET=abs(DQ1(i));if DET >=prICT3=ICT3+1;endendendelse kp=0;if kq~=0;L=0;for i=1:nif B2(i,6)==2C(i)=0;L=L+1;DQ1(i)=Q(i)-V(i)*C(i);DQ(L)=DQ1(i)./V(i);DET=abs(DQ1(i));endendendendNq(K)=ICT3;if ICT3~=0L=0;for i=1:naDQ(i)=A(i,i)*DQ(i);if i==nafor LZ=2:iL=i+2-LZ;IC4=L-1;for MZ=1:IC4I=IC4+1-MZ;DQ(I)=DQ(I)-A(I,L)*DQ(L); endendelseIC1=i+1;for k=IC1:naDQ(k)=DQ(k)-A(k,i)*DQ(i); endendendL=0;for i=1:nif B2(i,6)==2endkp=1;K=K+1;elsekq=0;if kp~=0K=K+1;endendfor i=1:nDy(K-1,i)=V(i);endenddisp('迭代次数');disp(K);disp('每次没有达到精度要求的有功功率个数为');disp(Np);disp('每次没有达到精度要求的⽆功功率个数为');disp(Nq);for k=1:nE(k)=V(k)*cos(O(k))+V(k)*sin(O(k))*j;O(k)=O(k)*180./pi;enddisp('各节点的电压标⼳值E为(节点号从⼩到⼤排):'); disp(E);disp('各节点的电压V⼤⼩(节点号从⼩到⼤排)为:'); disp(V);disp('各节点的电压相⾓O(节点号从⼩到⼤排)为:'); disp(O);for p=1:nC(p)=0;S(p)=E(p)*C(p);enddisp('各节点的功率S(节点号从⼩到⼤排)为:');disp(S);disp('各条⽀路的⾸端功率Sj(顺序同您输⼊B1时⼀样)为:');for i=1:nlif B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endSi(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5)))); disp(Si(p,q));enddisp('各条⽀路的末端功率Sj(顺序同您输⼊B1时⼀样)为:');for i=1:nlif B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endSj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5)))); disp(Sj(q,p));enddisp('各条⽀路的功率损耗DS(顺序同您输⼊B1时⼀样)为:');for i=1:nlif B1(i,6)==0p=B1(i,1);q=B1(i,2);else p=B1(i,2);q=B1(i,1);endDS(i)=Si(p,q)+Sj(q,p);disp(DS(i));endfor j=1:nDy(K,j)=Dy(K-1,j);endenddisp('以下是每次迭代后各节点的电压值(如图所⽰)');plot(Cs,Dy),xlabel('迭代次数'),ylabel('电压'),title('电压迭代次数曲线');。
电力系统潮流计算完整程序及详细理论说明
电力系统潮流计算完整程序及详细理论说明——秦羽风在我刚开始学习潮流程序时,总是找不到一个正确的程序开始模仿学习。
后来经过多方努力,终于自己写出了一个结构清晰、完整的潮流程序。
此程序是一个通用的程序,只需要修改输入数据的子函数(PowerFlowsData_K)里面的母线、支路、发电机、负荷,就能算任意一个网络结构的交流系统潮流。
很适合初学者学习.为了帮助电力系统的同学一起学习,我将我编写的潮流计算程序分享下来给大家;此程序是在基于牛顿拉夫逊算法的基础上,编写的快速解耦算法。
每一个子程序我都有备注说明。
如果有不对的地方,希望大家指正!下文中呈现的顺序为:网络结构、子程序、主程序、运算结果、程序设计理论说明。
一、网络结构:5节点网络如下图。
二、子程序(共有9个子程序)子程序1:(其他系统,只需要修改Bus、Branch、Generator、Load,这四个矩阵就行了)function [Bus,Branch,Generator,Load]=PowerFlowsData_K%%节点数据% 类型:1-平衡节点;2-发电机PV节点;3—负荷PQ节点;4-发电机PQ节点;Bus=[% 类型电压相角1 1。
06 0;2 1 0;3 1 0;3 1 0;3 1 0];%% 线路数据Branch=[% 发送接收电阻电感(电导电容)并联1 2 0.02 0.06 0 0.06;1 3 0。
08 0。
24 0 0。
05;2 3 0.06 0.18 0 0。
04;2 4 0。
06 0。
18 0 0.04;2 5 0.04 0.12 0 0。
03;3 4 0.01 0.03 0 0。
02;4 5 0.08 0.24 0 0.05];%% 发电机数据Generator=[%节点定有功定无功(上限下限)无功1 0 0 5 —5;2 0。
4 03 —3];%%负载数据Load=[% 节点定有功定无功2 0.2 0.1;3 0。
潮流计算的pq分解法,用c语言实现的
int isgn(int a, int b);
void yy1();
void y3();
void newtoold();
int main(void)
{
initial();//初始化
pqflow();//pq潮流计算
out();//输出节点和支路数据
return 1;
}
int isgn(int a, int b)
//izl[],jzl[],idk[]:分别存放左、右节点号和电抗器节点号。
//yds[]存放各行非零非对角元素的个数。
//ydz[i]是第i行第一个非零非对角元素的首地址,
//即在所有非零非对角元素中的次序号
// iy[]存放列足码。
int nnew[NS4], old[NS], nob[NS], nobt[NS];
{
for (j = i+1; j <= ii1; j ++)
{பைடு நூலகம்
if (newsort[i] > newsort[j])
{
k = newsort[i];
newsort[i] = newsort[j];
newsort[j] = k;
}
}
}
for (i = 1; i <= zls; i ++)
{
潮流计算程序(3.0版)说明
潮流计算程序(3.0版)说明1特点∙既可以用于高压输电网的潮流解算,又可以用于低压配电网的潮流解算,还可以同时解算输电网加配电网的混合潮流问题。
∙可以处理多平衡(机)节点问题,使用者只需输入各平衡节点的电压幅值和相位角,计算出的系统不平衡功率部分将自动在各平衡节点间进行分摊。
∙可以同时解算相互解列的几个子系统的潮流问题(只要每个子系统内均含有平衡节点),甚至某些子系统退化成孤立节点也不会影响其它子系统的潮流解算。
∙可以同时解算多配电馈线的潮流问题,而无需一个馈线一个馈线地分别计算。
∙由于该程序能够处理多平衡节点问题,故在解算具有多根节点和环状配电网潮流时,无需象以往方法那样只保留一个平衡节点,而将其余平衡节点全部人为地改成PV节点。
∙该版程序为PQ分解法。
2一般变量说明∙LINEMAX 程序所能处理的最大线路数,可以在#define说明语句中进行修改∙GENERA TORMAX 程序所能处理的最大发电机节点数,可以在#define说明语句中进行修改∙LOADMAX 程序所能处理的最大负荷节点数,可以在#define说明语句中进行修改∙NODEMAX 程序所能处理的最大系统节点总数,可以在#define说明语句中进行修改∙SWINGMAX 程序所能处理的最大平衡节点数,可以在#define说明语句中进行修改∙PVMAX 程序所能处理的最大PV节点数,可以在#define说明语句中进行修改∙NODEFACTOR 导纳矩阵的上三角阵中程序所能处理的最大非零非对角元素的个数相对于最大节点数(NODEMAX)的倍数∙Deg_to_Rad 度到弧度的转换系数,在#define说明语句中定义∙Rad_to_Deg 弧度到度的转换系数,在#define说明语句中定义∙Num_Line 系统的实际总线路数∙Num_Gen 系统的实际总发电机(节点)数∙Num_Load 系统的实际总负荷(节点)数∙Num_Node 系统的实际总节点数∙Num_Swing 系统的实际总平衡节点数∙Num_GPV 系统发电机节点中的PV节点数∙Num_GPQ 系统发电机节点中的PQ节点数∙Eps 节点功率失配量值收敛限值∙Iter_Max 迭代次数限值(在不满足电压收敛误差限值的条件下强行中止收敛的最大迭代次数)∙V olIni_Flag 是否读取电压初值标志:0-不读(以0-1启动);1-读初值∙V olRes_Flag 是否将电压收敛值保存以备以后计算时当启动初值:0-不保存;1-保存3参数结构定义说明∙线路参数结构定义struct Line{int Node_No[2];int Flag;double RXBK[3];}LLine[LINEMAX]其中,Node_No[2]代表线路两端节点号:0—左节点号;1—右节点号。
9P-Q分解法潮流计算
⎡ ΔP ( 0 ) ⎤ ⎡ H N ⎤ ⎡ Δδ ( 0 ) ⎤ =⎢ ⎢ ⎥⎢ (0) ⎥ (0) (0) ⎥ ⎣ ΔQ ⎦ ⎣ J L ⎦ ⎣ ΔU U ⎦
解出
⎡ Δδ ( 0 ) ⎤ ⎢ (0) ⎥ ⎣ ΔU ⎦
–
– –2009-5-18 计算平衡节点功率、PV节点无功以及线路传输功率。 复杂电力系统潮流计算
Yij = G − j ( B + B f ) +
2009-5-18
1 1 1 + j2Bf j2Bf
= G − jB
5
牛顿-拉夫逊法潮流计算
PV节点:已知P、U ,待求量为Q、δ 因为PV节点的电压给定,故 ΔU 为零,该方程不 需要列出。第 k 次迭代时,功率不平衡量
Δ Pi
(k)
= f
n
(k) Pi
( ( = Pi − ∑ U i( k )U (j k ) (Gij cos δ ij k ) + Bij sin δ ij k ) ) j =1
⎡δ (1) ⎤ ⎡δ (0 ) ⎤ ⎡ Δδ (0 ) ⎤ 计算各点电压的新值 ⎢ = ⎢ (0 ) ⎥ − ⎢ (1) ⎥ (0 ) ⎥ ⎣U ⎦ ⎣U ⎦ ⎣ ΔU ⎦ 迭代至收敛,即 Δ U < ε 和 Δ δ < ε
3
修正方程
⎡ ΔP1 ⎤ ⎡ H11 ⎢ ⎥ ⎢ ΔP2 ⎥ ⎢ H 21 ⎢ ⎢L ⎥ ⎢L ⎢ ⎥ ⎢ ⎢ ΔPn ⎥ = ⎢ H n1 ⎢ ΔQ ⎥ ⎢ J ⎢ 1 ⎥ ⎢ 11 ⎢ ΔQ2 ⎥ ⎢ J 21 ⎢L ⎥ ⎢ ⎢ ⎥ ⎢L ⎢ ΔQn ⎥ ⎢ J n1 ⎣ ⎦ ⎣ H12 L H1n N 11 H 22 L H 2n N 21 H n 2 L H 1 n N n1 J 12 L J 1 n J 22 L J 2n J n 2 L J nn L11 L21 Ln1 N 12 L N 1 n ⎤ ⎥ N 22 L N 2n ⎥ ⎥ ⎥ N 22 L N nn ⎥ L12 L L1 n ⎥ ⎥ L22 L L2n ⎥ ⎥ ⎥ Ln 2 L Lnn ⎥ ⎦ ⎡ Δδ 1 ⎤ ⎢ ⎥ Δδ 2 ⎥ ⎢ ⎢ L ⎥ ⎢ ⎥ ⎢ Δδ n ⎥ ⎢ ΔU U ⎥ ⎢ 1 1⎥ ⎢ ΔU 2 U 2 ⎥ ⎢L ⎥ ⎢ ⎥ ⎢ ΔU n U n ⎥ ⎣ ⎦
潮流计算的快速分解法(可编辑修改word版)
潮流计算的快速分解法摘要:本文采用快速分解法进行潮流计算,分析其基本理论,并使用 MATLAB 软件进行编程设计。
最后运用实例进行验证。
结果表明快速分解法具有较好的迭代速度。
关键词:潮流计算快速分解法 MATLAB 编程,实例验证1引言潮流计算是电力系统分析最基本、最重要的计算,是电力系统运行、规划以及安全性、可靠性分析和优化的基础,也是各种电磁暂态和机电暂态分析的基础和出发点。
潮流计算要求具有可靠的收敛性,占用内存少,计算速度快,调整和修改容易,使用灵活方便。
各种算法的改进以及新算法的提出,很多都是为了使潮流计算能更好地满足计算要求。
本文应用快速分解法进行潮流计算,并给出算例分析。
2潮流计算的快速分解法研究表明,用牛顿-拉夫逊法计算潮流时,每次迭代都要重新形成雅可比矩阵,然后重新对它进行因子表分解并求解修正方程。
为避免每次迭代重新形成雅可比矩阵及其因子表,人们研究用定雅可比矩阵取代随迭代过程不断变化的雅可比矩阵,这种方法叫定雅可比法。
此外,人们还结合电力系统的物理特点,发展了各种版本的解耦潮流算法,20 世纪 70 年代初提出的快速分解法是这一阶段的主要研究成果。
关于快速分解潮流算法,有三项里程碑意义的研究成果。
其一是 Stott 在1974年发现的 XB 型算法;其二是 Van Amerongen 在1989 年发现的 BX 型算法;其三是Monticelli 等人在1990 年所作的关于快速分解潮流算法收敛机理的理论阐述。
这些研究工作不仅是电力系统计算方面的典范,也揭示了这样一个事实:工程上有效的方法一定有其深刻的理论来支持。
2.1快速分解法的修正方程及迭代格式将极坐标型定雅可比法的修正公式重写如下:H L- ⎡ B H - G N ⎤⎡V ∆⎤ = ⎡∆P V ⎤ ⎢G B ⎥⎢ ∆V ⎥ ⎢∆Q V ⎥(2.1)⎣ M L ⎦⎣ ⎦ ⎣⎦ 经验表明,电力系统中有功功率主要受电压相角的影响,而无功功率主要受电压幅值的影响,同时由于高压电网大部分线路的电阻比电抗小,因此在牛顿- 拉夫逊迭代中可以忽略雅可比矩阵的非对角块,即将G N , G M 设为零,从而实 现有功和无功潮流修正方程的解耦。
matpower牛顿法与快速分解法
matpower牛顿法与快速分解法Matpower的牛顿法和快速分解法是两种常用的电力系统潮流计算方法。
本文将分别介绍这两种方法的原理、优缺点以及在Matpower中的应用。
1.牛顿法牛顿法是一种迭代求解非线性方程组的方法,通过不断线性化方程组,利用牛顿迭代来逼近方程的解。
在电力系统潮流计算中,牛顿法通常用于求解节点电压和潮流功率。
原理:牛顿法基于牛顿-拉夫逊迭代公式,通过不断迭代线性化的方程组,利用雅可比矩阵和残差向量来逼近方程的根。
在每一次迭代中,牛顿法需要求解线性方程组,通常使用LU分解或者Cholesky分解等方法来加快求解速度。
直到满足收敛准则,即残差向量的范数小于一定的阈值,牛顿法计算结束。
优缺点:牛顿法具有收敛速度快和迭代次数较少的特点,尤其是在潮流计算中,对于大规模复杂系统具有良好的适应性。
然而,牛顿法也存在一些缺点。
首先,它需要计算雅可比矩阵和残差向量,计算量较大。
其次,当系统存在发电机停运或者馈线短路等异常情况时,牛顿法可能产生发散甚至不收敛的问题。
在Matpower中的应用:Matpower中的潮流计算函数runpf()默认使用了牛顿法进行潮流计算。
用户可以通过设置options结构体中的method参数为"NR"或者不设置method参数来使用牛顿法。
用户还可以通过设置tol参数来控制迭代的收敛准则。
2.快速分解法快速分解法是一种基于特征值分解的电力系统潮流计算方法,通过将复杂的潮流计算问题转化为求解特征值问题,利用特征值和特征向量对系统进行降维和分解,从而加快计算速度。
原理:快速分解法主要利用了电力系统节点的特征值和特征向量之间的关系,通过特征值的快速排序和特征向量的投影变换,将原始的潮流计算问题转化为求解特征值问题。
快速分解法可以根据特征值的大小来选择求解的精度,从而达到加快计算速度的目的。
优缺点:快速分解法在计算速度上具有优势,尤其是对于大规模系统和复杂情况,可以显著提高计算效率。
P-Q分解法潮流计算
P-Q分解法的特点和性能分析
(1) 用一个n-1阶和一个m阶的线性方程组代替了 牛顿法的n-1+m阶线性方程组,显著地减少了内 存需求量及计算量。
(2)系数矩阵B’和B’’为常数矩阵。因此,不必像牛 顿法那样每次迭代都要形成雅可比矩阵并进行三 角分解,只需要在进入迭代过程以前一次形成雅 可比矩阵并进行三角分解形成因子表,然后反复 利用因子表对不同的常数项△P/V或△Q/V进行消 去回代运算,就可以迅速求得修正量,从而显著 提高了迭代速度。
(1)一般情况下,线路两端电压的相角差不大(不 超过10°~20°),因此可以认为
cos ij 1,
Gij sin ij Bij
(2)与系统各节点无功功率相对应的导纳 通常远小于该节点自导纳的虚部 ,即
B Li Qi 2 Bii Vi
Qi Vi2Bii
考虑到上述关系,略去相关项可将系数矩阵
在B'中尽量去掉那些对有功功率及电压相角影响 较小的因素,如略去变压器非标准电压比和输电 线路充电电容的影响;在B"中尽量去掉那些对无 功功率及电压幅值影响较小的因素,如略去输电 线路电阻的影响
即B’的非对角和对角元素分别按下式计算:
B”的非对角和对角元素分别按下式计算:
其中rij和xij分别为支路的电阻和感抗,bi0为节点i 的接地支路的电纳。(BX法)
P-Q分解法改变了牛顿法 迭代公式的结构,就改变 了迭代过程的收敛特性。 事实上,依一个不变的系 数矩阵进行非线性方程组 的迭代求解,在数学上属 于“等斜率法”,其选代过程是按几何级数收敛的,若画 在对数坐标系上,这种收敛特性基本上接近一条直线。而 牛顿法是按平方收敛的,在对数坐标纸上基本上是一条抛 物线,如图2-3所示。
潮流计算程序
潮流程序报告班级:硕721姓名:胡与非学号:3107161033一、概述本程序是PQ分解法中的BX法,本程序中主要用到的三个主要算法概述如下:1.节点优化编号本程序使用Tinney-2编号方法,也称为最小度算法,或半动态节点优化编号方法。
该方法使用最为广泛,且简单有效,可以大大减少矩阵因子分解过程中产生的注入元的数目。
2.稀疏技术稀疏技术包括稀疏矩阵技术和稀疏矢量技术。
本程序使用了稀疏矩阵技术,利用网络矩阵的稀疏结构,减少了存储量和计算量,提高了求解网络方程的计算速度。
3.潮流计算的快速分解法(FDLF)快速分解法不是求解高维数的修正方程,而是分别交替求解两个低维数且系数矩阵是常数矩阵的修正方程,因此计算速度快,收敛性好,应用广泛。
二、输入数据格式说明第一行:支路数第二行:节点数第三行:接地支路数第四行:发电机数第五行:负荷数第六行:平衡节点号第七行:精度以下是支路数据:1、支路一端节点号支路另一端节点号支路电阻支路电抗接地电容(变压器变比)(节点号为负表明变压器支路,负号的节点侧为变压器的非标准变比侧,此时节点电容换为变压器变比;)2、接地支路号电阻电容以下是发电机数据:(最后一行是平衡机,其余发电机看成PV节点)节点号有功功率无功功率电压(电压为负表示PV节点)以下是负荷数据:节点号有功功率无功功率电压(初始为0)三、数据结构介绍//----------------线路数据结构体--------------//struct Line{int I ;//线路一端所连的节点号,节点号绝对值i<j,i按绝对值从小到大排列;//节点号为负表示为变压器支路,负号的节点侧为变压器的非标准变比侧;此时节点电容换为变压器变比int j; //线路另一端所连的节点号double r;//线路电阻double x;//线路电抗double b;//接地电容,若为变压器节点电容换为变压器变比//这里的b为线路导纳的一半b/2int hh; //标记支路号用于还原输出}*line;//----------------接地线路数据结构体--------------//struct Grand_line{int i; //接地支路号double r;//接地支路电阻double b;//接地支路电容int hh; //标记支路号,用于还原输出}*grand;//----------------发电机数据结构体--------------//struct Generator{int i; //发电机节点号,最后一个发电机为平衡节点double P;//发电机有功功率double Q;//发电机无功功率double V;//发电机机端电压,电压为负表示PV节点}*generator;struct Pinghengji{int i;//平衡机节点号,最后一个发电机为平衡节点double P;//平衡机有功功率double Q;//平衡机无功功率double V;//平衡机机端电压}*pinghengji;//----------------负荷数据结构体--------------//struct Load{int i;//负荷节点号double P;//负荷的有功功率double Q;//负荷的无功功率double V;//负荷处的电压(初始为0)}*load;//----------------优化结构体--------------//struct Y ouhua{int nn;//记录节点的度int nn1;int *jd;//记录节点号int *w;}*youhua;//-------------自导纳结构体--------------// struct Yii{double g,b;}*yii;struct Yii1{double g,b;}*yii1;//------------互导纳结构体----------------// struct Yij{double g,b;int j;}*yij;struct Yij1{double g,b;int j;}*yij1;//----------------U--------------//struct U_Type{double value;int j;}*U1,*U2,*U;//-------------------节点电压数组-----------------// struct NodalV oltage_Type{double V,theta;}*NodalV oltage;三、程序流程介绍四、程序中重要函数体的说明1、读数据函数read();读入各个原始数据;输入5,则为IEEE5节点;输入14,则为IEEE14节点;输入30,则为IEEE30;输入57,则为IEEE57;输入118,则为IEEE118;2、节点优化函数op();在此函数里实现节点优化以及支路、发电机、负荷的重排;3、形成导纳矩阵函数daona();形成导纳矩阵,在这个函数中同时调用函数formb(1)形成因子表1;调用formbb(2)形成因子表2;4、计算节点电压的迭代函数Diedai();迭代过程见流程图;5、打印函数dayin();打印各节点电压的辐值和相位,各个支路的功率和整个网络的网损;五、小结1.节点优化编号:节点优化编号直接影响到矩阵A的因子表矩阵的稀疏度,而稀疏度的大小又直接影响到稀疏技术的使用效率的好坏。
PQ分解法潮流计算实验
xxxx实验报告学生姓名:学号:专业班级:实验类型:□验证□综合■设计□创新实验日期: 2010.10.16 实验成绩:一、实验项目名称P-Q分解法潮流计算实验二、实验目的与要求:目的:电力系统分析的潮流计算是电力系统分析的一个重要的部分。
通过对电力系统潮流分布的分析和计算,可进一步对系统运行的安全性,经济性进行分析、评估,提出改进措施。
电力系统潮流的计算和分析是电力系统运行和规划工作的基础。
潮流计算是指对电力系统正常运行状况的分析和计算。
通常需要已知系统参数和条件,给定一些初始条件,从而计算出系统运行的电压和功率等;潮流计算方法很多:高斯-塞德尔法、牛顿-拉夫逊法、P-Q分解法、直流潮流法,以及由高斯-塞德尔法、牛顿-拉夫逊法演变的各种潮流计算方法。
本实验采用P-Q分解法进行电力系统分析的潮流计算程序的编制与调试,获得电力系统中各节点电压,为进一步进行电力系统分析作准备。
通过实验教学加深学生对电力系统潮流计算原理的理解和计算,初步学会运用计算机知识解决电力系统的问题,掌握潮流计算的过程及其特点。
熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。
要求:编制调试电力系统潮流计算的计算机程序。
程序要求根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,完成该电力系统的潮流计算,要求计算出节点电压、功率等参数。
三、主要仪器设备及耗材每组计算机1台、相关计算软件1套四、实验内容:1.理论分析:P-Q分解法是从改进和简化牛顿法潮流程序的基础上提出来的,它的基本思想是:把节点功率表示为电压向量的极坐标方程式,抓住主要矛盾,以有功功率误差作为修正电压向量角度的依据,以无功功率误差作为修正电压幅值的依据,把有功功率和无功功率迭代分开来进行。
牛顿法潮流程序的核心是求解修正方程式,当节点功率方程式采取极坐标系统时,修正方程式为:⎥⎦⎤⎢⎣⎡∆∆⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡∆∆V V L N J H Q P /δ 或展开为:VV L J Q VV N H P //∆⋅+∆⋅=∆∆⋅+∆⋅=∆δδ (4)以上方程式是从数学上推倒出来的,并没有考虑电力系统这个具体对象的特点。
潮流计算的基本算法及使用方法
潮流计算的基本算法及使用方法潮流计算的基本算法及使用方法一、潮流计算的基本算法1. 牛顿-拉夫逊法1.1 概述牛顿-拉夫逊法是目前求解非线性方程最好的一种方法。
这种方法的特点就是把对非线性方程的求解过程变成反复对相应的线性方程求解的过程,通常称为逐次线性化过程,就是牛顿-拉夫逊法的核心。
牛顿-拉夫逊法的基本原理是在解的某一邻域的某一初始点出发,沿着该点的一阶偏导数——雅可比矩阵,朝减小方程的残差的方向前进一步,在新的点上再计算残差和雅可矩阵继续前进,重复这一过程直到残差达到收敛标准,即得到了非线性方程组的解。
因为越靠近解,偏导数的方向越准,收敛速度也越快,所以牛顿法具有二阶收敛特性。
而所谓“某一邻域”是指雅可比方向均指向解的围,否则可能走向非线性函数的其它极值点,一般来说潮流由平电压即各母线电压(相角为0,幅值为1)启动即在此邻域。
1.2 一般概念对于非线性代数方程组()0=x f即 ()0,,,21=n i x x x f ()n i ,2,1= (1-1)在待求量x 的某一个初始计算值()0x附件,将上式展开泰勒级数并略去二阶及以上的高阶项,得到如下的线性化的方程组()()()()()0000=?'+x x f x f (1-2)上式称之为牛顿法的修正方程式。
由此可以求得第一次迭代的修正量()[]()()0100x f x f x -'-=? (1-3)将()0x ?和()0x相加,得到变量的第一次改进值()1x 。
接着再从()1x 出发,重复上述计算过程。
因此从一定的初值()0x出发,应用牛顿法求解的迭代格式为()()()()()k k k x f x x f -=?' (1-4)()()()k k k x x x ?+=+1 (1-5)上两式中:()x f '是函数()x f 对于变量x 的一阶偏导数矩阵,即雅可比矩阵J ;k 为迭代次数。
由式(1-4)和式子(1-5)可见,牛顿法的核心便是反复形成求解修正方程式。
牛顿拉夫逊潮流计算程序
f1 x 2 xn f 2 f 2 x 2 xn f n f n x 2 xn
f i
f1
Δ X 1 Δ X 2 Δ X n
(13)
' ' 式(13)等号右边矩阵的 x 等都是对于 X1 ,X 2 的值,这一矩阵称为雅可比(Jacobi)矩阵。
P—Q分解法潮流计算的计算机算法。
电力系统分析
1概 述
类型:
导纳法
阻抗法
牛顿-拉夫逊法(N—R法) 快速分解法( PQ分解法)
电力系统分析
2 潮流计算的基本方程
2.1节点的分类 2.2基本方程式
电力系统分析
2.1节点(bus)的分类
根据电力系统中各节点性质的不同,可把节点分成三种类型。 1.PQ节点 事先给定的是节点功率(P、Q),待求的是节点电压向量 (U、θ)。通常变电所母线都是PQ节点,当某些发电机的 出力P、Q给定时,也可作为PQ节点。PQ节点上的发电机称 之为PQ机(或PQ给定型发电机)。在潮流计算中,系统大 部分节点属于PQ节点。
2
m 1
Δ P1 e m 1 Δ Q 1 e m 1 Δ Pm e m -1 Δ Q m e m -1 Δ Pm 1 e m -1 Δ U
2
m 1
Δ P1 f m 1 Δ Q 1 f m 1 Δ Pm f m -1 Δ Q m f m -1 Δ Pm 1 f m -1 Δ U
电力系统分析
3.2牛顿-拉夫逊法潮流计算
方程式(15)和(16)具备方程组(12)的形式:
Δ W -J Δ U
(17)
Δe 1 Δf 1 Δe m Δf m ΔU Δe m 1 Δf m 1 Δe n - 1 Δf n - 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研究生课程设计 (论文)电力系统稳态分析Stability Analysis of Power Systems教学单位自动化学院姓名薛媛媛学号 *********年级2011 级专业电力系统及其自动化指导教师杨伟职称副教授2011年12月6日摘要:快速分解法是一种定雅克比法,形成系数矩阵'B 、''B 时忽略了支路电阻、对地导纳和理想变压器非标准变化,以及θP -迭代过程中节点电压的不同取值,从而避免每次迭代重新形成雅克比矩阵及其因子表,计算效率大幅提高。
本文采用快速分解法中的XB 型算法,并基于MATLAB 软件仿真分析具体实例,发现具有较好的收敛性,特别适合在线计算。
关键词:电力系统 潮流计算 快速分解法 雅可比矩阵0 引言用牛顿-拉夫逊法计算潮流时,每次迭代都需要重新形成雅克比矩阵并分解因子表。
为避免每次迭代重新形成雅克比矩阵及其因子表,20世纪70年代初Stott 提出了快速分解法。
快速分解法采用了一些假设:a 、电力系统有功功率主要受电压相角影响,无功功率主要受电压幅值影响。
b 、高压网线路的r<<x 。
c 、系数矩阵'B 、''B 忽略了支路电阻、对地导纳和理想变压器非标准变化。
d 、θP -迭代过程中的V Δθ前的电压幅值用标幺值1代替。
对极坐标型定雅克比法的修正公式HN M L ⎡⎤-⎡⎤⎡⎤⎢⎥-=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦ΔP B G V ΔθV ΔQ G B ΔV V (1) 处理得到简化的修方程式'''==--ΔPB ΔθVΔQ B ΔV V(2)在潮流计算中,(2)式中两个修正方程式交替迭代,Stott 把在此基础发展起来的潮流算法称为快速分解法。
快速分解法是目前电力系统进行潮流计算的主要方法。
由于该方法将节点电压的相位和幅值的迭代过程分开进行,使修正方程的系数矩阵维数降低很多,系数矩阵为常数且对称,因而快速分解法具有计算速度快,占用内存少等特点。
1 理论基础以定雅克比牛顿-拉夫逊迭代方程为出发点,具体过程如下:通过高斯消去法,把牛顿-拉夫逊法的每一次迭代等价地细分为三步计算;对每一步运算作详细分析,证明了在连续的两次牛顿-拉夫逊迭代中,上一次迭代的第三步和下一次迭代的第一步可以合并,从而导出等效的两步式分解算法;论证了该两步式分解算法的系数矩阵与快速分解算法的系数矩阵是一致的。
推导过程并未因用任何解耦的假设。
将极坐标型定雅克比法的修正公式中ΔP V和ΔQ V 用ΔP 和ΔQ 代替,V Δθ用Δθ代替。
⎡⎤⎡⎤⎡⎤-=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦H N ΔθΔP M L ΔV ΔQ (3) 其中,,,H N M L T T T T∂∆∂∆∂∆∂∆=≈=-≈=≈=≈∂∂∂∂P P Q QH B N G M G L B θV θV1.1将原问题分解为P ,Q 子问题用高斯消去法消去子块N11--⎡⎤⎡⎤--⎡⎤-=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ΔθH NL M 0ΔP NL ΔQ ΔV M L ΔQ(4) 记11,--=-=-H H NL M ΔP ΔP NL ΔQ因-M ΔθL ΔV =ΔQ -,得到11--=--ΔV L ΔQ L M Δθ 于是定义11,L M --=-=-ΔV L ΔQ ΔV L M Δθ解为 ⎧-⎨⎩-1L MΔθ=H ΔPΔV =ΔV +ΔV (5)在给定的电压幅值和相角初值附近,保持电压相角不变,考虑只有电压幅值的变化L ΔV 时,有功功率的偏差量为()()()1+T-∂∆∆≈∆=∆-=∆∂L L P P θV +ΔV P θV ΔV P θV NL ΔQ P V,,, (6) 综合上述结果,如果当前的迭代点为()()()k kθV ,,则第k 次迭代可以分为三步()()()()()()()11=k k k L k k k L -+⎧∆-∆⎪⎨⎪=+∆⎩V L Q θV V V V , (7)()()()()()()()111,k k k k k k+-+⎧∆=-∆⎪⎨⎪=+∆⎩θH P θV θθθ (8)()()()()()111k k M k k k M -++⎧∆=-∆⎪⎨=+∆⎪⎩V L M θVV V (9) 1.2简化无功迭代步骤按式(7)、式(8)和式(9)完成第k 次迭代后,下面考虑第k +1次迭代,有()()()()()()()+1+1+112+1+1=k k k L k k k L -+⎧∆-∆⎪⎨⎪=+∆⎩V L Q θV V V V , (10)利用式(9),上式中的无功功率偏差为()()()()()()()()()()()()()()()+1+1+1+1+1+1+1+1=++=+k k k k k Mk k k M Tk k k M∆∆∆∂∆≈∆∆∂∆∆Q θV Q θV V Q Q θV V VQ θV L V ,,,, (11) 代入式(10)中,经整理得()()()()()+1+1+11+=k k k k LM -∆∆-∆V V L Q θV , (12)式(12)说明,如果将第k 次迭代计算出的()1k +V 和()1k +θ用于计算第1k +迭代的无功功率偏差量,则所求得的第1k +次迭代的电压修正量将自动包含第k 次迭代计算出的()k M ∆V 。
所以,()k M ∆V 的计算可以省略,相当于将式(9)与式(10)合并,因此,第k 次迭代可以两步完成()()()()()()()11=k k k k k k -+⎧∆-∆⎪⎨⎪=+∆⎩V L Q θV V V V , (13)()()()()()()()111,k k k k k k +-+⎧∆=-∆⎪⎨⎪=+∆⎩θH P θV θθθ (14)整理式(13)和式(14)得到简化的修正方程式=-∆=∆-∆∆H θP L V Q(15)因ΔP 和ΔQ 即为极坐标型定雅克比法的修正公式中ΔPV和ΔQ V ,所以式(15)与式(2)格式相同。
与XB 型快速分解法的修正公式相比,系数矩阵L 是导纳矩阵的虚部,与''B 相同。
由H 的定义,有11H N L M ---H =H NL M =B +G B G (16)对于一般的电网,H 可能有较复杂的结构。
为了对H 有直观的认识,假定网络中无PV 接点,则式(16)中各矩阵的维数相等,并且接点导纳矩阵可用节点支路关联矩阵A 和支路导纳对角矩阵(分别用的b 和g 表示电纳和电导)表示。
下面将证明,对于树形电网或所有支路的x r 比值都相同的环形网络,H 与'B 相等。
如果网络是树状的,其关联矩阵A 是方阵且非奇异,此时对式(16)有1-T T T T H =AbA +(AgA )(AbA )(AgA ) --T -T 11T =A(b +gA A b A Ag)A -1T =A(b +gb b)A'T '=Ab A =B (17)式中,'b 为以x 1-为支路电纳组成的对角线矩阵;'B 为以x 1-为支路电纳建立的节点电纳矩阵。
这说明对树形电网,H 就是XB 型快速分解法中的'B 阵。
对于环形网络,如果电网是均一网,即对任一支路l 有α=l l x r ,则得l ll ll l l l b x r x x r r g αα-=+=+=2222 并有l ll l l l l l ll l x x r x x r b g b g b 1))(1()1(222221-==+-+=+=+-α所以g =-αb ,2(1)α+='b b故有-T T T 1T H =AbA +(AgA )(AbA )(AgA ) 21α-=+T T T T AbA (AbA )(AbA )(AbA )2(1)α=+T AbA'T '=Ab A =B(18) 如果电网不是均一网,上述结论不再严格成立。
但H 和'B 相比,在'B 的零元素处,相应H 的元素近似等于零;在'B 的非零元素处,相应H 的元素近似和'B 的非零元素相等。
这可以用下面的例子来说明。
图1 四节点电力系统以图1所示的四节点系统为例,图中给出了支路阻抗。
该例中H ,H 和'B 分别为1.5100.51 1.20.2000.20.70.50.500.51--⎡⎤⎢⎥--⎢⎥=⎢⎥--⎢⎥--⎣⎦H 1.90.80.110.8 1.60.800.10.8 1.911012---⎡⎤⎢⎥--⎢⎥=⎢⎥---⎢⎥--⎣⎦H 2101121001211012--⎡⎤⎢⎥--⎢⎥=-⎢⎥--⎢⎥--⎣⎦'B 可见,'B 比H 更接近于H ,而用'B 代替H 即得到XB 型快速分解法。
以上推导过程中,只在对有功功率偏差量和无功功率偏差量的计算处做了线性化近似,既没有r<<x 的假设,也没有引用PQ 解耦的假设。
2 快速分解法在地震系统安全分析中的应用某地区电力供应系统由2个发电厂,4个变电站组成,系统模型见图2,其中节点1、2、3为PQ节点,4为PV节点,5为平衡节点。
以100MVA、220KV为基准的节点初始标幺值和网络参数见表3、4。
利用快速分解法,当迭代功率偏差标准为 =0.0001时,迭代结束。
图2 电力系统模型节点 1 2 3 4 5P -1.60 -2.00 -3.70 5.00 --Q -0.80 -1.00 -1.30 1.05 1.05表1 节点负荷值支路r x b 变比1-2 0.040 0.250 0.250 -1-3 0.10 0.350 0.000 -2-3 0.080 0.300 0.300 -2-4 0.000 0.015 - 1.0503-5 0.000 0.030 - 1.050表2 线路参数3.程序流程图4.程序本文采用两种程序来仿真地震电力系统的潮流,两个程序得到的仿真结果是相同的。
1.程序一function [Y,U,P,Q,dSij, O,S,Sij,Sji,sumdS]=FDLFpowerflow()%输出:U——节点电压,P--节点有功,Q--节点无功,dSij--支路功率损耗,O 为相角;Sij--从节点i流向节点j的功率,S--节点复功率,sumdS--网络总损耗;point 为节点矩阵,branch为支路矩阵;[x]=5;%节点数x[y]=5;%支路数ye=0.00001;%误差要求point=[1 1 0 -1.6 -0.8;1 1 0 -2.0 -1.0;1 1 0 -3.7 -1.3;3 1.05 0 5.0 1.05;2 1.05 0 0 1.05];%节点矩阵branch=[1 2 0.04 0.250 0.250 0;1 3 0.10 0.350 0 0;2 3 0.080 0.300 0.300 0;2 4 0.0 0.015 0 1.05;3 5 0.0 0.030 0 1.05;];%支路矩阵TYPE=zeros(x,1);%TYPE为节点类型矩阵U=zeros(x,1);%U为节点电压矩阵a=zeros(x,1);%a为节点电压相角矩阵P=zeros(x,1);%P为节点有功功率Q=zeros(x,1);%Q为节点无功功率I=zeros(y,1);%I为起始节点编号矩阵J=zeros(y,1);%J为终止节点编号矩阵Rij=zeros(y,1);%R为线路电阻Xij=zeros(y,1);%X为线路电抗Zij=Rij+j*Xij;%Yij为线路阻抗Y=zeros(x);%Y为n阶节点导纳方阵G=zeros(x);%G为n阶节点电导方阵B=zeros(x);%B为n阶节点电纳方阵B0=zeros(y,1);%B0为n*1阶线路对地电纳值K=zeros(y,1); %K为ij支路y*1阶变压器变比,若K=0表示无变压器,K=1则为标准变比,K不等于1为非标准变比%------------------------------矩阵赋初值:TYPE=point(:,1);%将point矩阵的第一列赋给TYPE,以下类似U=point(:,2);O=point(:,3);P=point(:,4);Q=point(:,5);I=branch(:,1);J=branch(:,2);Rij=branch(:,3);Xij=branch(:,4);Zij=Rij+j*Xij;B0=branch(:,5);KT=branch(:,6);%------------------------------求节点导纳矩阵Yfor m=1:y %求Y中非对角元元素YijY(I(m),J(m))=-1/Zij(m);Y(J(m),I(m))=-1/Zij(m);end;for m=1:x %求Y中的Yiifor n=1:yif(I(n)==m|J(n)==m)Y(m,m)=Y(m,m)-Y(I(n),J(n))+j*B0(n)/2; % Yii为Yij加上线路对地电导的一半乘j end;end;end;YG=real(Y);%-----------------------求B'矩阵及其逆矩阵B1B=imag(Y);%求Y的虚部,节点电纳矩阵B11=zeros(x,x);for m=1:yB11(I(m),J(m))=1/(Xij(m));B11(J(m),I(m))=1/(Xij(m));end;for m=1:xfor n=1:yif(I(n)==m|J(n)==m)B11(m,m)=B11(m,m)-1/(Xij(n));end;end;end;p=find(TYPE(:,1)==3);%找出平衡节点编号B11(:,p)=[];%平衡节点编号对应行置空B11(p,:)=[];%平衡节点编号对应列置空B11B1=B11;B1=inv(B1);%B1求逆后得B1矩阵%-----------------------%求B''及其逆矩阵B2npq=find(TYPE(:,1)>1);%找出非PQ节点的编号B22=B; %BB矩阵为中间变量B22(:,npq)=[];%非PQ节点编号对应行置空B22(npq,:)=[];%非PQ节点编号对应行置空B22B2=B22;B2=inv(B2);%求得B2矩阵%-------------计算各节点有功功率不平衡量dPik=0; %k为迭代次数ep=0; %计算P不平衡量dPi的收敛标志(0表示不收敛,1表示收敛)eq=0; %计算U不平衡量dQi的收敛标志(0表示不收敛,1表示收敛)np=find(TYPE(:,1)<3);%找出非平衡节点编号dPi=zeros(x-1,1);%dPi为x*1阶矩阵,x即为节点数pq=find(TYPE(:,1)==1);%找出PQ节点编号pqn=size(B2);pqn=pqn(1);%求PQ节点的个数(因B1矩阵的维数等于PQ节点数)dQi=zeros(pqn,1);%dQi为pqn*1阶矩阵while((~eq|~ep)&(k<100))k=k+1;for m=1:(x-1)%求dPisum1=0;for n=1:xsum1=sum1+U(np(m))*U(n)*(G(np(m),n)*cos(O(np(m))-O(n))+B(np(m),n)*sin(O(n p(m))-O(n)));enddPi(m)=P(np(m))-sum1;endUp=U; %Up为中间变量Up(p)=[];%将平衡节点所在行置空Unp=Up;%求得除平衡节点外的电压列向量dO=(-B1*(dPi./Unp))./Unp;%求相角O的不平衡量for m=1:(x-1) %求相角O的新迭代值矩阵O(np(m))=O(np(m))+dO(m);endmax1=abs(dPi(1)/U(np(1)));%求dP/U绝对值的最大值for m=1:(x-2)if abs(dPi(m)/U(np(m)))<abs(dPi(m+1)/U(np(m+1)))max1=abs(dPi(m+1)/U(np(m+1)));endendif max1<=e %如果最大值满足要求,则ep置为"1",表示收敛ep=1;endfor m=1:pqn %求dQisum2=0;for n=1:xsum2=sum2+U(pq(m))*U(n)*(G(pq(m),n)*sin(O(pq(m))-O(n))-B(pq(m),n)*cos(O(pq (m))-O(n)));enddQi(m)=Q(pq(m))-sum2;endUq=U;%Uq为中间变量Uq(npq)=[];%将非PQ节点所在行置空Upq=Uq;%求得包括PQ节点电压的电压列向量dU=-B2*(dQi./Upq);%求U的不平衡量dUmax2=max(abs(dQi./Upq)); %求dQ/U绝对值的最大值if max2<=e %如果最大值满足要求,则eq置为"1",表示收敛eq=1;endfor m=1:pqn %求U的迭代新值U(pq(m))=U(pq(m))+dU(m);endendsum3=0+j*0;%求平衡节点功率Sphfor m=1:xsum3=sum3+conj(Y(p,m))*(U(m)*cos(O(m))-i*U(m)*sin(O(m)));endSph=(U(p)*cos(O(p))+j*U(p)*sin(O(p)))*sum3;%求平衡节点功率disp(U);figure;plot(U);图3 电压幅值经过23次迭代,得到正常运行下的参数,见表3。