王超的潮水上机课程设计报告_第1页
王超的潮水上机课程设计报告_第2页
王超的潮水上机课程设计报告_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、华蛀也力*孑电力系统潮流上机课程设计报告院系:电气与电子工程学院班级:电网1102学号:24学生姓名:王超指导教师:王莉丽设计周数:两周成绩:日期:2013年12月30日、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识、设计正文(详细内容见附录)1.手算要求应用牛顿-拉夫逊法或P-Q分解法手算求解,要求迭代两次。节点1为平衡节点,电压U,=1.05.0,节点2为PQ节点,负荷功率S2=0.8j0.5,节点3是PV节点,P3=0.4,U3=1.05,两条支路分别为Z13=,Z12=,对地支路y30=j0.32. 计算机计算见电脑3.思考题3.1潮流计算的方

2、法有哪些?各有何特点?答:潮流计算方法主要包括:高斯-赛德尔迭代法、牛顿-拉夫逊迭代法、P-Q分解法等算法。各方法特点如下所示:方法咼斯-赛德尔法牛顿-拉夫逊迭代法P-Q分解法初值要求不咼高高迭代次数多少多收敛速度慢较快最快精度一样一样一样应用早期应用多,现在较少广泛应用应用较多3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)答:1.所需要收集的数据:A.电网中所有节点的数据:a.各节点的类型,包括平衡节点、PV节点、PQ节点对于平衡节点要了解节点的电压大小相位、及节点所能提供的最大最小有功无功功率PV节点

3、要知道节点电压大小注入有功功率及节点所能提供的最大和最小无功功.率PQ节点要知道节点的注入有功和无功功率B.电网中所有支路的数据:a. 各支路类型,即是否含有变压器各支路的电阻、电感、电纳b. 各变压器的变比。2数据整理:将上述数据资料进行分类整理,并为每个节点及支路编上编号。将整理的结果写成本实验中所要求的格式(原始数据的txt文档),再用本实验所编制的程序进行求解,得到各节点电压、相位,各线路传输功率、损耗,平衡节点注入功率等数值。3. 计算结果分析:可以大致了解整个电网的运行状况并按照电力系统知识依次进行所需的调整。如调节各节点电压的大小以防止超出规定限度,调整各线路的有功无功分布状况分

4、析整个系统的网损是否达到标准等。3.3设计中遇到的问题和解决的办法。1. 在设计最开始遇到的问题就是由于以前C+语言所学习的知识遗忘较多,对于程序的使用不太熟练,通过老师讲解、看书、询问同学逐渐扫除了这个障碍。2. 设计的时候对于电力系统整体的知识脉络不是很清晰,编写程序时所定义的变量容易弄混淆,编写的程序产生了较多的错误,经过仔细学习和对每一排程序的排查,找出了产生错误的地方。同时也对潮流计算的过程有了更清楚的认识。3. 另外一个要注意的就是C+中数组是从0开始的,课本都是从1开始,这个在编程时要十分注三、课程设计总结或结论将近两周的潮流计算让我不仅对本学期学习的电力系统有了一个更深刻的认识

5、,而且还巩固了我的编程能力和C+的知识。刚开始的几天是熟悉C+上机环境,在老师的简单介绍下,温习了接一个简单的方程组,然后学会了简单的文件的输入和输出以及在电脑上显示你的数据。这些都是简单的应用,在后面的程序编写中都是以这个为基础的。幸运的是,老师给出了几个子程序的例子,不但让我们有了一个参照的标准,并且提高了编程的正确率。元旦过后,正式进入状态,开始大规模编写程序。在课本和老师的指导下,从文件的读入,到形成节点导纳矩阵,都花费了很长时间,在形成雅克比矩阵中,我的程序出现了错误,结果查明是下表没有对应。最后一部分就是计算线路功率和损耗。这部分老师没有给出例子。但是经过这样一个时间的训练,在课本

6、公式的推导下,我把公式分解成实部和虚部,分别计算。在输入时,还是要十分注意下标的对应。最后部分的编写解释主程序,主要是负责把几个已经编号的子程序调用,还要同时编写控制循环精度和次数的条件。这部分主要是应用Break语句和循环,让迭代过程收敛。整个程序的验收是通过验证5节点的一个网络和计算一个9节点的网络,最后应该都达到了预期的目的。通过这次潮流对C+的面向对象编程及其过程有了更深入的了解。对于潮流计算,我更深刻的掌握了牛拉法解潮流方程的方法以及对数学高次多元方程线性化在迭代求解的方法有了更深入的认识。通过这次课程设计,自己动手编写潮流计算的程序,仔细分析了潮流计算各个步骤,理论与实践相结合,对

7、潮流计算的思想和方法以及过程有了更深入的理解。在两周的潮流上机过程中,我完成了程序的编写,掌握了计算机潮流计算的基本方法与步骤,了解了计算机潮流计算的优点与重要性。潮流计算最关键的是进行C+语言的编程,没有良好的C+语言基础很难快速地编出潮流计算程序,编写时需要注意循环和嵌套的使用,我在编写的过程中由于循环没有用好以及粗心等原因,导致多次编出来的程序出现错误,这在潮流计算中都是不应该出现的。另外一个要注意的就是C+中数组是从0开始的,课本都是从1开始,这个在编程时要十分注意。总之,潮流计算设计是一个及时巩固C+编程和电力系统基础知识的良好手段。四、参考文献1. 电力系统计算:电子数字计算机的应

8、用,西安交通大学等合编。北京:水利电力出版社;2. 现代电力系统分析,王锡凡主编,科学出版社;3.电力系统稳态分析,陈珩,中国电力出版社,1995年,第三版;附录(设计流程图、程序、表格、数据等)1设计流程图停止普护心上送课程设计报告电网王超24#includestdafx.h#includefstream#includeiostream#includeDataFormm.h#includeNEquation.h#includemath.husingnamespaceSystem;usingnamespacestd;#definePI3.1415926voidDataRead();voidFo

9、rmY();voidVoltagelnitial();voidSetUnbalance();voidFormJacobi();voidGetRevised();voidGetNewVoltageValue();voidBusBalance();voidBranchPQ();voidBranceLoss();intmain(arrayAargs)/主程序intk,flag;floatmm,DeltaU2*(BusNum-1);DataRead();FormY();Voltagelnitial();for(k=O;k1OO;k+)SetUnbalance();FormJacobi();GetRev

10、ised();GetNewVoltageValue();mm=fabs(DeltaUO);for(inti=1;i2*(BusNum-1);i+)if(mmfabs(DeltaUi)mm=fabs(DeltaUi);if(mmvPrecision)/满足精度退出循环break;coutvvk;BusBalance();BranchPQ();BranceLoss();Console:WriteLine(LHelloWorld);return0;voidDataRead()/节点、支路数据读入子程序ifstreaminfile1;infile1.open(BranchData2.txt);for(

11、inti=O;iBranchi.NumBranchi.BusFirstBranchi.BusEndBranchi.RBranchi.XBranchi.BBranchi.K;infile1.close();ifstreaminfile2;infile2.open(BusData2.txt);for(inti=O;iBusi.NumBusi.BusTypeBusi.VoltageBusi.PhaseBusi.PgBusi.QgBusi.PIBusi.Ql;infile2.close();voidFormY()/形成节点导纳矩阵子程序for(inti=O;iBusNum;i+)for(intj=O;

12、jBusNum;j+)Gij=0;Bij=0;intm,n;/设置两个变量分别存储之路手摸节点的编号for(inti=0;iBranchNum;i+)/以支路循环floatGG,BB,B0,G1,G2,B1,B2;m=Branchi.BusFirst-1;/减是因为数组下标从开始,节点号从开始n=Branchi.BusEnd-1;/以下为变压器变比不唯Branchi.R=Branchi.K*Branchi.R;Branchi.X=Branchi.K*Branchi.X;/将变压器变比引起的对地之路转换成电(=_=哪里?G1=(1-Branchi.K)/(Branchi.K*Branchi.K)

13、/(Branchi.R*Branchi.R+Branchi.X*Branchi.X)*Branchi.R;B1=-(1-Branchi.K)/(Branchi.K*Branchi.K)/(Branchi.R*Branchi.R+Branchi.X*Branchi.X)*Branchi.X;/将变压器变比引起的对地之路换成daona,末端G2=(Branchi.K-1)/Branchi.K/(Branchi.R*Branchi.R+Branchi.X*Branchi.X)*Branchi.R;B2=-(Branchi.K-1)/Branchi.K/(Branchi.R*Branchi.R+Bra

14、nchi.X*Branchi.X)*Branchi.X;/变压器非标准变比处理完毕GG=Branchi.R/(Branchi.R*Branchi.R+Branchi.X*Branchi.X);BB二Branchi.X/(Branchi.R*Branchi.R+Branchi.X*Branchi.X);BO=Branchi.B;/接地数据Gmm+=GG+G1;Gmn-=GG;Gnm-=GG;Gnn+=GG+G2;Bmm+=BB+B0+B1;Bmn-=BB;Bnm-=BB;Bnn+=BB+B0+B2;ofstreamoutfile1(resultY2.txt);for(inti=0;iBusNum

15、;i+)for(intj=0;jBusNum;j+)outfile1GijvvtBijt;outfile1endl;outfile1.close();voidVoltagelnitial()/设置节点电压子程序for(inti=0;iBusNum;i+)if(Busi.BusType=3)Uei=1.04;Ufi=0.0;elseUei=1.0;Ufi=0.0;coutvUeivvUfivvendl;voidSetUnbalance()/计算功率不平衡量子程序for(inti=1;iBusNum;i+)Pi=0;Qi=0;for(intj=0;jBusNum;j+)Pi=Pi+Uei*(Gij

16、*Uej-Bij*Ufj)+Ufi*(Gij*Ufj+Bij*Uej);Qi=Qi+Ufi*(Gij*Uej-Bij*Ufj)-Uei*(Gij*Ufj+Bij*Uej);coutvPivvvQivvendl;if(Busi.BusType=1)/PQDeltaPi=Busi.Pg-Busi.PI-Pi;DeltaQU2i=Busi.Qg-Busi.QI-Qi;elseif(Busi.BusType=2)PVDeltaPi=Busi.Pg-Busi.PI-Pi;DeltaQU2i=Busi.Voltage*Busi.Voltage-(Uei*Uei+Ufi*Ufi);for(inti=0;iB

17、usNum-1;i+)Delta2*i=DeltaPi+1;Delta2*i+1=DeltaQU2i+1;/形成delta值ofstreamoutfile2(Delta2.txt);for(intj=0;j2*(BusNum-1);j+)outfile2Deltajvvendl;outfile2.close();voidFormJacobi()/形成雅各比矩阵子程序floatHBusNum-1BusNum-1,NBusNum-1BusNum-1,JBusNum-1BusNum-1,LBusNum-1BusNum-1;floataBusNum,bBusNum;for(inti=1;iBusNum

18、;i+)ai=Gii*Uei-Bii*Ufi;b【i=G【i【i*Ufi+B【i【i*Ue【i;for(intj=0;jBusNum;j+)if(j!=i)ai=ai+(Gij*Uej-Bij*Ufj);bi=bi+(Gij*Ufj+Bij*Uej);for(inti=1;iBusNum;i+)for(intj=1;jBusNum;j+)if(i=j)Hii=-Bii*Uei+Gii*Ufi+bi;N【i【i=G【i【i*Ue【i+B【i【i*Ufi+a【i;if(Busi.BusType=1)Jii=-Gii*Uei-Bii*Ufi+ai;Lii=-Bii*Uei+Gii*Ufi-bi;el

19、seif(Busi.BusType=2)Jii=2*Ufi;Lii=2*Uei;elseif(i!=j)Hij=-Bij*Uei+Gij*Ufi;Nij=Gij*Uei+Bij*Ufi;if(Busi.BusType=1)Jij=-Gij*Uei-Bij*Ufi;Lij=-Bij*Uei+Gij*Ufi;elseif(Busi.BusType=2)Jij=0;Lij=0;for(inti=0;iBusNum-1;i+)for(intj=0;jBusNum-1;j+)Jacobi2*i2*j=Hi+1j+1;Jacobi2*i2*j+1=Ni+1j+1;Jacobi2*i+12*j=Ji+1j+

20、1;Jacobi2*i+12*j+1=Li+1j+1;ofstreamoutfile4;outfile4.open(Jacobi2.txt);for(inti=0;i2*(BusNum-1);i+)for(intj=0;j2*(BusNum-1);j+)outfile4vJacobiijvvt;outfile4endl;outfile4.close();voidGetRevised()/求解修正方程得到电压增量子程序NEquationObject;/建立一个对象Object.SetSize(2*(BusNum-1);/设置矩阵的维数ifstreaminfile1;infile1.open(Ja

21、cobi2.txt);for(inti=0;i2*(BusNum-1);i+)for(intj=0;j2*(BusNum-1);j+)Object.Data(i,j)=Jacobiij;infile1Object.Data(i,j);infile1.close();ifstreaminfile2;infile2.open(Delta2.txt);for(inti=0;i2*(BusNum-1);i+)infile2Object.Value(i);infile2.close();Object.Run();for(inti=0;i(BusNum-1);i+)DeltaUi=Object.Value

22、(i);DeltaUfi=Object.Value(2*i);DeltaUei=0bject.Value(2*i+1);DeltaU2*i=DeltaUfi;DeltaU2*i+1=DeltaUei;结果输岀ofstreamoutfile5(revisedequation2.txt);for(intj=0;j2*(BusNum-1);j+)outfile5vDeltaU|jvvendl;outfile5.close();voidGetNewVoltageValue()/得到新的电压子程序for(inti=0;iBusNum-1;i+)if(Busi.BusType!=3)Uei+1+=Delt

23、aUei;Ufi+1+=DeltaUfi;ofstreamoutfile6(newvoltagevalue2.txt);for(inti=0;iBusNum-1;i+)if(Busi.BusType=1|Busi.BusType=2)outfile6vUei+1vvvUfi+1vendl;outfile6.close();voidBusBalance()/计算平衡节点功率子程序for(inti=0;ivBusNum;i+)if(Busi.BusType=3)Pi=0.0;Qi=0.0;for(intj=0;jvBusNum;j+)/有功/无功/有功/无功Pi+=Uei*(Gij*Uej-Bij

24、*Ufj)+Ufi*(Gij*Ufj+Bij*Uej);Qi+=Ufi*(Gij*Uej-Bij*Ufj)-Uei*(Gij*Ufj+Bij*Uej);ofstreamoutfile7(BusBalance2.txt);for(inti=0;ivBusNum;i+)if(Busi.BusType=3)outfile7vvPivvtvvQivvendl;outfile7.close();voidBranchPQ()/计算支路功率子程序floatB0;for(inti=0;iBusNum;i+)for(intj=0;jBusNum;j+)if(i!=j&(Gij)!=0&(Bij)!=0)B0=Branchi.B;BranchPij=Uei*(-Ufi*B0+Uei*0+(Uei-Uej)*Gij-(Ufi-Ufj)*Bij)+Ufi*(Uei*B0+Ufi*0+(Ue【i-Uej)*B【ij+(Ufi-Ufj)*G【ij);BranchQij=Ufi*(-Ufi*B0+Uei*0+(Uei-Uej)*Gij-(Ufi-Ufj)*Bij)-Uei*(Uei*B0+Uf

温馨提示

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

评论

0/150

提交评论