电力系统课程设计用C语言进行复杂电力系统的潮流计算_第1页
电力系统课程设计用C语言进行复杂电力系统的潮流计算_第2页
电力系统课程设计用C语言进行复杂电力系统的潮流计算_第3页
电力系统课程设计用C语言进行复杂电力系统的潮流计算_第4页
电力系统课程设计用C语言进行复杂电力系统的潮流计算_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、电力系统课程设计报告班级: 学号: 姓名: 2013年3月 7日用c语言进行复杂电力系统的潮流计算电力系统的潮流计算是对电力系统分析的最基本步骤也是最重要的步骤,是指在一定的系统结构和运行条件下,确定系统运行状态的计算,也即是对各母线(节点)电压,各元件(支路)传输电线或功率的计算。通过计算出的节点电压和功率分布用以检查系统各元件是否过负荷,各点电压是否合理,以及功率损耗等。即使对于一个简单的电力系统,潮流计算也不是一件简单就可以完成的事,其运算量很大,因此如果对于一个大的、复杂的电网来说的话,由于其节点多,分支杂,其计算量可想而知,人工对其计算也更是难上加难了。特别是在现实生活中,遇到一个电

2、力系统不会像我们期望的那样可以知道它的首端电压和首端功率或者是末端电压和末端功率,而是只知道它的首端电压和末端功率,更是使计算变的头疼万分。为了使计算变的简单,我们就可以利用计算机,用c语言编程来实现牛顿-拉夫逊(newton-raphson)迭代法,最终实现对电力系统潮流的计算。 一 用牛顿-拉夫逊迭代法进行电力系统潮流计算的相关概念1.节点导纳矩阵如图所示的电力网络,将节点i和j的电压用i和j表示,它们之间的支路导纳表示为yij,那么有基尔霍夫电流定律可知注入接点i的电流i(设流入节点的电流为正)等于离开节点i的电流之和,因此有 j i (1-1) (1-2)如令 则可将(1-2)改写为:

3、 i=1,2,n. (1-3)上式也可以写为: i=yu (1-4)其中y为节点导纳矩阵,也称为稀疏的对称矩阵,它是nn阶方阵。对角元yii称为自导纳,它等于与该节点i直接相连的所有支路导纳总和;非对角元yij(ij)称为互导纳或转移导纳,它等于连结节点i,j支路导纳的负数,且有yij=yji,当节点i,j之间没有支路直接相连时,yij=yji=0。电力系统的分析计算中,往往要作不同的运行方式下的潮流计算,如果系统发生变化,如投切一条线路或一台变压器,由于改变了一条支路的状态或参数只影响该支路两端节点的自导纳和他们之间的互导纳,因而对每一种运行方式不必重新形成导纳矩阵,只需对原有导纳矩阵作相应

4、的修改即可。2潮流计算的功率方程在实际的电力系统中,已知的条件往往不是节点的注入电流而是负荷和发电机功率,且这些功率一般不随节点的电压变化而变化,而节点的电流则是随电压的变化而变化的,因此在已知节点导纳矩阵的情况下,必须用已知的节点功率来替代未知的节点注入电流,才能求出节点电压,每一个节点的注入功率方程式为:g i (1-5) (1-6) (1-7)节点注入电流用功率和电压表示为:(1-8)功率方程可以表示为: (1-9)3节点分类对于有n个节点的电力网络,可以列出n个功率方程,由图可知一个节点有四个变量:注入有功功率pi,注入无功功率qi,节点电压幅值ui和相角。n个节点有4n个变量,但只有

5、2n个关系式,所以为了使潮流有确定解,必须给定其中2n个变量。根据给定节点变量的不同,可以有以下三种类型的节点:(1) pq节点:给定注入功率pi,qi,即已知pgi,pli,qgi,qli,待求ui,i。例如:降压变电所母线(负荷节点),固定出力的发电厂母线。(2) pv节点:给定了注入有功功率pi(pgi,pli),ui和qli,待求qgi(qi),i。例如:有一定无功电源的降压变电所母线,有一定储备的发电厂母线。(3) 平衡节点:给定了ui,i和pli ,qli,待求pgi ,qgi,即pi,qi,用来平衡全电网的功率,通常在一个独立的电力系统中只设一个平衡节点。4牛顿-拉夫逊迭代法牛顿

6、-拉夫逊迭代法将解非线性方程组的过程转化为反复求与之相对应的线性方程的求解过程。对于一个n维非线性方程组: n=1,2,3,n假定其初值为x1(0),x2(0),xn(0),也即其近似解,它与真值之间的误差为也即各变量与真解之间的修正量。将这n个方程式都在初值的附近展开成taylor级数且忽略二次项及高次项,则可得修正方程, i=1,2,n. (1-10)将修正方程写成矩阵形式: (1-11)其中令j= ,称之为雅可比(jacobi)方阵。它的第i行,第j列交点的元素为第i个函数对第j个变量xj的偏导数在点(x1(0),x2(0),xn(0))的值,所以方程组是线性方程,可用于求出,从而得到新

7、的近似解, (1-12)于是得到一般迭代式: (1-13)于是得到近似解: (1-14)迭代一直进行到max|yi-fi(x1(0),x2(0),xn(0)|或max|xi(k)|km?增大迭代次数,k-k+1计算各节点电压新值:置迭代次数k=1计算pi(k), qi(k), ui(k)2迭代是否收敛,|e(k)|max、|f(k)|max?设节点电压初值ei(0),fi(0)停止计算平衡节点功率和线路功率求出|e(k)|max、|f(k)|max求各节点电压变量ei(k), fi(k)形成雅可比矩阵形成节点导纳矩阵yb输入原始数据开始始 否 是 否是四 用编程方法求解实际问题 如图所示的一个

8、电力网络,如何来求解它的潮流分布呢? 已知: 为定值,其余四个节点都是pq节点,且给定的注入功率分别为:程序清单如下:#include #include float divre(b1,b2,b3,b4) float b1,b2,b3,b4; float a1r; a1r=(b1*b3+b2*b4)/(b3*b3+b4*b4); return(a1r); float divim(b1,b2,b3,b4) float b1,b2,b3,b4; float a1i; a1i=(b2*b3-b1*b4)/(b3*b3+b4*b4); return(a1i); float mulre(b1,b2,b3,

9、b4) float b1,b2,b3,b4; float a2r; a2r=b1*b3-b2*b4; return(a2r); float mulim(b1,b2,b3,b4) float b1,b2,b3,b4; float a2i; a2i=b2*b3+b1*b4; return(a2i); float max(float a,int n) int i; float max; for(i=0;iai+1) max=ai;ai=ai+1;ai+1=max; return(max); main() int i,j,k,n,km; float eps,sumpi1,sumpi2,sumqi1,s

10、umqi2,max,sumir,sumii,i1r,i1i; float pi05,qi05,detpi5,detqi5,iir05,iii05,j088,detsi8,detui8, u88,l88,y8,ui18,h44,n44,j44,l44,ei15,fi15; static float ybr55=6.250,-5.000,-1.250,0,0,-5.000,10.834,-1.667,-1.667,-2.500,-1.250,-1.667,12.917,-10.000,0,0,-1.667,-10.000,12.917,-1.250,0,-2.500,0,-1.250,3.750;

11、 static float ybi55=-18.750,15.000,3.750,0,0,15.000,-32.500,5.000,5.000,7.500,3.750,5.000,-38.750,30.000,0,0,5.000,30.000,-38.750,3.750,0,7.500,0,3.750,-11.250; float ei05=1.06,1.0,1.0,1.0,1.0; float fi05=0,0,0,0,0; float pi5=0,0.2,-0.45,-0.4,-0.6; float qi5=0,0.2,-0.15,-0.05,-0.1; k=0; km=6; eps=0.

12、00001; do k+=1; printf(now start.n); printf(the %d timesn,k); for(i=1;i5;i+) printf(pi%d=%f,i,pii); sumpi2=0; sumqi2=0; for(i=1;i5;i+) for(j=0;j5;j+) sumpi1=(ei0i*(ybrij*ei0j-ybiij*fi0j)+fi0i*(ybrij*fi0j+ybiij*ei0j); sumpi2+=sumpi1; pi0i=sumpi2; printf(pi0%d=%ft,i,pi0i); sumpi2=0; for(i=1;i5;i+) for

13、(j=0;j5;j+) sumqi1=(fi0i*(ybrij*ei0j-ybiij*fi0j)-ei0i*(ybrij*fi0j+ybiij*ei0j); sumqi2+=sumqi1; qi0i=sumqi2; printf(qi0%d=%ft,i,qi0i); sumqi2=0; for(i=1;i5;i+) detpii=pii-pi0i; detqii=qii-qi0i; printf(detpi%d=%ft,i,detpii); printf(detqi%d=%ft,i,detqii); for(i=1;i5;i+) iir0i=divre(pi0i,-qi0i,ei0i,-fi0

14、i); iii0i=divim(pi0i,-qi0i,ei0i,-fi0i); printf(iir0%d=%ft,i,iir0i); printf(iii0%d=%ft,i,iii0i); for(i=0;i4;i+) for(j=0;j4;j+)if(i=j) hij=-ybii+1j+1*ei0i+1+ybri+1j+1*fi0i+1+iii0i+1; nij=ybri+1j+1*ei0i+1+ybii+1j+1*fi0i+1+iir0i+1; jij=-ybri+1j+1*ei0i+1-ybii+1i+1*fi0i+1+iir0i+1; lij=-ybii+1j+1*ei0i+1+yb

15、ri+1j+1*fi0i+1-iii0i+1;else hij=ybri+1j+1*fi0i+1-ybii+1j+1*ei0i+1; nij=ybri+1j+1*ei0i+1+ybii+1j+1*fi0i+1; jij=-ybii+1j+1*fi0i+1-ybri+1j+1*ei0i+1; lij=ybri+1j+1*fi0i+1-ybii+1j+1*ei0i+1; for(i=0;i8;i+) for(j=0;j8;j+)if(i%2=0&j%2=0) j0ij=hi/2j/2;else if(i%2=0&j%2!=0) j0ij=ni/2(j-1)/2;else if(i%2!=0&j%2

16、=0) j0ij=j(i-1)/2j/2;else j0ij=li/2(j-1)/2; for(i=0;i8;i+) for(j=0;j8;j+) printf(j0%d%d=%ft,i,j,j0ij); for(i=0;i8;i+)if(i%2=0) detsii=detpi(i+2)/2; else detsii=detqi(i+1)/2; printf(detsi%d=%ft,i,detsii); for(i=0;i8;i+) uii=1.000; for(n=0;n8;n+) for(i=n;i8;i+) lin=j0in; for(j=0;j=n-1;j+) lin-=(lij*uj

17、n); for(j=n+1;j8;j+) unj=j0nj; for(i=0;i=n-1;i+) unj-=(lni*uij); unj/=lnn; for(i=0;i8;i+) yi=detsii; for(j=0;j=0;i-) detuii=yi; for(j=i+1;jn;j+) detuii-=(uij*detuij); for(i=0;i8;i+) printf(detui%d=%ft,i,detuii); for(i=0;i8;i+) if(i%2=0) ui1i=detuii+fi0i/2+1; else ui1i=detuii+ei0(i+1)/2; printf(ui1%d

18、=%ft,i,ui1i); for(i=1;i5;i+) ei1i=ui12*i-1; fi1i=ui12*i-2; for(i=1;i5;i+) printf(ei1%d=%ft,i,ei1i); printf(fi1%d=%ft,i,fi1i); max=max(detui,8); printf(max=%f,max); for(i=1;i5;i+) ei0i=ei1i; fi0i=fi1i; for(i=1;ieps&kkm); printf(all do %d timesn,k); sumir=0; sumii=0; for(i=0;i5;i+) i1r=mulre(ybr0i,-ybi0i,ei0i,-fi0i); i1i=mulim(ybr0i,-ybi0i,ei0i,-fi0i); sumir+=i1r; sumii+=i1i; pi0=mulre(ei00,fi00,sumir,sumii); qi0=mulim(ei00,fi00,sumir,sumii); printf(s1=%f+j%fn,pi0,qi0); ei10=ei00;

温馨提示

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

最新文档

评论

0/150

提交评论