潮流上机课程设计报告.华电(共14页)

上传人:vosvybf****vycfil... 文档编号:58447874 上传时间:2022-02-28 格式:DOC 页数:13 大小:375KB
返回 下载 相关 举报
潮流上机课程设计报告.华电(共14页)_第1页
第1页 / 共13页
潮流上机课程设计报告.华电(共14页)_第2页
第2页 / 共13页
潮流上机课程设计报告.华电(共14页)_第3页
第3页 / 共13页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上电力系统潮流上机课程设计报告院系班级:学号:学生姓名:指导教师:设计周数成绩:日期:年月日专心-专注-专业一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算: 要求应用牛顿-拉夫逊法或P-Q分解法手算求解,要求精度为0.001MW。节点1为平衡节点,电压,节点2为PQ节点,负荷功率,节点3是PV节点,两条支路分别为,对地支路。2.计算机计算:编写潮流计算程序,要求如下:2.1据给定的潮流计算任务书整理潮流计算的基础数据:节点的分类,线路模型,等值变压器模型,电压等级的归算,标幺值的计算;2.2基础数据的计算机存储:节点数据,支路数据(包括变压器);2.3用牛顿-拉夫逊法计算;2.4根据所选潮流计算方法画流程图,划分出功能模块,有数据输入模块,导纳阵形成模块,解线性方程组模块,计算不平衡功率模块,形成雅可比矩阵模块,解修正方程模块,计算线路潮流,网损,PV节点无功功率和平衡节点功率,数据输出模块;2.5据上述模块编制程序并上机调试程序,得出潮流计算结果;2.6源程序及其程序中的符号说明集、程序流图简单系统如下图所示,支路数据如下:,节点数据如下:,1)节点导纳阵#include #include #include #include LF.h/form node conductance matrixintMakeY( intnB, intnL, Line* sL, double* YG, double* YB )inti,j,l;double r,x,d1,g,b,t;for(i=0;inB;i+)for(j=0;jnB;j+)YGij=0.0;YBij=0.0;for(i=0;inL;i+)r=sLi.R;x=sLi.X;g=r/(r*r+x*x);b=-x/(r*r+x*x);switch(sLi.Type)case 1:/Linebreak;case 2:/Transformerg*=1/sLi.K;b*=1/sLi.K;break;YGsLi.NumIsLi.NumI+=g;YGsLi.NumJsLi.NumJ+=g;YGsLi.NumIsLi.NumJ-=g;YGsLi.NumJsLi.NumI-=g;YBsLi.NumIsLi.NumI+=b+sLi.B;YBsLi.NumJsLi.NumJ+=b+sLi.B;YBsLi.NumIsLi.NumJ-=b;YBsLi.NumJsLi.NumI-=b;printf(实部:n);for(i=0;inB;i+)for(j=0;jnB;j+)printf(%lft,YGij);printf(n);printf(虚部:n);for(i=0;inB;i+)for(j=0;jnB;j+)printf(%lft,YBij);printf(n);/* Check the Y matrix */ofstreamfout(out.txt);fout -Y Matrix- endl;for(i=0;inB;i+)for(j=0;jnB;j+)fout YGij +j YBij t;foutendl;fout.close();return 0;2)计算功率不平衡量#include #include #include #include LF.h/form delta p and delta qintCalDeltaPQ( intnpv, intnpq, Bus* bus, double* YG, double* YB, int* p_Jtobus, double* deltaf )intk,i,j;for(k=0;knpv+npq*2;k+) i=p_Jtobusk;if(knpv) deltafk=busi.GenP-busi.LoadP;for(j=0;jnpv+npq+1;j+)deltafk-=busi.Volt*busj.Volt*(YGij*cos(busi.Phase-busj.Phase)+YBij*sin(busi.Phase-busj.Phase);printf(PV节点%d的有功功率是%lfn,i,deltafk);if(k=npv) deltafk=busi.GenP-busi.LoadP;for(j=0;jnpv+npq+1;j+) deltafk-=busi.Volt*busj.Volt*(YGij*cos(busi.Phase-busj.Phase)+YBij*sin(busi.Phase-busj.Phase);printf(PQ节点%d的有功功率是%lfn,i,deltafk);if(k=npv+npq)deltafk=busi.GenQ-busi.LoadQ;for(j=0;jnpv+npq+1;j+) deltafk-=busi.Volt*busj.Volt*(YGij*sin(busi.Phase-busj.Phase)-YBij*cos(busi.Phase-busj.Phase);printf(PQ节点%d的无功功率是 %lfn,i,deltafk);return 0;3)雅各比矩阵的计算/*Purpose: for undergraduate courseTask: Load FlowCopyright NCEPU, Liu Chongru*/#include #include #include #include LF.h/form Jacobian matrixintFormJacobian( intnpv, intnpq, Bus* bus, double* YG, double* YB, int* p_Jtobus, double* Jac )intnp = npv+npq,j,k,i,m;/TODOdouble a14,q14;for(k=0;knpv+npq*2;k+) i=p_Jtobusk;ai=0; qi=0;if(knp)/H Nfor(j=0;jnp+1;j+)if(j!=i) ai+=busj.Volt*(YGij*sin(busi.Phase-busj.Phase)-YBij*cos(busi.Phase-busj.Phase); qi+=busj.Volt*(YGij*cos(busi.Phase-busj.Phase)+YBij*sin(busi.Phase-busj.Phase);for(m=0;mnpv+npq*2;m+)j=p_Jtobusm;if(j!=i) if(mnp) Jackm=busi.Volt*busj.Volt*(YGij*sin(busi.Phase-busj.Phase)-YBij*cos(busi.Phase-busj.Phase);/Form H else Jackm=busi.Volt*busj.Volt*(YGij*cos(busi.Phase-busj.Phase)+YBij*sin(busi.Phase-busj.Phase);/Form Nelse if(j=i)if(mnp)Jackm=-busi.Volt*ai;/Form H else Jackm=busi.Volt*qi+2*busi.Volt*busi.Volt*YGij;/Form Nelsefor(j=0;jnp+1;j+)if(j!=i) ai+=busj.Volt*(YGij*sin(busi.Phase-busj.Phase)-YBij*cos(busi.Phase-busj.Phase); qi+=busj.Volt*(YGij*cos(busi.Phase-busj.Phase)+YBij*sin(busi.Phase-busj.Phase);for(m=0;mnpv+npq*2;m+)j=p_Jtobusm;if(j!=i)if(mnp) Jackm=-busi.Volt*busj.Volt*(YGij*cos(busi.Phase-busj.Phase)+YBij*sin(busi.Phase-busj.Phase);/Form JelseJackm=busi.Volt*busj.Volt*(YGij*sin(busi.Phase-busj.Phase)-YBij*cos(busi.Phase-busj.Phase);/Form Lelse if(j=i) if(mnp)Jackm=busi.Volt*qi;elseJackm=busi.Volt*ai-2*busi.Volt*busi.Volt*YBij;for(i=0;inp+npq;i+)for(int j=0;jnp+npq;j+)printf(%d %d %f ,i,j,Jacij);printf(n);/Output the matrix to check the Jacobian matrixofstreamfout(out.txt,ios:app);fout -Jacobian Matrix- endl;for(i=0; inp+npq;i+ )for(j=0; jnp+npq; j+ )foutJacij t;foutendl;fout.close();return 0;4)线路损耗/8.calculate the power flow double* p_Pij, *p_Qij, *p_Pji, *p_Qji;p_Pij = new doublenL;p_Qij = new doublenL;p_Pji = new doublenL;p_Qji = new doublenL;int x1,x2;for( i=0; inL; i+ )x1=linei.NumI;x2=linei.NumJ;if(linei.Type=1)p_Piji=busx1.Volt*busx1.Volt*(-YGx1x2)-busx1.Volt*busx2.Volt*(-YGx1x2)*cos(busx1.Phase-busx2.Phase)+(-YBx1x2)*sin(busx1.Phase-busx2.Phase);p_Qiji=-busx1.Volt*busx1.Volt*(linei.B+(-YBx1x2)-busx1.Volt*busx2.Volt*(-YGx1x2)*sin(busx1.Phase-busx2.Phase)-(-YBx1x2)*cos(busx1.Phase-busx2.Phase); p_Pjii=busx2.Volt*busx2.Volt*(-YGx2x1)-busx2.Volt*busx1.Volt*(-YGx2x1)*cos(busx2.Phase-busx1.Phase)+(-YBx2x1)*sin(busx2.Phase-busx1.Phase);p_Qjii=-busx2.Volt*busx2.Volt*(linei.B+(-YBx2x1)-busx2.Volt*busx1.Volt*(-YGx2x1)*sin(busx2.Phase-busx1.Phase)-(-YBx2x1)*cos(busx2.Phase-busx1.Phase);elsep_Piji=busx1.Volt*busx1.Volt*(-YGx1x2)/linei.K-busx1.Volt*busx2.Volt*(-YGx1x2)*cos(busx1.Phase-busx2.Phase)+(-YBx1x2)*sin(busx1.Phase-busx2.Phase); p_Qiji=-busx1.Volt*busx1.Volt*(-YBx1x2)/linei.K+linei.B)-busx1.Volt*busx2.Volt*(-YGx1x2)*sin(busx1.Phase-busx2.Phase)-(-YBx1x2)*cos(busx1.Phase-busx2.Phase); p_Pjii=busx2.Volt*busx2.Volt*(-YGx2x1*linei.K)-busx2.Volt*busx1.Volt*(-YGx2x1)*cos(busx2.Phase-busx1.Phase)+(-YBx2x1)*sin(busx2.Phase-busx1.Phase); p_Qjii=-busx2.Volt*busx2.Volt*(-YBx2x1)*linei.K+linei.B)-busx2.Volt*busx1.Volt*(-YGx2x1)*sin(busx2.Phase-busx1.Phase)-(-YBx2x1)*cos(busx2.Phase-busx1.Phase);/p and q of PH bus and PV busint s=0;double p9,q9,Ps9,Qs9,PS=0,QS=0;for( i=0; inB; i+ )pi=0;qi=0;for(int j=0; jnB; j+ )pi+=(busj.Volt*(YGij)*cos(busj.Phase)-busj.Volt*(YBij)*sin(busj.Phase); qi-=(busj.Volt*(YGij)*sin(busj.Phase)+busj.Volt*(YBij)*cos(busj.Phase); Psi=busi.Volt*cos(busi.Phase)*pi-busi.Volt*sin(busi.Phase)*qi; Qsi=busi.Volt*cos(busi.Phase)*qi+busi.Volt*sin(busi.Phase)*pi;for(i=0;inB;i+)PS+=Psi;QS+=Qsi;printf(PS=%7.7f,QS=%7.7fn,PS,QS);/lossdoublePloss=0, Qloss=0;for( i=0; in?计算雅客比矩阵各元素增加迭代次数k=k+1增加节点号i=i+1解修正方程,由及雅客比矩阵用高斯法求各节点的电压增量计算节点的新电压求出迭代是否收敛停止计算平衡节点的功率及线路功率6)得到的数据(out.txt)-Y Matrix-0+j-17.36110+j00+j00+j17.36110+j00+j00+j00+j00+j00+j00+j-160+j00+j00+j00+j00+j160+j00+j00+j00+j00+j-17.06480+j00+j00+j00+j00+j00+j17.06480+j17.36110+j00+j03.30738+j-39.3089-1.36519+j11.6041-1.94219+j10.51070+j00+j00+j00+j00+j00+j0-1.36519+j11.60412.55279+j-17.33820+j0-1.1876+j5.975130+j00+j00+j00+j00+j0-1.94219+j10.51070+j03.2242+j-15.84090+j00+j0-1.28201+j5.588240+j00+j160+j00+j0-1.1876+j5.975130+j02.80473+j-35.4456-1.61712+j13.6980+j00+j00+j00+j00+j00+j00+j0-1.61712+j13.6982.77221+j-23.3032-1.15509+j9.784270+j00+j00+j17.06480+j00+j0-1.28201+j5.588240+j0-1.15509+j9.784272.4371+j-32.1539-Jacobian Matrix-16.40000-16.400000000017.491500000-17.49150000000040.1703-11.6041-10.51070003.30738-1.36519-1.9421900000-11.604117.57920-5.9751300-1.365192.552790-1.18760000-10.5107016.098900-5.58824-1.9421903.224200-1.28201-16.400-5.97513036.0731-13.69800-1.187602.80473-1.61712000000-13.69823.4822-9.78427000-1.617122.77221-1.155090-17.491500-5.588240-9.7842732.86400-1.282010-1.155092.437100-3.307381.365191.9421900038.4474-11.6041-10.5107000001.36519-2.5527901.187600-11.604117.09720-5.9751300001.942190-3.2242001.28201-10.5107015.582900-5.588240001.18760-2.804731.6171200-5.97513034.8181-13.6980000001.61712-2.772211.15509000-13.69823.1242-9.7842700001.2820101.15509-2.437100-5.588240-9.7842731.4437-Jacobian Matrix-16.92690000-16.9269000001.6879300018.169100000-18.1691000000.0041.9297-12.1301-11.15360003.54272-1.0628-1.7664600000-12.045518.06090-6.0153900-1.781381.308190-2.102620000-11.0484016.814400-5.76607-2.3360802.4259800-1.97778-16.926900-6.36224037.9476-14.658500-0.03.05959-0.000000-14.472124.8873-10.4152000-2.5091.86088-1.473890-18.169100-6.051570-10.472134.692800-0.0-0.2.662700-3.521491.06281.7664600042.0299-12.1301-11.1536000001.78138-3.88402.1026200-12.045517.20370-6.0153900002.336080-4.31386001.97778-11.0484016.299300-5.766071.68793000.0-2.975490.00-6.36224038.3226-14.65850000002.509-3.982891.47389000-14.472124.2355-10.415200.000.00.-2.6089300-6.051570-10.472134.8585-Jacobian Matrix-16.74570000-16.7457000001.6304300018.038800000-18.0388000000.0041.3695-11.8919-10.96860003.48069-1.02775-1.7371200000-11.805717.69180-5.886100-1.76021.280910-2.02170000-10.8651016.547600-5.68251-2.2973702.4065500-1.91027-16.745700-6.21183037.3041-14.346500-0.02.95313-0.000000-14.170424.4052-10.2348000-2.429091.86079-1.433530-18.038800-5.946930-10.287234.27300-0.0-0.2.5984700-3.480891.027751.7371200041.3703-11.8919-10.9686000001.7602-3.7818902.021700-11.805716.69410-5.886100002.297370-4.20764001.91027-10.8651015.948800-5.682511.63043000.0-2.950770.00-6.21183037.3083-14.34650000002.42909-3.862621.43353000-14.170423.7059-10.234800.000.00.-2.5970600-5.946930-10.287234.2743-Jacobian Matrix-16.74350000-16.7435000001.6300018.037400000-18.0374000000.850041.3625-11.8888-10.96640003.48016-1.02713-1.7366200000-11.802617.68710-5.884500-1.760081.280530-2.020450000-10.8628016.544400-5.68158-2.2970302.4063200-1.90929-16.743500-6.20987037.296-14.342600-0.02.95114-0.000000-14.166724.3994-10.2326000-2.427941.86097-1.433020-18.037400-5.945670-10.28534.268100-0.0-0.2.5973400-3.480161.027131.7366200041.3625-11.8888-10.9664000001.76008-3.7805302.0204500-11.802616.68710-5.884500002.297030-4.20632001.90929-10.8628015.944400-5.681581.63000.0-2.951140.00-6.20987037.296-14.34260000002.42794-3.860971.43302000-14.166723.6994-10.232600.85000.00.-2.5973400-5.945670-10.28534.2681-iteration- iteration = 4-voltage magnitude and angle-1.04001.0250.9.280011.0250.4.664761.02579-0.-2.216790.-0.-3.988811.01265-0.-3.68741.025770.3.71971.015880.0.1.032350.1.96672-bus P and Q-10.716410.21.630.30.85-0.4005-1.25-0.56-0.9-0.37008-1-0.35900-line flow-NUM-i-j-begin-end-141-0.71641+j-0.0.71641+j0.27046272-1.63+j0.1.63+j0.393-0.85+j0.0.85+j-0.4780.+j-0.-0.+j-0.5980.+j0.-0.+j-0.6750.+j-0.-0.+j-0.7960.+j-0.-0.+j-0.854-0.+j-0.0.+j0.964-0.+j-0.0.+j0.-Ploss and Qloss-Ploss = 0.Qloss = -0.3.思考题3.1潮流计算的方法有哪些?各有何特点?答:潮流计算分为手算和机算两大类,其中机算又有高斯-赛德尔迭代法、牛顿-拉夫逊迭代法、P-Q分解法等算法。特点:手算求解潮流一般只用在简单的网络中,其计算量大,对于多节点的网络用手算一般难以解决问题,但通过手算可以加深物理概念的理解,还可以在运用计算机计算前以手算求取某些原始数据。高斯-赛德尔迭代法:算法简单,对初值的要求不高,但需要迭代的次数多,收敛的速度慢,在早期的潮流计算程序中应用很多,之后逐渐被牛顿-拉夫逊迭代法所取代,但仍可作为计算程序前几次迭代的算法,以弥补后者对初值要求高的缺点。牛顿-拉夫逊迭代法:是常用的解非线性方程组的方法,也是当前广泛采用的计算潮流的方法,其收敛速度快,几次迭代就可以得到最终的结果。但其缺点是要求初值的选择得比较接近它们的精确值,否则迭代过程可能不收敛。P-Q分解法潮流计算:派生于以极坐标表示时的牛顿-拉夫逊法,其根据电力系统的特点,对后者的修正方程做了简化,P-Q分解法的系数矩阵B和B”代替了牛拉法中的雅可比矩阵J,阶数降低,其中的元素在迭代过程中不发生变化,而且元素对称,这些都大大提高了运算速度,而且精确度几乎不受影响。P-Q分解法的收敛特性接近于直线,而牛顿-拉夫逊的收敛速度要比P-Q分解法快,但是由于牛顿-拉夫逊每次迭代都要形成雅客比矩阵,所以一次迭代的时间比P-Q分解法长。3.2 如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析) 有现有的潮流计算软件分析北京城市电网的潮流,主要收集以下数据:(1)北京城市电网中所有的节点支路的相关数据,并对节点和支路分类处理PQ节点要了解节点的注入有功和无功功率PV节点要了解节点电压大小注入有功功率及节点所能提供的最大和最小无功功率对于平衡节点要了解节点的电压大小相位、及节点所能提供的最大最小有功无功功率(2) 支点数据:支路的电阻电抗电纳支路变压器的变比及线路所能传输的最大容量(3) 分析内容:考虑PQ节点的电压是否过高或过低分析PV节点的电压幅值是否正常及无功功率是否超出范围分析平衡节点有功无功功率是否在节点所能提供的范围之内分析各支路的功率,看是否超出线路传输的最大容量分析整个系统的网损是否达到标准3 设计中遇到的问题和解决的办法1)设计中遇到是对C+部分指令的不熟悉,通过老师讲解、看书和向他人询问大大减小了编程语言上的障碍;2)在设计中,由于一开始知识脉络以及思维脉络都不是很清晰,导致在程序设计过程中的各种误操作,例如在写不平衡量的时候对定义数组的下脚标标注不清。最好经过老师的教导和我们自己的仔细排查,终于排除掉各类错误,得到结果。3)编程过程中还可在各步计算新数据后将其输出,这样不仅可以观察数据的变化趋势,还可一对以编程的部分进行验证,步步为营。4.对此门课程的意见也建议1)由于此门课程需要各自进行操作,而各人思路均不尽相同,所以容易出现各种各样的错误,且在出现错误时比较难以排查,老师也很难全面照顾到。所以希望以后该门课程可以配以助教来帮大家解答疑惑。2)课程开始初期,由于C语言的学习已经是“历史悠久”,所以,大部分的实间都被花费在c语言的回顾上,希望老师可以在给一份基本的c语言符号集锦。三、课程设计总结或结论潮流计算是研究电力系统稳态运行的一种基本运算,最初求解电力系统潮流时大多是用手算,但随着电力系统结构日趋复杂,计算量也越来越大,仅靠手算恐怕难以求解一些复杂网络的潮流。计算机作为一种处理数据的工具,其计算速度快,准确率高,因此现在电力系统的潮流大多也都采用计算机的算法求解。为了能使计算机能进行潮流计算,就必须编制相应的程序,使其能按照人们在程序中设定的方法一步一步执行,直到达到最终想要的结果。C语言是一种简单但很实用的语言,利用C语言编程实现潮流计算不仅简单易行,而且还能加深对电力系统潮流这一物理感念的理解。该门课程的主要目的是为了让大家在两周内,对潮流计算的计算机算法有所了解,并能成功编写一个简单的潮流计算程序。在这十多天的学习里,我不但对以往所学的C语言又进行了一次复习加深了印象,还达到了对自己在电力系统分析这门课程里所学到的知识进行了依次查缺补漏,稳固成多的效用,跟对电力系统的运行分析等有了更加深入的了解,可谓受益匪浅!四、参考文献1. 电力系统稳态分析,陈珩,中国电力出版社,2007年,第三版;2. 高等电力网络分析,张伯明,陈寿孙,严正,清华大学出版社,2007年,第二版3. 电力系统计算:电子数字计算机的应用,西安交通大学等合编。北京:水利电力出版社;4. 现代电力系统分析,王锡凡主编,科学出版社;附录(设计流程图、程序、表格、数据等)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!