电力系统课程设计(第四讲)_第1页
电力系统课程设计(第四讲)_第2页
电力系统课程设计(第四讲)_第3页
电力系统课程设计(第四讲)_第4页
电力系统课程设计(第四讲)_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电力系统课程设计电力系统课程设计第四讲第四讲: : 潮流程序的实现潮流程序的实现王康元王康元浙江大学电气工程学院浙江大学电气工程学院 Outlinev潮流计算程序的流程潮流计算程序的流程v数据文件的建立数据文件的建立v节点编号节点编号v节点导纳矩阵的形成节点导纳矩阵的形成v 网络方程的求解网络方程的求解潮流方程的牛顿潮流方程的牛顿拉夫逊迭代(拉夫逊迭代(1)程序流程:程序流程:(1 1)输入初始数据,节点编号,形成节点导纳矩阵。)输入初始数据,节点编号,形成节点导纳矩阵。(2 2)对于初始值)对于初始值 和和 ,求出功率偏差,求出功率偏差 和和(0)P(0)Q(0)(0)(0)1(0)(0)(

2、0)1(cossin)(sincos)niisijijijijijjniisijijijijijjPPUUGBQQUUGB(0)(0)U潮流方程的牛顿潮流方程的牛顿拉夫逊迭代(拉夫逊迭代(2 2(0)(0)(0)1(0)(0)DPJUUQ(2 2)依据公式算出雅可比矩阵)依据公式算出雅可比矩阵(3 3)应用高斯消元法解线性方程组,得到)应用高斯消元法解线性方程组,得到 、(0)(0)U(0)J(4 4)依据如下公式计算修正量,并形成迭代公式:)依据如下公式计算修正量,并形成迭代公式:这样反复迭代计算,直至所有节点这样反复迭代计算,直至所有节点| |U|U|和和| |0表示变压器线路的非标准变比

3、;表示变压器线路的非标准变比; line = 1 2 0.04 0.25 0.0 0.25 0; 1 3 0.10 0.35 0.0 0.0 0; 2 3 0.08 0.30 0.0 0.25 0; 5 3 0.00 0.03 0.0 0.0 1.05; 4 2 0.00 0.015 0.0 0.0 1.05;完整的潮流计算数据文件test.m% (bus#)(volt)(ang)(p)(q)(bus type)bus= 1 1.00 0.00 -1.60 -0.80 1; 2 1.00 0.00 -2.00 -1.00 1; 3 1.00 0.00 -3.70 -1.30 1; 4 1.05

4、 0.00 5.00 0.00 2; 5 1.05 0.00 0.00 0.00 3;% b#1 b#2 ( R )( X )( G )( B ) ( K )line = 1 2 0.04 0.25 0.0 0.25 0; 1 3 0.10 0.35 0.0 0.0 0; 2 3 0.08 0.30 0.0 0.25 0; 5 3 0.00 0.03 0.0 0.0 1.05; 4 2 0.00 0.015 0.0 0.0 1.05; 节点重新编号的问题v在前面讲到的电力系统的潮流计算中,总是假设节点编号依在前面讲到的电力系统的潮流计算中,总是假设节点编号依据据PQ节点、节点、PV节点、平衡节

5、点的次序进行编号的。节点、平衡节点的次序进行编号的。v但是,实际电力系统的节点编号具有一定的随意性,并不总但是,实际电力系统的节点编号具有一定的随意性,并不总是按照这个原则形成原始数据的。是按照这个原则形成原始数据的。v此外,有些时候需要改变节点类型,如改变原来的平衡节点此外,有些时候需要改变节点类型,如改变原来的平衡节点3为为PV节点,将原来的节点,将原来的PV节点节点4变为平衡节点等。变为平衡节点等。v因此,当原始节点数据不按照因此,当原始节点数据不按照PQ节点、节点、PV节点、平衡节点节点、平衡节点的次序进行编号时,需要我们自己写一个节点重新编号子程的次序进行编号时,需要我们自己写一个节

6、点重新编号子程序。序。 例如,当原始数据如下时,如何将节点按照例如,当原始数据如下时,如何将节点按照PQ节点、节点、PV节点、平衡节点的节点、平衡节点的次序排列,并重新编号。次序排列,并重新编号。 bus = 1 1.0300 0.00 7.00 0.00 2 ; 2 1.0100 0.00 7.00 0.00 2 ; 3 1.0300 0.00 0.00 0.00 3 ; 4 1.0100 0.00 7.00 0.00 2 ; 5 1.0000 0.00 0.00 0.00 1 ; 6 1.0000 0.00 0.00 0.00 1 ; 7 1.0000 0.00 -9.67 -1.00 1

7、 ; 8 1.0000 0.00 0.00 0.00 1 ; 9 1.0000 0.00 -17.67 -1.00 1 ; 10 1.0000 0.00 0.00 0.00 1 ; 11 1.0000 0.00 0.00 0.00 1 ; line = 1 5 0.0 0.016667 0 0.00 1.0 ;5 6 0.0025 0.025 0 0.04375 0 ;2 6 0.0 0.0167 0 0.00 1.0 ; 6 7 0.001 0.01 0 0.0175 0 ;7 8 0.011 0.110 0 0.1925 0 ;7 8 0.011 0.110 0 0.1925 0 ;8 9

8、 0.011 0.110 0 0.1925 0 ;8 9 0.011 0.110 0 0.1925 0 ;9 10 0.001 0.01 0 0.0175 0 ;4 10 0.0 0.016667 0 0.00 1.0 ;10 11 0.0025 0.025 0 0.04375 0 ;3 11 0.0 0.016667 0 0.00 1.0 ;7 0 0.0 0.0 0 2.10 0;9 0 0.0 0.0 0 3.60 0; 具体实现步骤如下: (1 1)首先依据)首先依据bus确定系统的确定系统的PQ节点、节点、PV节点、平衡节点数分别为节点、平衡节点数分别为nPQ、nPV和和nSW,并分

9、别将并分别将PQ节点、节点、PV节点、平衡节点的数据分别放入数节点、平衡节点的数据分别放入数组组PQ、PV和和SW中:中: nb,mb=size(bus); nl,ml=size(line); nSW = 0; % number of swing bus counter nPV = 0; % number of PV bus counter nPQ = 0; % number of PQ bus counter for i = 1:nb, % nb为总节点数 type= bus(i,6); if type = 3, nSW = nSW + 1; % increment swing bus co

10、unter SW(nSW,:)=bus(i,:); elseif type = 2, nPV = nPV +1; % increment PV bus counter PV(nPV,:)=bus(i,:); else nPQ = nPQ + 1; % increment PQ bus counter PQ(nPQ,:)=bus(i,:); end end; (2)按照PQ节点、PV节点、平衡节点的次序形成bus数据,并建立节点编号的对应关系: bus=PQ;PV;SW; newbus=1:nb; nodenum=newbus bus(:,1); bus(:,1)=newbus; nodenum

11、= 1 5 2 6 3 7 4 8 5 9 6 10 7 11 8 1 9 2 10 4 11 3 (3 3)依据新的节点编号修改)依据新的节点编号修改line数据:数据: for i=1:nl for j=1:2 for k=1:nb if line(i,j)=nodenum(k,2) line(i,j)=nodenum(k,1); break end end end end line = .1 5 0.0 0.016667 0 0.00 1.0 ;5 6 0.0025 0.025 0 0.04375 0 ;2 6 0.0 0.0167 0 0.00 1.0 ; 6 7 0.001 0.01

12、 0 0.0175 0 ;7 8 0.011 0.110 0 0.1925 0 ;7 8 0.011 0.110 0 0.1925 0 ;8 9 0.011 0.110 0 0.1925 0 ;8 9 0.011 0.110 0 0.1925 0 ;9 10 0.001 0.01 0 0.0175 0 ;4 10 0.0 0.016667 0 0.00 1.0 ;10 11 0.0025 0.025 0 0.04375 0 ;3 11 0.0 0.016667 0 0.00 1.0 ;7 0 0.0 0.0 0 2.10 0;9 0 0.0 0.0 0 3.60 0; (4)在潮流计算完成后还

13、需要重新将计算结果重新还原为原来的节点编号:这一部分的方法与前面刚好相反,这里就不重复了,请同学们自己好好琢磨一下。 设电压幅值和相角的初值设迭代次数 M=0M Mmax?NOYES不收敛,停止迭代2 数据文件的打开数据文件的打开dfile,pathname=uigetfile(*.m,Select Data File);if pathname = 0 error( you must select a valid data file)else lfile =length(dfile); % strip off .m eval(dfile(1:lfile-2);end注:全局变量的定义:glob

14、al 将结果输入到文件将结果输入到文件向向output.datoutput.dat写入数据:写入数据: myf=fopen(I:mfilesoutput.dat,w);myf=fopen(I:mfilesoutput.dat,w); fprintf(myf, -Linear equation input data-n); fprintf(myf, -Linear equation input data-n); for i=1:n, for i=1:n, for j=1:n, for j=1:n, fprintf(myf, %8.4f , a(i,j); fprintf(myf, %8.4f ,

15、 a(i,j); end end fprintf(myf, | %8.4f, b(i); fprintf(myf, | %8.4f, b(i); fprintf(myf, n); fprintf(myf, n); end end fclose(myf); fclose(myf);如果执行结果如下:如果执行结果如下:-Linear equation input data-Linear equation input data- 0.4721 0.2352 -0.2613 0.8421 | -0.2317 0.4721 0.2352 -0.2613 0.8421 | -0.2317 0.2352 0

16、.7411 -0.0463 0.1569 | 0.3219 0.2352 0.7411 -0.0463 0.1569 | 0.3219 -0.2613 -0.0463 -0.8955 0.1748 | 0.6217 -0.2613 -0.0463 -0.8955 0.1748 | 0.6217 0.8421 0.1569 0.1748 0.9841 | 0.9838 0.8421 0.1569 0.1748 0.9841 | 0.9838function Y= y(bus,line)function Y= y(bus,line)节点导纳矩阵的形成子函数节点导纳矩阵的形成子函数n读取读取原始数据

17、原始数据,可以得到:,可以得到:nZt=R+jXZt=R+jX;nYt=1/Zt;Yt=1/Zt;nYm=G+jB/2;Ym=G+jB/2;n设导纳矩阵为设导纳矩阵为Y Y,开始设开始设Y=0Y=0(1)普通线路(k0,j不等于0)TyijmYY(I,I)=Y(I,I)+Yt+Ym;Y(I,I)=Y(I,I)+Yt+Ym;Y(J,J)=Y(J,J)+Yt+Ym;Y(J,J)=Y(J,J)+Yt+Ym;Y(I,J)=Y(I,J)-Yt;Y(I,J)=Y(I,J)-Yt;Y(J,I)=Y(I,J)Y(J,I)=Y(I,J); (2)对于对地支路:k0,j0 imYY(I,I)=Y(I,I)+Ym;

18、Y(I,I)=Y(I,I)+Ym; 3)变压器支路(K0,非标准变比在j侧)*1 : KijTymY*/TyK*2*1TKyK*1TKyKijmY Y(I,I)=Y(I,I)+Yt+Ym;Y(I,I)=Y(I,I)+Yt+Ym; Y(J,J)=Y(J,J)+Yt/K/K; Y(J,J)=Y(J,J)+Yt/K/K; Y(I,J)=Y(I,J)-Yt/K; Y(I,J)=Y(I,J)-Yt/K; Y(J,I)=Y(I,J); Y(J,I)=Y(I,J); 4)变压器支路(k0 % 变压器线路变压器线路: Zt和和Ym为折算到为折算到i侧的值侧的值,K在在j侧侧v Y(I,I)=Y(I,I)+Yt

19、+Ym;v Y(J,J)=Y(J,J)+Yt/K/K;v Y(I,J)=Y(I,J)-Yt/K;v Y(J,I)=Y(I,J);v endv if K0 % 变压器线路变压器线路: Zt和和Ym为折算到为折算到K侧的值侧的值,K在在i侧侧v Y(I,I)=Y(I,I)+Yt+Ym;v Y(J,J)=Y(J,J)+K*K*Yt;v Y(I,J)=Y(I,J)+K*Yt;v Y(J,I)=Y(I,J);v endvend计算功率偏差11(cossin)0 1,2,1-(sincos)01,2,niisijijijijijjniisijijijijijjPPUU GBinQQUU GBimfunct

20、ion delP,delQ =dPQ(Y,bus)雅可比矩阵雅可比矩阵的计算子函数的计算子函数function J=form_jac(bus,Y)雅可比矩阵的形成是潮流计算中最关键的子程序之一,下雅可比矩阵的形成是潮流计算中最关键的子程序之一,下面将讲解它的形成过程。面将讲解它的形成过程。 v设一个系统,含有设一个系统,含有n个节点,其中个节点,其中m个个PQ节节点,点,1个平衡节点,个平衡节点,n-m-1个个PV节点,则节点,则1DPHNQKLUU12DmUUUU121nPPPP12mQQQQ121n12mUUUU其中其中HNJKL(1)( -1) ( -1)(2)( -1)(3)( -1)

21、(4)iijjiijjjiijjiijjjPHnnHPNnmNUUQKmnKQLm mLUU是阶矩阵:是阶矩阵:是阶矩阵:是阶矩阵: 在程序实现中,通常分两种情况:在程序实现中,通常分两种情况: (1) ij(sincos)(1,1)(cossin)(11,1)(cossin)(1,11)(sincosiijijijijijijjiijjijijijijijjiijijijijijijijjiijjijijijijijjPHUUGBi jnPNUUUGBinjmUQKUUGBNimjnQLUUUGBU -)(1,)ijHi jm12121(sincos)(11)(cossin)2(1)(cos

22、sin)2(1)niiiijijijijijjij iniiiiijijijijijiiijij iniiiijijijijijiiiiijij iiiiiiiPHUUGBinPNUUUGBU GimUQKUUGBNU GimQLUUU-221(sincos)22(1)njijijijijiiiiiiiijj iUGBU BHU Bim-(2) ij2222iiiiiiiiiiiiiiiiiiiiiiiiHUBQNUGPKUGPLUBQ-11(cossin) (sincos)niijijijijijjniijijijijijjPUU GBQUU GB线性方程组求解高斯选列主元消去法高斯选列主元

23、消去法11121(1)11121121222(1)212222(1)1(1)2(1)(1)(1)1(1)2(1)1111121(1)11121221222(1)2122nmnmnnnnnnnmnnmnmHHHNNNPHHHNNNPHHHNNNPQKKKLLLQKKKLLQ1211122212(1)12/nmmmmmm nmmmmUUUULUUKKKLLL 计算线路损耗和线路潮流v线路损耗的求取是潮流计算中最后的子程序线路损耗的求取是潮流计算中最后的子程序之一,下面将讲解它的形成过程。之一,下面将讲解它的形成过程。 v设一个系统,含有设一个系统,含有n个节点,其中个节点,其中m个个PQ节节点,点

24、,1个平衡节点,个平衡节点,n-m-1个个PV节点。通过牛节点。通过牛顿拉夫逊法可以求出了所有顿拉夫逊法可以求出了所有PQ节点的电压、节点的电压、PQ节点和节点和PV节点的相角,即已知节点的相角,即已知 121.Tn12.TmUUUv至此,我们可以得到整个系统的节点电压和至此,我们可以得到整个系统的节点电压和相角相角 121nn121nnUUUUUv在已知所有节点电压和相角之后,可以通过公式求在已知所有节点电压和相角之后,可以通过公式求出所有出所有PV节点的无功注入节点的无功注入Q和平衡节点的有功和无和平衡节点的有功和无功功率注入,即功功率注入,即 v至此,我们得到了所有节点(包括平衡节点)的四至此,我们得到了所有节点(包括平衡节点)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论