您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 华北电力大学潮流上机课程设计报告
课程设计报告(2014—2015年度第一学期)名称:电力系统潮流上机院系:电气与电子工程学院班级:电气1215学号:1121960726学生姓名:指导教师:王莉丽设计周数:两周成绩:日期:2015年1月4日课程设计报告1一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算2.计算机计算3.思考题三、课程设计总结或结论四、参考文献1.《电力系统分析基础》,李庚银,机械工业出版社,2011年,第一版;2.《电力系统稳态分析》,陈珩,中国电力出版社,2007年,第三版;附录(包括:1.手算过程及结果;2.计算机计算流程图、表格、数据;3.思考题答案)课程设计报告2附录1.手算过程及结果课程设计报告3课程设计报告4课程设计报告52.计算机计算流程图开始读取数据形成节点导纳矩阵YB设节点电压初值ei(0),fi(0)计算∆Pi(k)、∆Qi(k)、∆U(i)形成雅可比矩阵求各节点电压变量∆ei(i),∆fi(i)求解出ei(k),fi(k)由收敛判据判定是否收敛,即:|∆ei(k)|和|∆fi(k)|是否小于等于ε计算平衡节点功率SS和线路功率Sij结束输出最终结果计算各节点电压新值:ei(k+!)=ei(k)+∆ei(k)fi(k+!)=fi(k)+∆fi(k)K规定的迭代次数K=K+1否是否是课程设计报告63.完整的潮流程序头文件(定义变量):#defineBus_Num9#defineLine_Num9#definePrecision1e-5structBus{intNo;floatVoltage,Phase,GenP,GenQ,LoadP,LoadQ;intType;}gBus[Bus_Num];structLine{intNo,No_I,No_J;floatR,X,B,k;}gLine[Line_Num];floatgY_G[Bus_Num][Bus_Num],gY_B[Bus_Num][Bus_Num];floatgDelta_P[Bus_Num-1],gDelta_Q[Bus_Num-1],gDelta_PQ[2*(Bus_Num-1)];floatgJaccobi[2*(Bus_Num-1)][2*(Bus_Num-1)];floatgDelta_f[Bus_Num-1],gDelta_e[Bus_Num-1],gDelta_fe[2*(Bus_Num-1)];floatgf[Bus_Num],ge[Bus_Num];主程序://flow.cpp:主项目文件#includestdafx.h#includeNEquation.h#includemath.h#includestdio.h#includeconfig.husingnamespaceSystem;voidtest(){NEquationob1;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)=4;ob1.Value(1)=6;ob1.Run();printf(x1=%f\n,ob1.Value(0));课程设计报告7printf(x2=%f\n,ob1.Value(1));}voidGetData()//Readthedata{FILE*fp;inti;fp=fopen(E:\\1121960726\\flow\\data\\data.txt,r);if(fp==NULL){printf(Cannotopenthefilenamed'data.txt'\n);return;}for(i=0;i=Bus_Num-1;i++){fscanf(fp,%d,%f,%f,%f,%f,%f,%f,%d,&gBus[i].No,&gBus[i].Voltage,&gBus[i].Phase,&gBus[i].GenP,&gBus[i].GenQ,&gBus[i].LoadP,&gBus[i].LoadQ,&gBus[i].Type);}for(i=0;i=Line_Num-1;i++){fscanf(fp,%d,%d,%d,%f,%f,%f,%f,&gLine[i].No,&gLine[i].No_I,&gLine[i].No_J,&gLine[i].R,&gLine[i].X,&gLine[i].B,&gLine[i].k);}fclose(fp);}voidGetYMatrix(){inti,j,bus1,bus2;floatr,x,d,g,b,g1,b1,g2,b2,g3,b3;FILE*fp;for(i=0;i=Bus_Num-1;i++){for(j=0;j=Bus_Num-1;j++){gY_G[i][j]=0;gY_B[i][j]=0;}}for(i=0;i=Line_Num-1;i++){if(gLine[i].k==0){bus1=gLine[i].No_I-1;bus2=gLine[i].No_J-1;r=gLine[i].R;x=gLine[i].X;课程设计报告8d=r*r+x*x;g=r/d;b=-x/d;gY_G[bus1][bus1]=gY_G[bus1][bus1]+g;gY_G[bus2][bus2]=gY_G[bus2][bus2]+g;gY_G[bus1][bus2]=gY_G[bus1][bus2]-g;gY_G[bus2][bus1]=gY_G[bus2][bus1]-g;gY_B[bus1][bus1]=gY_B[bus1][bus1]+b+gLine[i].B;gY_B[bus2][bus2]=gY_B[bus2][bus2]+b+gLine[i].B;gY_B[bus1][bus2]=gY_B[bus1][bus2]-b;gY_B[bus2][bus1]=gY_B[bus2][bus1]-b;}else{bus1=gLine[i].No_I-1;bus2=gLine[i].No_J-1;x=gLine[i].X;d=r*r+x*x;g=r/d;b=-x/d;g1=g/gLine[i].k;b1=b/gLine[i].k;g2=g*(1-gLine[i].k)/(gLine[i].k*gLine[i].k);b2=b*(1-gLine[i].k)/(gLine[i].k*gLine[i].k);g3=g*(gLine[i].k-1)/gLine[i].k;b3=b*(gLine[i].k-1)/gLine[i].k;gY_G[bus1][bus1]=gY_G[bus1][bus1]+g1+g2;gY_G[bus2][bus2]=gY_G[bus2][bus2]+g1+g3;gY_G[bus1][bus2]=gY_G[bus1][bus2]-g1;gY_G[bus2][bus1]=gY_G[bus2][bus1]-g1;gY_B[bus1][bus1]=gY_B[bus1][bus1]+b1+b2;gY_B[bus2][bus2]=gY_B[bus2][bus2]+b1+b3;gY_B[bus1][bus2]=gY_B[bus1][bus2]-b1;gY_B[bus2][bus1]=gY_B[bus2][bus1]-b1;}}//outputtheYmatrixfp=fopen(E:\\1121960726\\flow\\data\\ymatrix.txt,w);if(fp==NULL){printf(Cannotopenthefilenamed'ymatrix.txt'\n);return;}fprintf(fp,---YMatrix---\n);for(i=0;i=Bus_Num-1;i++){for(j=0;j=Bus_Num-1;j++)课程设计报告9{fprintf(fp,Y(%d,%d)=(%10.5f,%10.5f)\n,i+1,j+1,gY_G[i][j],gY_B[i][j]);}}fclose(fp);}voidSetInitial(){inti;for(i=0;i=Bus_Num-1;i++){if(gBus[i].Type==3){gf[i]=gBus[i].Voltage*sin(gBus[i].Phase);ge[i]=gBus[i].Voltage*cos(gBus[i].Phase);}else{gf[i]=0;ge[i]=1;}}}voidGetUnbalance(){inti,j;FILE*fp;for(i=0;i=Bus_Num-2;i++){gDelta_P[i]=gBus[i+1].GenP-gBus[i+1].LoadP;if(gBus[i+1].Type==2)//PV节¨²点Ì?gDelta_Q[i]=gBus[i+1].Voltage*gBus[i+1].Voltage-(ge[i+1]*ge[i+1]+gf[i+1]*gf[i+1]);elsegDelta_Q[i]=gBus[i+1].GenQ-gBus[i+1].LoadQ;for(j=0;j=Bus_Num-1;j++){gDelta_P[i]=gDelta_P[i]-ge[i+1]*(gY_G[i+1][j]*ge[j]-gY_B[i+1][j]*gf[j])-gf[i+1]*(gY_G[i+1][j]*gf[j]+gY_B[i+1][j]*ge[j]);if(gBus[i+1].Type==1)//PQ节¨²点Ì?gDelta_Q[i]=gDelta_Q[i]-gf[i+1]*(gY_G[i+1][j]*ge[j]-gY_B[i+1][j]*gf[j])+ge[i+1]*(gY_G[i+1][j]*gf[j]+gY_B[i+1][j]*ge[j]);课程设计报告10}}for(i=0;i=Bus_Num-2;i++)//合?并¡é{gDelta_PQ[2*i]=gDelta_P[i];gDelta_PQ[2*i+1]=gDelta_Q[i];}fp=fopen(E:\\1121960726\\flow\\data\\unbalance.txt,w);if(fp==NULL){printf(无法打开文件:”'unbalance.txt'\n);return;}fprintf(fp,---Unbalance---\n);for(i=0;i=2*Bus_Num-3;i++){fprintf(fp,Unbalance[%d]=%10.5f\n,i+1,gDelta_PQ[i]);}fclose(fp);}voidGetJaccobi(){inti,j;floatga[Bus_Num-1],gb[Bus_Num-1];FILE*fp;for(i=0;i=Bus_Num-2;i++)//计算注入电流{ga[i]=0;gb[i]=0;for(j=0;j=Bus_Num-1;j++){ga[i]=ga[i]+gY_G[i+1][j]*ge[j]-gY_B[i+1][j]*gf[j];gb[i]=gb[i]+gY_G[i+1][j]*gf[j]+gY_B[i+1][j]*ge[j];}}for(i=0;i=Bus_Num-2;i++){for(j=0;j=Bus_Num-2;j++){if(i!=j){gJaccobi[2*i][2*j]=-gY_B[i+1][j+1]*ge[i+1]+gY_G[i+1][j+1]*gf[i+1];gJaccobi[2*i][2*j+1]=gY_G[i+1][j+1]*ge[i+1]+gY_B[i+1][j+1]*gf[i+1];if(gBus[i+1].Type==2)//PV节¨²点Ì?{课程设计报告11gJaccobi[2*i+1][2*j]=0;gJaccobi[2*i+1][2*j+1]=0;}else//PQ{gJaccobi[2*i+1
本文标题:华北电力大学潮流上机课程设计报告
链接地址:https://www.777doc.com/doc-5860305 .html