




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告( 2011- 2012年度第一学期)名 称:电力系统潮流上机 院 系:电气与电子工程学院 班 级: 电管0902 学 号: 1091140202 学生姓名: 指导教师: 麻秀范 设计周数: 两周 成 绩: 日期: 2011年1月6日 课程设计报告一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1、手算在此我们同样采取计算机计算这种方便快捷的方法。具体的方法及结果见附录。2、计算机计算通过计算机编程,我们可以很方便的求解出相关量,其具体计算方法及计算结果见附录。3、思考题答案见附录。三、课程设计总结或结论潮流计算是研究电力系统稳态运行的一种基本运算方法,通过对于潮流的计算,实现对潮流的控制,维护电力系统稳定,防止出现超过约束条件的情况,从而使电力系统免遭崩溃的危险。最初求解电力系统潮流时大多是用手算,这种计算方法不但耗费时间长,精度差,而且对于大容量的电力系统无法做到很好的控制。随着电力系统结构日趋复杂,计算量也越来越大,仅靠手算难以求解一些复杂网络的潮流。计算机作为一种处理数据的工具,其计算速度快,准确率高,存储量大,因此它广泛的应用于大规模复杂化的电力系统网络中。为了能使计算机能进行潮流计算,就必须编制相应的程序,使其能按照人们在程序中设定的计算流程一步一步的执行,直到计算结果达到要求的精度,得到最终想要的结果。c语言是一种简单实用的语言,利用它进行程序设计可以大大提高电力系统潮流控制的自动化程度。本次的潮流上机,就是要求我们利用c语言编程,进行计算机潮流计算。这既是对我们电力系统潮流计算知识的考验,也是对我们c语言编程能力的考验。是一次各种知识的交汇综合的运用。通过这次潮流上机,我对电力系统潮流计算有了更深刻的认识,同时,我的c语言编程能力也得到了提高。我明白了学习不能仅限于课本,还要做到“学以致用”的道理。在这次潮流设计中,我遇到了由于多问题,其中既包括由于对潮流知识掌握不牢而导致的问题,也包括由于c语言编程能力有限而导致的问题。幸而在麻老师、学姐和同学们的帮助下,这些问题都得到一一解决。在这里,我要衷心的感谢老师们的辛苦付出!参考文献1. 电力系统计算:电子数字计算机的应用,西安交通大学等合编。北京:水利电力出版社;2. 现代电力系统分析,王锡凡主编,科学出版社;3. 电力系统稳态分析,陈珩,中国电力出版社,2007年,第三版;附录(包括:1.手算过程及结果;2.计算机计算流程图;3、表格、数据;4、思考题答案;5、程序)1、结果题1:题2:2、流程图如下:3、原始数据及表格3.1各节点原始数据:节点编号id各节点电压幅值u(标幺值)各节点电压相角phase外界提供的有功功率gp(标幺值)外界提供的无功功率gq(标幺值)负荷有功功率lp(标幺值)负荷无功功率lq(标幺值)节点类型type11.0400.0000.0000.0000.0000.000321.0250.0001.6300.0000.0000.000231.0250.0000.8500.0000.0000.000241.0000.0000.0000.0000.0000.000151.0000.0000.0000.0001.2500.5001 61.0000.0000.0000.0000.9000.300171.0000.0000.0000.0000.0000.000181.0000.0000.0000.0001.0000.350191.0000.0000.0000.0000.0000.0001注:上表中,1为pq节点,2为pv节点,3为平衡节点。3.2各线路原始数据节点编号id首端节点末端节点支路串联电阻r支路串联电抗x支路电纳b变比k1140.0000.0580.0001.0002270.0000.0630.0001.0003390.0000.0590.0001.0004780.0190.0720.0750.0005890.0120.1010.1050.0006570.0320.1610.1530.0007690.0390.1700.1790.0008450.0100.0850.0880.0009460.0170.0920.0790.000注:上表中,变压器变比为0表示该线路上没有变压器。4、思考题答案:3.1潮流计算的方法有哪些?各有何特点?答:潮流计算目前主要的计算方法有:高斯-赛德尔迭代法、牛顿拉夫逊法和p-q分解法。它们各自的特点如下:1、高斯-赛德尔法分为以节点导纳矩阵为基础的迭代法和以节点阻抗矩阵为基础的迭代法。前者原理较为简单,占用的计算机内存也较少,但收敛性较差,随着计算量的增加,迭代次数不断上升,往往出现迭代不收敛的情况;而节点阻抗矩阵改善了电力系统潮流计算的收敛性问题,在当时得到了广泛的应用,但是它的缺点是占用计算机内存比较大,每次迭代的计算量也很大。当系统逐渐增大时这个问题会变得更加突出。2、牛顿拉夫逊法它是数学上典型的收敛性求法,具有较好的收敛性,只要能保证方程式系数矩阵的稀疏性,就能大大提高这种方法的计算效率,牛顿拉夫逊法在占用内存和计算次数与速度上都优于高斯赛德尔法,现在仍在广泛应用。3、p-q分解法这种方法派生于以极坐标表示的牛顿拉夫逊法。与牛顿拉夫逊法相比,p-q分解法的修正方程式的系数矩阵b和b分别以(n-1)和(m-1)的方阵,代替了(n+m-2)阶的系数矩阵;并且b和b在迭代过程中保持不变,并且自身对称,提高了计算速度,降低了对存储容量的要求,在计算速度上得到了显著的提高,得到了广泛的应用。3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)答:第一步首先要了解北京城市电网的所有节点类型,统计不同节点类型的数据。在处理pq类节点时要得到注入有功功率和注入无功功率的数据;pv类节点要得到节点电压的大小、注入的有功功率以及节点能提供的最大和最小无功功率;对于平衡节点要得到节点电压大小及相位,以及节点所能提供的最大和最小无功、有功功率。第二步应得到支路的电阻电抗大小、变压器的变比以及线路最大的传输容量。第三步应考虑分析pq节点的电压大小是否满足约束条件;分析pv节点的电压大小以及无功功率是否满足约束条件,注意pv节点向pq节点转化的问题;分析平衡节点所提供的有功无功功率是否满足约束条件,在规定的范围内;分析线路上的传输功率是否符合要求;分析全网的网络损耗是否在标准范围内。3.3设计中遇到的问题和解决的办法潮流上机编程是一次对我们电力系统分析知识掌握程度和c语言编程能力的综合考验。在这次潮流上机的过程中,我遇到了许多问题。幸而在老师和学姐的帮助下,许多问题才得以迎刃而解。潮流设计中遇到的主要问题总结如下:1、对电力系统分析知识掌握不够熟练,导致许多时候编程出现了许多问题。对于因对电力系统知识掌握不熟而导致的错误,只有仔细看书,把概念理解熟透,再西斯对照课本,确保编程无误。通过解决编程中出现的问题,加深我对电力系统知识的理解。亡羊补牢,为时未晚。2、c语言编程能力还有待提高。c语言系大一时所学,时至今日,能记得的知识所剩无几。许多编程方法只能根据老师提供的模板,依样画瓢,缺乏深刻的理解。在c语言编程的过程中,最困难的部分不是编程,而是调试。调试的过程是对我们逻辑思维能力的极大的考验,我们必须详尽的考虑到种种逻辑结构问题,才能确保函数的逻辑意义明确,表达清晰。通过对程序的调试,提高了我的c语言编程能力,而且让我对c语言的各种调试工具有了更进一步的理解,可谓受益匪浅。5、9节点程序/ flow.cpp : defines the entry point for the console application./#include stdafx.h#include #include #include nequation.h#include math.h#include config.hvoid test()nequation ob1;ob1.setsize(2);ob1.data(0,0)=1;ob1.data(0,1)=2;ob1.data(1,0)=2;ob1.data(1,1)=1;ob1.value(0)=5;ob1.value(1)=4;ob1.run();printf(x1=%fn,ob1.value(0);printf(x2=%fn,ob1.value(1);void getdata()/read the datafile *fp;int i;if(fp=fopen(c:documents and settingsadministrator桌面1091140202 孙小磊9节点程序模板datadata.txt,r)=null) printf(can not open the file named data.txt n);return;for(i=0;i=bus_num-1;i+)fscanf(fp,%d,%f,%f,%f,%f,%f,%f,%d,&gbusi.no,&gbusi.voltage,&gbusi.phase,&gbusi.genp,&gbusi.genq,&gbusi.loadp,&gbusi.loadq,&gbusi.type);for(i=0;i=line_num-1;i+)fscanf(fp,%d,%d,%d,%f,%f,%f,%f,&glinei.no,&glinei.no_i,&glinei.no_j,&glinei.r,&glinei.x,&glinei.b,&glinei.k);fclose(fp);void getymatrix()int i,j;file *fp;/ calculate the y matrixint bus1,bus2;float r,x,d,g,b,g1,b1,g2,b2,g3,b3;for(i=0;i=bus_num-1;i+)for(j=0;j=bus_num-1;j+)gy_gij=0;gy_bij=0;for(i=0; i=line_num-1; i+)if(glinei.k=0)bus1=glinei.no_i-1;bus2=glinei.no_j-1;r=glinei.r;x=glinei.x;d=r*r+x*x;g=r/d;b=-x/d;gy_gbus1bus1=gy_gbus1bus1+g;gy_gbus2bus2=gy_gbus2bus2+g;gy_gbus1bus2=gy_gbus1bus2-g;gy_gbus2bus1=gy_gbus2bus1-g;gy_bbus1bus1=gy_bbus1bus1+b+glinei.b;gy_bbus2bus2=gy_bbus2bus2+b+glinei.b;gy_bbus1bus2=gy_bbus1bus2-b;gy_bbus2bus1=gy_bbus2bus1-b;elsebus1=glinei.no_i-1;bus2=glinei.no_j-1;r=glinei.r;x=glinei.x;d=r*r+x*x;g=r/d;b=-x/d;g1=g/glinei.k;b1=b/glinei.k;g2=g*(1-glinei.k)/(glinei.k*glinei.k);b2=b*(1-glinei.k)/(glinei.k*glinei.k);g3=g*(glinei.k-1)/glinei.k;b3=b*(glinei.k-1)/glinei.k;gy_gbus1bus1=gy_gbus1bus1+g1+g2;gy_gbus2bus2=gy_gbus2bus2+g1+g3;gy_gbus1bus2=gy_gbus1bus2-g1;gy_gbus2bus1=gy_gbus2bus1-g1;gy_bbus1bus1=gy_bbus1bus1+b1+b2;gy_bbus2bus2=gy_bbus2bus2+b1+b3;gy_bbus1bus2=gy_bbus1bus2-b1;gy_bbus2bus1=gy_bbus2bus1-b1;/ output the y matrix if(fp=fopen(c:documents and settingsadministrator桌面1091140202 孙小磊9节点程序模板dataymatrix.txt,w)=null)printf(can not open the file named ymatrix.txt n);return ;fprintf(fp,-y matrix-n);for(i=0;i=bus_num-1;i+)for(j=0;j=bus_num-1;j+)fprintf(fp,y(%d,%d)=(%10.5f,%10.5f)n,i+1,j+1,gy_gij,gy_bij);fclose(fp);void setinitial()int i;for(i=0;i=bus_num-1;i+)gfi=gbusi.voltage*sin(gbusi.phase);gei=gbusi.voltage*cos(gbusi.phase);void getunbalance()int i,j; float sum_p=0,sum_q=0;file *fp;for(i=1;i=bus_num-1;i+)sum_p=0,sum_q=0;/循环前清空sump和sumqfor(j=0;j=bus_num-1;j+)sum_p+=(gei*(gy_gij*gej-gy_bij*gfj)+gfi*(gy_gij*gfj+gy_bij*gej); /求和sum_q+=(gfi*(gy_gij*gej-gy_bij*gfj)-gei*(gy_gij*gfj+gy_bij*gej); /求和if(gbusi.type=1)/pq节点 gdelta_pi-1=(gbusi.genp-gbusi.loadp)-sum_p;gdelta_qi-1=(gbusi.genq-gbusi.loadq)-sum_q;if(gbusi.type=2)/pv节点 gdelta_pi-1=(gbusi.genp-gbusi.loadp)-sum_p;gdelta_qi-1=gbusi.voltage*gbusi.voltage-(gei*gei+gfi*gfi); /合并gdelta_p,gdelta_q至gdelta_pqfor(i=0;i=bus_num-2;i+) gdelta_pq2*i=gdelta_pi;gdelta_pq2*i+1=gdelta_qi;if(fp=fopen(c:documents and settingsadministrator桌面1091140202 孙小磊9节点程序模板dataunbalance.txt,w)=null)printf(can not open the file named unbalance.txt n);return ;fprintf(fp,-unbalance-n);for(i=0;i=2*bus_num-3;i+)fprintf(fp,unbalance%d=%10.5fn,i+1,gdelta_pqi);fclose(fp);void getjaccobi()int i,j;float hbus_num-1bus_num-1,nbus_num-1bus_num-1;float jbus_num-1bus_num-1,lbus_num-1bus_num-1;float abus_num-1,bbus_num-1;file *fp;/赋初值for(i=0;i=bus_num-2;i+)for(j=0;j=bus_num-2;j+)hij=0;nij=0;lij=0;jij=0;ai=0;bi=0;/计算注入电流for(i=0;i=bus_num-2;i+) for(j=0;j=bus_num-1;j+)ai+=gy_gi+1j*gej-gy_bi+1j*gfj;bi+=gy_gi+1j*gfj+gy_bi+1j*gej;for(i=0;i=bus_num-2;i+)for(j=0;j=bus_num-2;j+)if(i!=j)/i!=j时if(gbusi+1.type=1)/若是pq节点hij=-gy_bi+1j+1*gei+1+gy_gi+1j+1*gfi+1;nij=gy_bi+1j+1*gfi+1+gy_gi+1j+1*gei+1;jij=-nij;lij=hij;if(gbusi+1.type=2)/若是pv节点hij=-gy_bi+1j+1*gei+1+gy_gi+1j+1*gfi+1;nij=gy_bi+1j+1*gfi+1+gy_gi+1j+1*gei+1;jij=0;lij=0;if(i=j)/i=j时if(gbusi+1.type=1)/若是pq节点hij=-gy_bi+1j+1*gei+1+gy_gi+1j+1*gfi+1+bi;nij=gy_gi+1j+1*gei+1+gy_bi+1j+1*gfi+1+ai;jij=-gy_gi+1j+1*gei+1-gy_bi+1j+1*gfi+1+ai;lij=-gy_bi+1j+1*gei+1+gy_gi+1j+1*gfi+1-bi;if(gbusi+1.type=2)/若是pv节点hij=-gy_bi+1j+1*gei+1+gy_gi+1j+1*gfi+1+bi;nij=gy_gi+1j+1*gei+1+gy_bi+1j+1*gfi+1+ai;jij=2*gfi+1;lij=2*gei+1;/合并for(i=0;i=bus_num-2;i+) for(j=0;j=bus_num-2;j+)gjaccobi2*i2*j=hij;gjaccobi2*i2*j+1=nij;gjaccobi2*i+12*j=jij;gjaccobi2*i+12*j+1=lij;/将数据写入文件if(fp=fopen(c:documents and settingsadministrator桌面1091140202 孙小磊9节点程序模板datajaccobi.txt,w)=null)printf(can not open the file named jaccobi.txt n);return ;fprintf(fp,-jaccobi matrix-n);for(i=0;i=2*bus_num-3;i+)for(j=0;j=2*bus_num-3;j+)fprintf(fp,jaccobi(%d,%d)=%10.5fn,i+1,j+1,gjaccobiij);fclose(fp);void getrevised()int i,j;file *fp;nequation ob1;ob1.setsize(2*(bus_num-1);for(i=0;i=2*bus_num-3;i+)for(j=0;j=2*bus_num-3;j+)ob1.data(i,j)=gjaccobiij;ob1.value(i)=gdelta_pqi;ob1.run();for(i=0;i=2*bus_num-3;i+)gdelta_fei=ob1.value(i);/写入数据if(fp=fopen(c:documents and settingsadministrator桌面1091140202 孙小磊9节点程序模板datarevised.txt,w)=null)printf(can not open the file named revised.txt n);return ;fprintf(fp,-revised-n);for(i=0;i=2*bus_num-3;i+)fprintf(fp,revised%d=%10.5fn,i+1,gdelta_fei);fclose(fp);void getnewvalue()int i,j=0;file *fp;for(i=0;i=bus_num-1;i+)if(gbusi.type!=3)gdelta_fj=gdelta_fe2*j;gfi+=gdelta_fj;gdelta_ej=gdelta_fe2*j+1;gei+=gdelta_ej;j+;/写入数据if(fp=fopen(c:documents and settingsadministrator桌面1091140202 孙小磊9节点程序模板datanewvalue.txt,w)=null)printf(can not open the file named newvalue.txt n);return ;fprintf(fp,-new value-n);for(i=0;i=bus_num-2;i+) fprintf(fp,f(%d)=%10.5f,e(%d)=%10.5fn,i+1,gfi+1,i+1,gei+1);fclose(fp);void gets()/各个节点的注入功率情况int i,j;float ps,qs;/平衡节点的有功无功float qv=0;/pv节点的无功float sum1=0,sum2=0;printf(nn*各个节点的注入功率情况*nn);for(i=0;i=bus_num-1;i+)if(gbusi.type=3)for(j=0;j=bus_num-1;j+)sum1+=gy_gij*gej-gy_bij*gfj;sum2+=gy_gij*gfj+gy_bij*gej;ps=gei*sum1+gfi*sum2;qs=gfi*sum1-gei*sum2;printf(节点%d是平衡节点,其注入有功为%10.5f,注入无功为%10.5fn,i+1,ps,qs);if(gbusi.type=2)for(j=0;j=bus_num-1;j+)qv+=gfi*(gy_gij*gej-gy_bij*gfj)-gei*(gy_gij*gfj+gy_bij*gej);printf(节点%d是pv节点,其注入有功为%10.5f,注入无功为%10.5fn,i+1, gbusi.genq-gbusi.loadq,qv );if(gbusi.type=1)printf(节点%d是pq节点,其注入有功为%10.5f,注入无功为%10.5fn,i+1, gbusi.genp-gbusi.loadp,gbusi.genq-gbusi.loadq );void get_loss_of_net()/全网络的网损int i,j;int m,n;/线路首末端编号赋值给m,nfloat delta_pline_num,delta_qline_num;/网损float sum_delta_p=0,sum_delta_q=0;/总网损float g0line_num,b0line_num,gline_numline_num,bline_numline_num;float k,r,x,d;printf(nn*全网络的网损*nn);/赋值for(i=0;i=line_num-1;i+)delta_pi=0;delta_qi=0;for(i=0;i=line_num-1;i+)m=glinei.no_i-1;n=glinei.no_j-1;if(glinei.k=0)g0m=0;g0n=0;b0m=glinei.b;b0n=glinei.b;gmn=-gy_gmn;bmn=-gy_bmn;delta_pi=(gem*gem+gfm*gfm)*g0m+(gen*gen+gfn*gfn)*g0n+(gem-gen)*(gem-gen)+(gfm-gfn)*(gfm-gfn);delta_qi=-(gem*gem+gfm*gfm)*b0m+(gen*gen+gfn*gfn)*b0n+(gem-gen)*(gem-gen)+(gfm-gfn)*(gfm-gfn)*bmn);if(glinei.k!=0)k=glinei.k;r=glinei.r;x=glinei.x;d=r*r+x*x;g0m=(1-k)/(k*k)*r)/d;g0n=(k-1)/(k)*r)/d;b0m=(1-k)/(k*k)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电仪工基础知识培训课件
- 甲状腺自身抗体检测课件
- 幼儿园中班语言教案《春天的朋友》
- 甲状腺癌CT诊断课件
- 甲状腺疾病课件
- 贵州省毕节市织金县2024-2025学年八年级下学期期末语文试题(含答案)
- 乌鸦喝水写字教学课件
- 用电安全知识培训课件学校
- 新解读《GB-T 20899.7-2022金矿石化学分析方法 第7部分:铁量的测定》
- 《ABB工业机器人虚拟仿真技术》(1+X) 课件 2.3 涂胶路径创建
- 抖音本地生活服务方案
- 2025高一英语备课组课时安排计划
- 吸氧过程中中心吸氧装置出现故障的应急预案及程序
- 骨科植入物在手术中的管理
- 铸牢中华民族共同体意识课件
- 手术前备皮课件
- 病案管理法律法规培训
- 村支部书记申请书
- 2025年度充电桩充电设施安全检测与维修合同范本4篇
- 2025年中国宝武钢铁集团有限公司招聘笔试参考题库含答案解析
- 高级综合英语知到智慧树章节测试课后答案2024年秋浙江中医药大学
评论
0/150
提交评论