潮流上机课程设计报告

合集下载

电力系统潮流上机计算报告

电力系统潮流上机计算报告

电力系统潮流上机计算报告
系别:电力工程系
班级:
姓名:
学号:
课号课序号:0110361-2
选课顺序号:22
程序说明
包括:程序设计思想、程序流程图、程序使用说明。

给定题目的手算过程(迭代两次)
包括:原题目、节点导纳矩阵、雅克比矩阵、第一次和第二次迭代结果。

给定题目的程序计算结果
包括:原题目、节点导纳矩阵、雅克比矩阵、程序输入和输出文件(误差0.0001)。

编程特色与创新
包括:程序能够完成的基本功能;程序能够完成的高级功能(如:是否包括平行支路、接地支路、非标准变比变压器支路,是否采用了稀疏矩阵技术,是否增加了人机对话界面,程序的通用性和实用性如何)。

五、总结
包括:手算结果与程序计算结果的分析比较;本次上机体会,如:独立编程体会、跟踪调试技能的掌握情况,C语言中结构体、指针、文件输入输出的掌握情况等。

报告要求:
报告必须手写(最好使用黑色水笔)。

报告统一采用A4打印纸书写(留出页边距: 1.5~2厘米)。

不使用实验报告纸。

封面按上述格式书写。

装订统一在左侧1厘米,三个钉。

上述五部分内容必须齐全,各部分内容可以扩充。

报告书写要求字迹清楚,不得潦草。

报告必须与本人提交程序吻合,否则取消成绩。

报告不得有雷同,否则全部取消成绩。

电力系统潮流计算实验报告

电力系统潮流计算实验报告

电力系统潮流上机计算实验报告11.手算过程已知:节点1:PQ 节点,节点, s(1)= s(1)= -0.5000-j0.3500 节点2:PV 节点,节点, p(2)=0.4000 v(2)=1.0500 p(2)=0.4000 v(2)=1.0500 节点3:平衡节点,:平衡节点,U(3)=1.0000U(3)=1.0000U(3)=1.0000∠∠0.0000 网络的连接图:0.0500+j0.2000 1 0.0500+j0.2000231)计算节点导纳矩阵由2000.00500.012j Z +=Þ71.418.112j y -=; 2000.00500.013j Z +=Þ71.418.113j y -=;\导纳矩阵中的各元素:42.936.271.418.171.418.1131211j j j y y Y -=-+-=+=;71.418.11212jy Y +-=-=; 71.418.11313j y Y +-=-=; =21Y71.418.11212j y Y +-=-=; 71.418.12122j y Y -==; 002323j y Y +=-=;=31Y 71.418.11313j y Y +-=-=; =32Y 002323j y Y +=-=; 71.418.13133j y Y -==;\形成导纳矩阵B Y :úúúûùêêêëé-++-+-+-+-+--=71.418.10071.418.10071.418.171.418.171.418.171.418.142.936.2j j j j j j j j j Y B 2)计算各PQ PQ、、PV 节点功率的不平衡量,及PV 节点电压的不平衡量:取:000.0000.1)0(1)0(1)0(1j jf e U +=+=000.0000.1)0(2)0(2)0(2j jf e U +=+=节点3是平衡节点,保持000.0000.1333j jf e U +=+=为定值。

华电潮流上机计算实验报告全解

华电潮流上机计算实验报告全解

院系:电气与电子工程学院班级:电气1205学号:1121181223学生姓名:王城指导教师:孙英云设计周数:两周成绩:日期:2015年7月7日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算2.计算机计算3.思考题三、课程设计总结或结论(详细内容见附录)四、参考文献1.《电力系统计算:电子数字计算机的应用》,西安交通大学等合编。

北京:水利电力出版社;2.《现代电力系统分析》,王锡凡主编,科学出版社;3.《电力系统稳态分析》,陈珩,中国电力出版社,1995年,第三版;附录(设计流程图、程序、表格、数据等)4.机算潮流程序及结果// dierti.cpp : 定义控制台应用程序的入口点。

//#include "stdafx.h"struct Line //线路结构体{int Num,NumI,NumJ; //线路号左节点名右节点名float R,X,B,K; //电阻电抗电纳变比(K等于1为普通支路,不等于1为变压器支路的变比) };struct Bus //节点结构体{int Num ;float Volt,Phase,GenP,GenQ,LoadP,LoadQ;int Type;};#include"stdio.h"#include"string.h"#include"math.h"#include"stdlib.h"#define NBUS 4#define NLINE 4/* Global variables */int nL,nB,nVA,nSH;float X[NBUS];int L;double def[2*NBUS];double mn[50];void Gauss(double a[50][50],double b[50], int n) /*定义高斯法 */{int JS[50];int i,j,k;float d,t,x[50];FILE *fp;int L=1;for(i=0;i<50;i++) JS[i]=0;for(k=0;k<n;k++){d=0.0;for(j=k;j<n;j++)if(fabs(a[k][j])>d){ /*在一行中找到一个最大值赋值d,并用JS[K]记住这个最大值所在的列号*/ d=fabs(a[k][j]);JS[k]=j;}if(fabs(d)<0.000001) /*如果d的数值太小,做为被除数将带来很大的误差 */L=0;else {if(JS[k]!=k)for(i=0;i<n;i++){t=a[i][k];a[i][k]=a[i][JS[k]]; /*进行列交换,让最大值始终在对角元上*/a[i][JS[k]]=t;}}if(L==0)break;for(j=k+1;j<n;j++)a[k][j]=a[k][j]/a[k][k]; /*对角元上的元素消为1*/b[k]=b[k]/a[k][k];for(i=k+1;i<n;i++){for(j=k+1;j<n;j++)a[i][j]=a[i][j]-a[i][k]*a[k][j]; /*使下三角阵的元素为0*/b[i]=b[i]-a[i][k]*b[k];}}if(fabs(a[n-1][n-1])>0.00001){ /*用追赶法,解方程组,求未知数x*/ x[n-1]=b[n-1];for(i=n-2;i>=0;i--){t=0.0;for(j=i+1;j<n;j++)t=t+a[i][j]*x[j];x[i]=(b[i]-t);}}if((fp=fopen("gauss.txt","w"))==NULL) /*将结果写到TXT文件中*/{printf("err");exit(0);}for(i=0;i<n;i++){fprintf(fp,"%lf",x[i]);mn[i]=x[i];fprintf(fp,"\n");}fclose(fp);if(fp!=NULL) fclose(fp);}int _tmain(int argc, _TCHAR* argv[]){FILE *fp;FILE *fpout;int i,j,k,l,h,n,v;int i1,i2,i3,kp,kq;float d1,d2,d3,d4,d5,d6,r,x,g,b,tt,LL,e,ps,qs,shsh,m;struct Line sL[NLINE];struct Bus sB[NBUS];float YG[NBUS+1][NBUS+1],YB[NBUS+1][NBUS+1];double u[50][2];i1=i2=i3=0;d1=d2=d3=d4=d5=d6=ps=qs=0.0;for(i=0;i<NBUS;i++)if((fp=fopen("in.txt","r"))==NULL){ printf("Can not open the file named 'in.txt' \n");exit(0);}fscanf(fp,"%d,%d,%d",&nB,&nL,&nSH);for(i=0;i<nB;i++){sB[i].Num=sB[i].Type=0;sB[i].Volt=1.0;sB[i].Phase=sB[i].GenP=sB[i].GenQ=sB[i].LoadP=sB[i].LoadQ=0.0;fscanf(fp,"%d,%f,%f,%f,%f,%f,%f,%d",&i1,&d1,&d2,&d3,&d4,&d5,&d6,&i2);sB[i].Num=i1;sB[i].Volt=d1;sB[i].Phase=d2;sB[i].GenP=d3;sB[i].GenQ=d4;sB[i].LoadP=d5,sB[i].LoadQ=d6;sB[i].T ype=i2;};for(i=0;i<nL;i++){sL[i].Num=sL[i].NumI=sL[i].NumJ=0;sL[i].R=sL[i].X=sL[i].B=0.0;sL[i].K=1.0;fscanf(fp,"%2d %3d %3d %f %f %f %f",&i1,&i2,&i3,&d1,&d2,&d3,&d4);sL[i].Num=i1;sL[i].NumI=i2;sL[i].NumJ=i3;sL[i].R=d1;sL[i].X=d2;sL[i].B=d3;sL[i].K=d4;}if(fp!=NULL) fclose(fp);/*Make Y Matrix*/for(i=1;i<nB+1;i++)for(j=1;j<nB+1;j++){YG[i][j]=0.0;YB[i][j]=0.0;};for(l=0; l<nL; l++){i=sL[l].NumI;j=sL[l].NumJ;r=sL[l].R;x=sL[l].X;d1=r*r+x*x;g=r/d1;b=-x/d1;m=sL[l].K;if(fabs(sL[l].K-1.0)<0.000001) //普通支路 {YG[i][i]=YG[i][i]+g;YG[j][j]=YG[j][j]+g;YB[i][i]=YB[i][i]+b+sL[l].B;YB[j][j]=YB[j][j]+b+sL[l].B;YG[i][j]=YG[i][j]-g;YG[j][i]=YG[j][i]-g;YB[i][j]=YB[i][j]-b;YB[j][i]=YB[j][i]-b;}else //变压器支路{YG[i][i]=YG[i][i]+g/m+g*(m-1)/m;YG[j][j]=YG[j][j]+g/m+g*(1-m)/m/m;YB[i][i]=YB[i][i]+b/m+b*(m-1)/m;YB[j][j]=YB[j][j]+b/m+b*(1-m)/m/m;YG[i][j]=YG[i][j]-g/m;YG[j][i]=YG[j][i]-g/m;YB[i][j]=YB[i][j]-b/m;YB[j][i]=YB[j][i]-b/m; }}/* Check the Y matrix */if((fp=fopen("GGBB.txt","w"))==NULL){printf("Can not open the file named 'GGBB.txt' \n");exit(0);}fprintf(fp,"---Y Matrix---\n");for(i=1;i<nB+1;i++)for(j=1;j<nB+1;j++)if(fabs(YB[i][j]-0.0)>0.000001) fprintf(fp,"Y(%3d,%-3d)=(%10.5f,%10.5f)\n",i,j,YG[i][j],YB[i][j]);if(fp!=NULL) fclose(fp);/* 节点电压附初值 */for(i=1;i<nB+1;i++){if(sB[i-1].Type==0){u[i][0]=0.0;u[i][1]=1.0;}else if(sB[i-1].Type==1){u[i][1]=sB[i-1].Volt;u[i][0]=0.0;}else if(sB[i-1].Type==2){u[i][1]=sB[i-1].Volt;u[i][0]= sB[i-1].Phase;}}for(v=1;;v++)/* 迭代次数可以无限大 */{/* 节点电压附初值 */printf("迭代第%d次赋予的电压初值为e+jf:\n",v); for(i=1;i<nB+1;i++)printf("%lf,%lf\n",u[i][1],u[i][0]);printf("\n");printf("\n");/* 求偏移量 */double P_P[10];double P_Q[10];double P_UU[10];for(i=1;i<nB+1;i++){if(sB[i-1].Type==2){P_P[i]=0.0;P_Q[i]=0.0;P_UU[i]=1.05;}if(sB[i-1].Type==0){double tempP=0.0;double tempQ=0.0;for(j=1;j<nB+1;j++){tempP+=YG[i][j]*u[j][1]-YB[i][j]*u[j][0];tempQ+=YG[i][j]*u[j][0]+YB[i][j]*u[j][1];}P_P[i]=(sB[i-1].GenP-sB[i-1].LoadP)-tempP*u[i][1]-tempQ*u[i][0]; P_Q[i]=(sB[i-1].GenQ-sB[i-1].LoadQ)-tempP*u[i][0]+tempQ*u[i][1]; P_UU[i]=0.0;}if(sB[i-1].Type==1){double tempP=0.0;double tempQ=0.0;for(j=1;j<nB+1;j++){tempP+=YG[i][j]*u[j][1]-YB[i][j]*u[j][0];tempQ+=YG[i][j]*u[j][0]+YB[i][j]*u[j][1];P_P[i]=(sB[i-1].GenP-sB[i-1].LoadP)-tempP*u[i][1]-tempQ*u[i][0]; }P_UU[i]=sB[i-1].Volt*sB[i-1].Volt-u[i][1]*u[i][1]-u[i][0]*u[i][0]; P_Q[i]=0.0;}}/* 偏移量阵 */double P_PQ[6];int a=0;for(i=1;i<3;i++){P_PQ[a]=P_P[i];a=a+2;}a=1;for(i=1;i<3;i++){P_PQ[a]=P_Q[i];a=a+2;P_PQ[4]=P_P[3];P_PQ[5]=P_UU[3];printf("迭代第%d次的偏移量为:\n",v);for(i=0;i<6;i++){printf("%f",P_PQ[i]);printf("\n");}printf("\n");printf("\n");/* 雅可比矩阵 */double H[6][6],N[6][6],J[6][6],L[6][6],R[6][6],S[6][6],aa[6],bb[6]; for(i=1;i<5;i++){ if(fabs(sB[i-1].Type-2.0)<0.000001)continue;else{for(j=1;j<5;j++)if(i!=j){H[i][j]=-YB[i][j]*u[i][1]+YG[i][j]*u[i][0];N[i][j]=YG[i][j]*u[i][1]+YB[i][j]*u[i][0];J[i][j]=-N[i][j];L[i][j]=H[i][j];R[i][j]=0;S[i][j]=0;}else{aa[i]=bb[i]=0.0;aa[i]+=YG[i][n]*u[n][1]-YB[i][n]*u[n][0];bb[i]+=YG[i][n]*u[n][0]+YB[i][n]*u[n][1];}H[i][i]=-YB[i][i]*u[i][1]+YG[i][i]*u[i][0]+bb[i]; N[i][i]=YG[i][i]*u[i][1]+YB[i][i]*u[i][0]+aa[i]; J[i][i]=-YG[i][i]*u[i][1]-YB[i][i]*u[i][0]+aa[i]; L[i][i]=YG[i][i]*u[i][0]-YB[i][i]*u[i][1]-bb[i]; R[i][i]=2*u[i][0];S[i][i]=2*u[i][1];}}}double ss[50][50];for(i=0;i<6;i++)for(j=0;j<6;j++)ss[i][j]=0.0;for(i=1;i<3;i++)for(j=1;j<4;j++){ss[2*i-2][2*j-2]=H[i][j];ss[2*i-2][2*j-1]=N[i][j];ss[2*i-1][2*j-2]=J[i][j];ss[2*i-1][2*j-1]=L[i][j];}i=3;for(j=1;j<4;j++){ss[2*i-2][2*j-2]=H[i][j];ss[2*i-2][2*j-1]=N[i][j];ss[2*i-1][2*j-2]=R[i][j];ss[2*i-1][2*j-1]=S[i][j];}printf("迭代第%d次的雅可比矩阵为:\n",v);for(i=0;i<6;i++){for(j=0;j<6;j++)printf("%10f",ss[i][j]);printf("\n");}printf("\n");printf("\n");Gauss(ss,P_PQ,6);for(i=1;i<nB;i++){u[i][0]=u[i][0]+mn[2*(i-1)];u[i][1]=u[i][1]+mn[2*i-1];}double max;max=fabs(P_PQ[0]);for(i=0;i<=5;i++)if (max<fabs(P_PQ[i]))max=fabs(P_PQ[i]);if(fabs(max)<0.0001){printf("满足精度要求,迭代终止,迭代次数为%d\n",v); printf("\n");}/* 叠代循环的括号 */printf("最终求得的节点电压值为e+jf:\n");for(i=1;i<nB+1;i++)printf("%lf,%lf\n",u[i][1],u[i][0]);printf("\n");printf("\n");double uu[5],Phase[5];for(i=1;i<nB+1;i++){uu[i]=sqrt(u[i][1]*u[i][1]+u[i][0]*u[i][0]); Phase[i]=atan(u[i][0]/u[i][1]);}for(i=1;i<nB+1;i++)printf("%lf,%lf\n",uu[i],Phase[i]);*计算线路功率和平衡节点 PV节点功率*/double P[5],Q[5];double tempP=0.0;double tempQ=0.0;for(i=1;i<nB+1;i++){for(j=1;j<nB+1;j++){tempP+=YG[i][j]*u[j][1]-YB[i][j]*u[j][0]; tempQ+=YG[i][j]*u[j][0]+YB[i][j]*u[j][1];}P[i]=tempP*u[i][1]+tempQ*u[i][0];Q[i]=tempP*u[i][0]-tempQ*u[i][1];}for(i=1;i<nB+1;i++)printf("节点%d注入功率为%lf,%lf\n",i,P[i],Q[i]);/* 支路功率 */double V[4][2];for(i=1;i<5;i++)for(j=0;j<3;j++)V[i][j]=u[i][j];double sP[5][5],sQ[5][5];double dsq,dsp,dp,sumgen;for(i=1;i<NBUS+1;i++){for(j=1;j<NBUS+1;j++){sP[i][j]=0.0;sQ[i][j]=0.0;}}for(l=0; l<nL; l++){i=sL[l].NumI;j=sL[l].NumJ;r=sL[l].R;x=sL[l].X;d1=r*r+x*x;if(fabs(sL[l].K-1.0)<0.000001){/*Normal lines or transformers*/sP[i][j]=V[i][1]*V[i][1]*g-V[i][1]*V[j][1]*(g*cos(V[i][0]-V[j][0])+b*sin(V[i][0]-V[j][0]));sQ[i][j]=-(V[i][1]*V[i][1]*sL[l].B+V[i][1]*V[i][1]*b+V[i][1]*V[j][1]*(g*sin(V[i][0]-V[j][0])-b*cos(V[i ][0]-V[j][0])));sP[j][i]=V[j][1]*V[j][1]*g-V[i][1]*V[j][1]*(g*cos(V[j][0]-V[i][0])+b*sin(V[j][0]-V[i][0]));sQ[j][i]=-(V[j][1]*V[j][1]*sL[l].B+V[j][1]*V[j][1]*b+V[i][1]*V[j][1]*(g*sin(V[j][0]-V[i][0])-b*cos(V[j ][0]-V[i][0])));}else{/*abnormal transformer ratio*/sP[i][j]=V[i][1]*V[i][1]*g/sL[l].B/sL[l].B-V[i][1]*V[j][1]*(g*cos(V[i][0]-V[j][0])/sL[l].B+b*sin(V[i][ 0]-V[j][0])/sL[l].B);sQ[i][j]=-(V[i][1]*V[i][1]*b/sL[l].B/sL[l].B+V[i][1]*V[j][1]*(g*sin(V[i][0]-V[j][0])/sL[l].B-b*cos(V[i ][0]-V[j][0])/sL[l].B));sP[j][i]=V[j][1]*V[j][1]*g-V[i][1]*V[j][1]*(g*cos(V[j][0]-V[i][0])/sL[l].B+b*sin(V[j][0]-V[i][0])/sL[l ].B);sQ[j][i]=-(V[i][1]*V[i][1]*b+V[i][1]*V[j][1]*(g*sin(V[j][0]-V[i][0])/sL[l].B-b*cos(V[j][0]-V[i][0])/sL [l].B));}}/* 输电效率 */dsp=P[4];sumgen=P[4];for(i=0;i<NBUS;i++){dsp+=sB[i].GenP-sB[i].LoadP;dsq+=sB[i].GenQ-sB[i].LoadQ;sumgen+=sB[i].GenP;}dp=dsp/sumgen*100;/* 输出功率情况 */if((fp=fopen("功率情况.txt","w"))==NULL){printf("Can not open the file named '功率情况.txt' \n");exit(0);}fprintf(fp,"---功率情况---\n");fprintf(fp,"平衡节点功率S=%10.5f+ j%10.5f\n",P[4],Q[4]);for(i=1;i<NBUS+1;i++)for(j=1;j<NBUS+1;j++)if(fabs(sP[i][j]-0.0)>0.000001)fprintf(fp,"S(%3d,%-3d)=(%10.5f,j%10.5f)\n",i,j,sP[i][j],sQ[i][j]); fprintf(fp,"网损为%10.5f+j%10.3f,输电效率为%10.3f\n",dsp,dsq,100-dp);if(fp!=NULL) fclose(fp);return 0;}结果:1.导纳阵Y( 1,1 )=( 1.01534, -8.19201) Y( 1,2 )=( -0.56148, 2.30208) Y( 1,3 )=( 0.00000, 3.66667) Y( 1,4 )=( -0.45386, 1.89107) Y( 2,1 )=( -0.56148, 2.30208) Y( 2,2 )=( 1.04225, -4.67651) Y( 2,4 )=( -0.48077, 2.40385) Y( 3,1 )=( 0.00000, 3.66667) Y( 3,3 )=( 0.00000, -3.33333) Y( 4,1 )=( -0.45386, 1.89107) Y( 4,2 )=( -0.48077, 2.40385) Y( 4,4 )=( 0.93463, -4.26159)2.设定电压初值01.1;01;01)0(3)0(3)0(2)0(2)0(1)0(1j jf e j jf e j jf e +=++=++=+ 3.计算功率和电压偏移;27731.0])()([41)0(11)0(1)0(141)0(11)0(1)0(11)0(11)0(1-=++--=-=∆∑∑==j j j j j j jj s s e B f G ff B eG e P P P P0.05097])()([41)0(11)0(1)0(141)0(11)0(1)0(11)0(11)0(1-=----=-=∆∑∑==jj j j jj jj s s e B f G ef B e G f Q Q Q Q同理可算出52596.0)0(22)0(2-=-=∆P P P s ,0196.0)0(22)0(2=-=∆Q Q Q s 5.0)0(33)0(3=-=∆P P P s ,0.02)0(3232)0(3=-=∆U U U s 4.根据求的第一次迭代时雅可比矩阵各元素的公式计算雅可比矩阵各个元素的具体值:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤-----------⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡20000.200066667.300003334.40052691.406629.130208.256148.00001821.182612.456148.030208.266667.3030208.256148.006298.803803.1066667.356148.030208.299265.032104.85.求高斯计算后的修正量:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆∆∆∆=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆∆∆∆-0.0000000.1276520.023566-0.108546-0.006511-0.007919-2)0(3)0(3)0(2)0(2)0(1)0(11)0()0(3)0(3)0(2)0(2)0(1)0(1U P Q P Q P e f e f e f J 6.计算各节点电压的一次近似值:12765.010855.000792.010000.197643.099349.0)0(3)0(3)1(3)0(2)0(2)1(2)0(1)0(1)1(1)0(3)0(3)1(3)0(2)0(2)1(2)0(1)0(1)1(1=∆+=-=∆+=-=∆+==∆+==∆+==∆+=f f f f f f fffe e e e e e e e e返回第三步重新迭代,并校验收敛与否,令410-=ε。

华北电力大学潮流上机课程设计报告

华北电力大学潮流上机课程设计报告

课程设计报告( 2014—2015年度第一学期) 名称:电力系统潮流上机院系:电气与电子工程学院班级:电气1215 学号:学生姓名:指导教师:王莉丽设计周数:两周成绩:日期: 2015年1月4日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算2.计算机计算3.思考题三、课程设计总结或结论四、参考文献1.《电力系统分析基础》,李庚银,机械工业出版社,2011年,第一版;2.《电力系统稳态分析》,陈珩,中国电力出版社,2007年,第三版;附录(包括:1.手算过程及结果;2.计算机计算流程图、表格、数据;3.思考题答案)附录1.手算过程及结果2.计算机计算流程图3.完整的潮流程序头文件(定义变量):#define Bus_Num 9#define Line_Num 9#define Precision 1e-5struct Bus{int No ;float Voltage,Phase,GenP,GenQ,LoadP,LoadQ;int Type;}gBus[Bus_Num];struct Line{int No,No_I,No_J;float R,X,B,k;}gLine[Line_Num];float gY_G[Bus_Num][Bus_Num],gY_B[Bus_Num][Bus_Num];float gDelta_P[Bus_Num-1],gDelta_Q[Bus_Num-1],gDelta_PQ[2*(Bus_Num-1)]; float gJaccobi[2*(Bus_Num-1)][2*(Bus_Num-1)];float gDelta_f[Bus_Num-1],gDelta_e[Bus_Num-1],gDelta_fe[2*(Bus_Num-1)]; float gf[Bus_Num],ge[Bus_Num];主程序:// flow.cpp: 主项目文件#include"stdafx.h"#include"NEquation.h"#include"math.h"#include"stdio.h"#include"config.h"using namespace System;void 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)=4;ob1.Value(1)=6;ob1.Run();printf("x1=%f\n",ob1.Value(0));printf("x2=%f\n",ob1.Value(1));}void GetData()//Read the data{FILE *fp;int i;fp=fopen("E:\\1121960726\\flow\\data\\data.txt","r");if(fp==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",&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);}void GetYMatrix(){int i,j,bus1,bus2;float r,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;d=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;}}// output the Y matrixfp=fopen("E:\\1121960726\\flow\\data\\ymatrix.txt","w");if(fp==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_G[i][j],gY_B[i][j]);}}fclose(fp);}void SetInitial(){int i;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;}}}void GetUnbalance(){int i,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节¨2点ì?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节¨2点ì?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]);}}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);}void GetJaccobi(){int i,j;float ga[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节¨2点ì?{gJaccobi[2*i+1][2*j]=0;gJaccobi[2*i+1][2*j+1]=0;}else//PQ{gJaccobi[2*i+1][2*j]=-gJaccobi[2*i][2*j+1];gJaccobi[2*i+1][2*j+1]=gJaccobi[2*i][2*j];}}else{gJaccobi[2*i][2*j]=-gY_B[i+1][j+1]*ge[i+1]+gY_G[i+1][j+1]*gf[i+1]+gb[i];gJaccobi[2*i][2*j+1]=gY_G[i+1][j+1]*ge[i+1]+gY_B[i+1][j+1]*gf[i+1]+ga[i];if(gBus[i+1].Type==2) //PV节¨2点ì?{gJaccobi[2*i+1][2*j]=2*gf[i+1];gJaccobi[2*i+1][2*j+1]=2*ge[i+1];}else//PQ节点{gJaccobi[2*i+1][2*j]=-gY_G[i+1][j+1]*ge[i+1]-gY_B[i+1][j+1]*gf[i+1]+ga[i];gJaccobi[2*i+1][2*j+1]=-gY_B[i+1][j+1]*ge[i+1]+gY_G[i+1][j+1]*gf[i+1]-gb[i];}}}}fp=fopen(,"w");if(fp==NULL){printf("无法打开文件:” '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.5f\n",i+1,j+1,gJaccobi[i][j]);}}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)=gJaccobi[i][j];for(i=0;i<=2*Bus_Num-3;i++)ob1.Value(i)=gDelta_PQ[i];ob1.Run();for(i=0;i<=Bus_Num-2;i++){gDelta_f[i]=ob1.Value(2*i);gDelta_e[i]=ob1.Value(2*i+1);gDelta_fe[2*i]=gDelta_f[i];gDelta_fe[2*i+1]=gDelta_e[i];}fp=fopen("E:\\1121960726\\flow\\data\\revised.txt","w");if(fp==NULL){printf("无法打开文件:” 'revised.txt' \n");return ;}fprintf(fp,"---Revised---\n");for(i=0;i<=2*Bus_Num-3;i++){fprintf(fp,"revised[%d]=%10.5f\n",i+1,gDelta_fe[i]);}fclose(fp);}void GetNewValue(){int i;FILE *fp;for(i=0;i<=Bus_Num-2;i++){gf[i+1]=gf[i+1]+gDelta_f[i];ge[i+1]=ge[i+1]+gDelta_e[i];}fp=fopen("E:\\1121960726\\flow\\data\\newvalue.txt","w");if(fp==NULL){printf("无法打开文件:”'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.5f\n",i+1,gf[i+1],i+1,ge[i+1]); }fclose(fp);}int main(array<System::String ^> ^args){int i,Count_Num;float maxValue;//test();GetData();GetYMatrix();SetInitial();for(Count_Num=0;Count_Num<=100;Count_Num++) {GetUnbalance();GetJaccobi();GetRevised();GetNewValue();maxValue=fabs(gDelta_fe[0]);for(i=1;i<=2*(Bus_Num-1)-1;i++){if(maxValue<fabs(gDelta_fe[i])){maxValue=fabs(gDelta_fe[i]);}}if(maxValue<Precision){break;}}printf("%d\n",Count_Num);for(i=0;i<=Bus_Num-1;i++){printf("%10.5f\n",sqrt(ge[i]*ge[i]+gf[i]*gf[i]));}while(true){}return 0;}计算结果:(1)原始数据:(2)节点导纳矩阵:(3)Jacobi矩阵:(4)NewVoltageValue:(5)不平衡量:(6)修正量:(6)结果:3.回答思考题1.潮流计算的方法有哪些?各有何特点?2. 如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)3. 设计中遇到的问题和解决的办法。

王超的潮流上机课程设计报告-推荐下载

王超的潮流上机课程设计报告-推荐下载

3.3 设计中遇到的问题和解决的办法。 1.在设计最开始遇到的问题就是由于以前 C++语言所学习的知识遗忘较多,对于程序的使 用不太熟练,通过老师讲解、看书、询问同学逐渐扫除了这个障碍。 2.设计的时候对于电力系统整体的知识脉络不是很清晰,编写程序时所定义的变量容易 弄混淆,编写的程序产生了较多的错误,经过仔细学习和对每一排程序的排查,找出 了产生错误的地方。同时也对潮流计算的过程有了更清楚的认识。
元旦过后,正式进入状态,开始大规模编写程序。在课本和老师的指导下,从文件的读入,到形成 节点导纳矩阵,都花费了很长时间,在形成雅克比矩阵中,我的程序出现了错误,结果查明是下表没有 对应。
最后一部分就是计算线路功率和损耗。这部分老师没有给出例子。但是经过这样一个时间的训练, 在课本公式的推导下,我把公式分解成实部和虚部,分别计算。在输入时,还是要十分注意下标的对应。 最后部分的编写解释主程序,主要是负责把几个已经编号的子程序调用,还要同时编写控制循环精度和 次数的条件。这部分主要是应用 Break 语句和循环,让迭代过程收敛。
《电力系统潮流上机》课程设计报告
院 系:电气与电子工程学院
班 级: 电网 1102
学 号:
学生姓名:
指导教师:
设计周数:
成 绩:
24
Байду номын сангаас王超
王莉丽
两周
日期:2013 年 12 月 30 日
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线产中0不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资2负料2,荷试而下卷且高总可中体保资配障料置各试时类卷,管调需路控要习试在题验最到;大位对限。设度在备内管进来路行确敷调保设整机过使组程其高1在中正资,常料要工试加况卷强下安看与全22过,22度并22工且22作尽22下可护都能1关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编试技5写、卷术重电保交要气护底设设装。备备置管4高调、动线中试电作敷资高气,设料中课并技3试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

电力系统潮流上机设计教学指导书

电力系统潮流上机设计教学指导书

电力零售仿真实验教学指导书一、综合实验的概述1.目的:培养学生对电力销售环节的分析能力,把握电力零售的相关知识。

2.使用的工具:零售市场仿真实验软件3.全然要求:把握电力销售环节的交易模型;销售电价的分类;电费计算;分析不同负荷特性的电力用户执行不同电价类不的差异。

4.考核方法:总成绩=出勤情况+设计报告+面试成绩5.参考教材:区域电力市场电价机制张粒子、郑华北京:中国电力出版社,2004二、综合实验的要求1.依据各类用户负荷数据,把握用户负荷特性分析方法。

2.把握销售电价中的电价结构。

3.把握各类电价制度的电费结算模型。

4.把握各类电价制度的特点、适用的用户范围。

5.对EXCEL的把握:翻开文件、维持文件、另存文件;读取计算数据;制作分析表格;依据分析数据制作展示图。

三、综合实验的内容实验一:电力用户负荷特性分析〔一〕根底理论知识预备:电力用户负荷特性1)电力用户用电负荷曲曲折折曲曲折折折折曲曲折折曲曲折折折折折折线:将电力用户的有功负荷,按时刻序列绘制成的图形,称为负荷曲曲折折曲曲折折折折曲曲折折曲曲折折折折折折线。

(1) 日负荷曲曲折折曲曲折折折折曲曲折折曲曲折折折折折折线:标示出一天内每小时〔每半小时、每15分钟〕的负荷值,反映一天内负荷动态。

(2) 年负荷曲曲折折曲曲折折折折曲曲折折曲曲折折折折折折线:标示出一年内每月的最高负荷值,反映一年内各月负荷动态。

2)要紧的负荷特性指标及计算(1) 最高负荷:报告期〔日、月、季、年〕内记录的负荷中,数值最大的一个。

(2) 最低负荷:报告期〔日、月、季、年〕内记录的负荷中,数值最小的一个。

(3) 平均负荷:报告期内瞬间负荷的平均值,即负荷时刻数列时序平均数。

(4) 负荷率:平均负荷与最高负荷的比率。

负荷率〔%〕=⨯)k k W W 报告期最高负荷()报告期平均负荷(100% (5) 最小负荷率:报告期最低负荷与最高负荷的比率。

最小负荷率〔%〕=⨯)报告期最高负荷()报告期最低负荷(W W k k 100%(6) 峰谷差:最高负荷与最低负荷之差。

电力系统潮流上机课程设计报告

电力系统潮流上机课程设计报告

课程设计报告( 2010—2011年度第一学期)名称:电力系统潮流上机院系:电气与电子工程学院班级:电气0911学号:XXXXX学生姓名:XXXX指导教师:XXXX设计周数:两周成绩:日期:2012年1月5日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)总体步骤如下:读入相关数据 -> 构造节点导纳阵Y -> 计算ΔP,ΔQ,构造Δf -> 构造雅克比矩阵 -> 计算潮流分布(包括迭代修正数据) -> 输出结果3 2 1母线数据1 3 1.0 0 0 0 0 02 1 1.0 0 0.8 0.6 0 03 2 1.1 0 0 0 0.4 0支路数据1 1 3 1 0.0497 0.2000 0 02 1 2 1 0.0100 0.0400 0 0接地支路1 3 0 0.33迭代数量:iteration = 3计算结果:电压相角(弧度)相角1 0 00.96653 -0.0269036 -1.541461.1 0.05205522.98255母线上的P和Q注入:编号 P Q1 0.425894 0.2458942 -0.8 -0.63 0.4 0.0587502线路潮流分布:编号 I J Sij Sji1 1 3 -0.38481+j-0.396925 -0.139061+j0.5920072 1 2 0.810705+j0.642819 0.423529+j-0.905883功率损耗:Ploss = 0.0258945 Qloss = -0.2953569 9 0母线数据1 3 1.04 0. 0. 0. 71.641 27.045922 2 1.025 0. 0. 0. 163. 6.653663 2 1.025 0. 0. 0. 85. -10.85974 1 1. 0. 0. 0. 0. 0.5 1 1. 0. 125. 50. 0. 0.6 1 1. 0. 90. 30. 0. 0.7 1 1. 0. 0. 0. 0. 0.8 1 1. 0. 100. 35. 0. 0.9 1 1. 0. 0. 0. 0. 0. 支路数据1 4 12 0. 0.0576 0. 1.2 7 2 2 0. 0.0625 0. 1.3 9 3 2 0. 0.0586 0. 1.4 7 8 1 0.0085 0.072 0.149 05 9 8 1 0.0119 0.1008 0.209 06 7 5 1 0.032 0.161 0.306 07 9 6 1 0.039 0.17 0.358 08 5 4 1 0.01 0.085 0.176 09 6 4 1 0.017 0.092 0.158 0迭代数量:iteration = 4计算结果:电压相角(弧度)相角1.04 0 01.025 0.165578 9.486941.025 0.0833249 4.774171.0105 -0.039445 -2.260050.9727 -0.070866 -4.060350.9890 -0.064734 -3.709031.0113 0.067145 3.847140.9972 0.013673 0.783421.0180 0.0355712.03811母线上的P和Q注入:编号 P Q1 0.71641 0.5468462 1.63 0.3040183 0.85 0.1424344 0 05 -1.25 -0.56 -0.9 -0.37 0 08 -1 -0.359 0 0线路潮流分布:编号 I J Sij Sji1 4 1 -0.719499+j-0.503352 -0.719499+j0.5468462 7 2 -1.63+j-0.140465 -1.63+j0.3040183 9 3 -0.85+j-0.101004 -0.85+j0.1424344 7 8 0.763816+j0.0521904 0.717905+j-0.3345885 9 8 0.242231+j0.0755265 0.193826+j-0.3301066 7 5 0.866184+j-0.0280722 0.775227+j-0.4739837 9 6 0.607769+j-0.121426 0.533117+j-0.436418 5 4 -0.407805+j-0.461515 -0.305617+j0.4004949 6 4 -0.306286+j-0.248276 -0.222811+j0.200074功率损耗:Ploss = 0.0494989 Qloss = -0.156702三、课程设计总结或结论本次课程实验有如下的收获:1.学会使用基本的c++语法进行程序编写,掌握了指针与数组的关系与其应用。

潮流计算课程设计总结

潮流计算课程设计总结

潮流计算课程设计总结一、教学目标本课程的教学目标是使学生掌握潮流计算的基本理论、方法和应用,培养学生运用潮流计算解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解潮流计算的基本概念、原理和公式;(2)掌握潮流计算的方法和步骤;(3)熟悉潮流计算在电力系统中的应用。

2.技能目标:(1)能够独立进行简单潮流计算;(2)能够分析潮流计算结果,判断系统运行状态;(3)能够运用潮流计算解决实际问题。

3.情感态度价值观目标:(1)培养学生对电力系统的兴趣和责任感;(2)培养学生勇于探索、积极思考的科学精神;(3)培养学生团队协作、交流分享的合作意识。

二、教学内容本课程的教学内容主要包括以下几个部分:1.潮流计算基本概念:介绍潮流计算的定义、作用和意义;2.潮流计算原理:讲解潮流计算的基本原理和公式;3.潮流计算方法:介绍潮流计算的常用方法和步骤;4.潮流计算应用:分析潮流计算在电力系统中的应用实例;5.潮流计算软件:介绍潮流计算软件的使用方法和技巧。

三、教学方法为实现教学目标,本课程将采用以下教学方法:1.讲授法:讲解潮流计算的基本概念、原理和方法;2.案例分析法:分析实际案例,使学生更好地理解潮流计算的应用;3.实验法:让学生动手进行潮流计算实验,提高实际操作能力;4.讨论法:分组讨论,培养学生的团队协作和交流分享能力。

四、教学资源为实现教学目标,本课程将采用以下教学资源:1.教材:选用权威、实用的潮流计算教材;2.参考书:提供丰富的潮流计算相关参考书籍;3.多媒体资料:制作课件、动画等多媒体教学资料;4.实验设备:配置潮流计算实验所需的硬件设备;5.网络资源:利用网络资源,了解潮流计算的最新发展动态。

五、教学评估本课程的教学评估将采用多元化、全过程的评价方式,全面、客观地评价学生的学习成果。

具体评估方式如下:1.平时表现:通过课堂提问、讨论、实验操作等环节,记录学生的表现,占总成绩的30%;2.作业:布置适量的作业,检查学生对知识的掌握程度,占总成绩的20%;3.考试:进行期中、期末考试,全面检验学生的学习成果,占总成绩的50%;4.实践项目:分组进行潮流计算实践项目,评估学生的实际操作能力。

电力系统潮流上机设计教学指导书(适用于VC)

电力系统潮流上机设计教学指导书(适用于VC)

电力系统潮流上机课程设计教学指导书(适用于VC)一、基础知识的要求1.掌握VC环境的建立,建立一个空的或者“hello world”的DOS工作平台。

2.掌握函数的定义,头文件的使用,函数调用方法。

了解类的概念,建立类对象,学会调用类成员函数。

3.掌握数据文件的打开和关闭,学会自己根据系统数据建立数据文件,并读取数据。

学会将计算结果写到文件中。

4.对VC环境的掌握:i.打开工作平台:file->open workspace(file->recent workspace)ii.打开工作平台中的文件:选择fileview页,在source file中双击想打开的.cpp文件,或者在header file中双击想打开的.h文件。

iii.保存文件:ctrl+siv.将已有文件加入当前工作平台中:如果是cpp文件,则选中source file,单击右键,选择add file to folder,加入希望加入的cpp文件。

如果是.h文件,则选中header file,单击右键,选择add file to folder,加入希望加入的头文件。

v.编译:所有的程序写完之后需要进行编译。

编译可以选择Build按钮,也可以用快捷键F7进行编译。

如果有语法错误,则会在output的build页显示出来,逐个双击定位,处理错误,解决问题。

vi.调试:设置断点(F9),进入调试状态或者执行至下一个断点(F5,或者点击界面上的“Go”按钮),单步执行(F10),进入子函数(F11),执行到鼠标所在位置(ctrl+F10),结束调试(shift+F5)。

vii.运行:运行可以点击界面上的“叹号”按钮,也可以使用快捷键ctrl+F5,使用这个命令时,所设置的断点是不起作用的。

5.《电力系统稳态分析》教材中第四章涉及到的基本知识。

二、设计注意事项1.变量的定义要写在变量被使用之前,变量不能被重复定义。

2.VC是区分大小写的。

潮流计算 课程设计

潮流计算 课程设计

课程设计(论文)题目名称潮流计算课程名称电力系统稳态分析学生姓名学号系、专业电气工程系、09级电力一班指导教师2012年1月7 日**课程设计(论文)任务书注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。

指导教师(签字):学生(签字):**课程设计(论文)评阅表学生姓名学号系电气工程及其自动化专业班级题目名称潮流计算课程设计课程名称电力系统分析一、学生自我总结二、指导教师评定注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。

目录摘要 (Ⅰ)第1章潮流计算概述及课题 (1)1.1 潮流计算概述 (1)1.2 潮流计算课题 (1)1.3 分析课题及求解思路 (2)第2章 PSCAD软件的应用及仿真结果 (3)2.1 PSCAD简介 (4)2.2 PSCAD的应用 (4)2.3 PSCAD仿真结果 (5)总结 (8)参考文献 (9)摘要从数学上说,朝流计算是要求解一组有潮流方程描述的非线性方程组。

电力系统潮流计算是电力系统分析中最重要最基本的计算,是电力运行、规划以及安全性、可靠性分析和优化的基础,也是各种电磁暂态和机电暂态分析的基础和出发点。

随着现代化的调度中心的建立,为了对电力系统进行实时安全监控,需要根据实时数据库所提供的信息。

PSCAD代表电力系统计算机辅助设计,PSCAD的开发成功,使得用户能更方便地使用EMTDC进行电力系统分析,使电力系统复杂部分可视化成为可能,而且软件可以作为实时数字仿真器的前置端。

可模拟任意大小的交直流系统。

关键词:潮流计算;PSCAD1潮流计算概述及题目1.1 潮流计算概述在电力系统运行和规划中,都需要研究电力系统稳定运行情况,确定电力系统的稳态运行状态。

给定电力系统的网络结构、参数和决定电力系统运行状况的边界条件,,确定电力系统运行的方法之一是朝流计算。

潮流课设阶段设计总结

潮流课设阶段设计总结

阶段设计总结学生姓名:学号:学院: 电气工程学院班级:题目: 电力系统潮流计算与分析综合设计职称: 指导教师:职称:2019年 1 月 10日1、问题分析:通过文献分析寻求电力系统复杂工程问题解决方案,对解决方案进行合理性评价,以获得有效结论。

(你做了哪些工作?有何心得体会)随着电力系统的发展,网络规模越来越大,网络结构变得更加复杂,加之串补电容和单相重合闸的广泛采用,发生复杂故障的几率越来越高,人们开始了复杂故障计算方法的研究[1]。

对于电力系统的运行来说,其存在一定的复杂性,从而影响了电力系统作用的正常发挥。

传统方法完全基于对称分量法,随故障类型、故障相别不同,需要考虑序网的串并联及多重故障中理想变压器的转角问题,组合繁多,不但计算速度和计算效率不理想,而且对于继电保护整定中需要考虑的一些特殊问题,计算模型变得复杂,甚至不宜使用。

针对以上问题,一些非常优秀的复杂故障计算模型已经被提出,但是由于采用故障类型阻抗参数模型,为了避免过渡阻抗或接地阻抗为无穷大时阻抗参数出现无穷大元素需要用一个有限值去模拟无穷大元素,引入了计算误差,而且,对于非接地横向故障,故障口边界条件的阻抗参数无定义,未能彻底解决故障计算模型的通用问题[2]。

从故障口边界条件导纳参数的一般形式出发,综合应用相序变换技术和广义戴维南定理采用电力系统复杂故障中故障端口电流的一种直接、简便计算方法,对过渡电阻处理简便,程序实现容易,计算精度高,通用性强,提供了计算复杂故障的新途径。

参考文献[1] 李欣,孟海霞.电力系统复杂性及其相关问题研究[J].水利水电工程,2015,5(13):23-28.[2]龚仁敏,禹成七,张永浩,车立志.继电器[J].气象科技,2013,31(3):417-421.2、设计、开发解决方案:能够在综合考虑社会、安全及环境等因素约束条件下完成电力系统优化运行的流程设计和方案的优选,用图纸、报告呈现系统设计成果,并在设计过程中体现创新意识。

关于潮流计算的课程设计

关于潮流计算的课程设计

关于潮流计算的课程设计一、课程目标知识目标:1. 理解潮流计算的基本概念,掌握电力系统潮流的基本方程和算法;2. 学习并掌握使用相关软件工具进行潮流计算的方法;3. 了解潮流计算在电力系统运行中的应用及其重要性。

技能目标:1. 能够运用所学的潮流计算方法,解决实际的电力系统平衡问题;2. 培养学生运用计算机软件进行电力系统分析的能力;3. 通过团队协作,提高学生的问题分析、数据解读和报告撰写技巧。

情感态度价值观目标:1. 培养学生对电力系统的兴趣,激发他们探索电力科学领域的热情;2. 强化学生的安全意识,认识到电力系统运行安全的重要性;3. 增强学生的环保意识,理解潮流计算在节能减排中的作用;4. 通过团队合作,培养学生的沟通能力和集体荣誉感。

课程性质分析:本课程旨在帮助学生建立电力系统潮流计算的基本理论框架,并通过实践操作,使学生掌握相关技能,为后续专业课程打下坚实基础。

学生特点分析:考虑到学生所在年级的知识深度,课程设计将结合学生的理论基础和实际应用能力,以引导式教学为主,鼓励学生主动探索和思考。

教学要求:1. 教学内容与课本紧密相关,注重理论与实践相结合;2. 采用案例教学,提高课程的实用性和针对性;3. 教学过程中注重培养学生的创新能力和实际操作能力。

二、教学内容1. 潮流计算基本概念:介绍潮流计算的定义、作用以及在电力系统运行中的重要性;教材章节:第一章第三节。

2. 潮流计算基本方程:讲解电力系统的基本潮流方程,包括功率方程、电压方程和相角方程;教材章节:第二章第一节。

3. 潮流计算算法:介绍常用的潮流计算算法,如牛顿-拉夫逊法、快速分解法和PQ分解法;教材章节:第二章第二节。

4. 潮流计算软件应用:指导学生使用相关软件(如PSS/E、DIgSILENT PowerFactory等)进行潮流计算;教材章节:第三章。

5. 潮流计算案例分析:分析实际电力系统潮流计算案例,使学生了解潮流计算在实际工程中的应用;教材章节:第四章。

华电潮流上机课程设计报告程序..doc

华电潮流上机课程设计报告程序..doc

院系:电气与电子工程学院班级:学号:学生姓名:指导教师:刘宝柱设计周数:成绩:日期:2012年1月5日课程课程设计报告一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算2.计算机计算3.思考题3.1潮流计算的方法有哪些?各有何特点?答:潮流计算的方法主要有高斯-赛德尔迭代法、牛顿-拉夫逊迭代法和P-Q分解法。

它们各自的特点如下:(1)高斯-赛德尔迭代法分为以节点导纳矩阵为基础的高斯-赛德尔迭代法和以以节点阻抗矩阵为基础的高斯-赛德尔迭代法的原理比较简单,要求的数字计算机的内存量也比较小,但收敛性差,当系统规模变大时,迭代次数急剧上升,往往出现迭代不收敛的情况;而阻抗法改善了电力系统潮流计算导纳法德收敛性问题,在当时获得了广泛的应用,但是,阻抗法的主要缺点是占用计算机的内存很大,每次迭代的计算量很大。

当系统不断扩大时,这些缺点就更加突出。

(2)牛顿-拉夫逊法是数学中求解非线性方程式的典型方法,有较好的收敛性。

只要在迭代过程中尽可能保持方程式系数矩阵的稀疏性,就可以大大提高牛顿潮流计算程序的计算效率,牛顿法在收敛性、内存要求、计算速度方面都超过了阻抗法,成为知道目前仍被广泛采用的方法。

(3)P-Q分解法潮流计算派生于以极坐标表示时的牛顿-拉夫逊法,它根据电力系统的特点,抓住主要矛盾,对纯数学的牛顿法进行了改造。

与牛顿法相比,P-Q分解法的修正方程的系数矩阵B’和B”分别是(n-1)和(m-1)的方阵,替代了原有的(n+m-2)阶系数矩阵J;B’、B”在迭代过程中可以保持不变且为对称的系数矩阵,提高了计算速度,降低了对存储容量的要求。

P-Q分解法在计算速度方面有显著地提高,迅速得到了推广。

3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)答:(1)在进行北京城市电网的潮流计算之前需要了解北京城市电网中所有的节点支路的相关数据,并对节点和支路分类。

华北电力大学潮流上机课程设计报告

华北电力大学潮流上机课程设计报告

课程设计报告( 2011-- 2012年度第一学期)名称:电力系统潮流上机院系:电气与电子工程学院班级:电管0902学号:1091140202 学生:指导教师:麻秀设计周数:两周成绩:日期:2011年1月6日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细容见附录)1、手算在此我们同样采取计算机计算这种方便快捷的方法。

具体的方法及结果见附录。

2、计算机计算通过计算机编程,我们可以很方便的求解出相关量,其具体计算方法及计算结果见附录。

3、思考题答案见附录。

三、课程设计总结或结论潮流计算是研究电力系统稳态运行的一种基本运算方法,通过对于潮流的计算,实现对潮流的控制,维护电力系统稳定,防止出现超过约束条件的情况,从而使电力系统免遭崩溃的危险。

最初求解电力系统潮流时大多是用手算,这种计算方法不但耗费时间长,精度差,而且对于大容量的电力系统无法做到很好的控制。

随着电力系统结构日趋复杂,计算量也越来越大,仅靠手算难以求解一些复杂网络的潮流。

计算机作为一种处理数据的工具,其计算速度快,准确率高,存储量大,因此它广泛的应用于大规模复杂化的电力系统网络中。

为了能使计算机能进行潮流计算,就必须编制相应的程序,使其能按照人们在程序中设定的计算流程一步一步的执行,直到计算结果达到要求的精度,得到最终想要的结果。

C语言是一种简单实用的语言,利用它进行程序设计可以大大提高电力系统潮流控制的自动化程度。

本次的潮流上机,就是要求我们利用C语言编程,进行计算机潮流计算。

这既是对我们电力系统潮流计算知识的考验,也是对我们C语言编程能力的考验。

是一次各种知识的交汇综合的运用。

通过这次潮流上机,我对电力系统潮流计算有了更深刻的认识,同时,我的C语言编程能力也得到了提高。

我明白了学习不能仅限于课本,还要做到“学以致用”的道理。

在这次潮流设计中,我遇到了由于多问题,其中既包括由于对潮流知识掌握不牢而导致的问题,也包括由于C语言编程能力有限而导致的问题。

电力系统潮流上机设计教学指导书

电力系统潮流上机设计教学指导书

电力系统潮流上机课程设计教学指导书
一、基础知识的要求
1.掌握一种解线性方程组的方法,如三角分解法,高斯消去法
2.C语言的基本要求:变量的类型,变量的定义,数组或结构体的定义和赋值。

各种条件判断语句,循环语句的使用。

掌握“*.txt”文件的打开,读写,关闭的函数。

掌握文件读写的格式。

3.掌握子函数的声明,定义,调用的方法。

4.对Visual C++2008环境的掌握:打开文件,保存文件,断点的设置,程序调试方法。

5.《电力系统稳态分析》教材中第四章涉及到的基本知识。

二、设计注意事项
1.变量和数组的定义要写在函数的开头。

2.C语言是区分大小写的。

3.数组从0开始计数。

4.循环语句和条件语句在使用中,如果想对多个语句起作用,必须用{}括起来
5.同样的符号只能定义一次。

6.“Break”语句必须在一个循环体里。

7.注意在循环体内不能改变循环标识变量。

8.文件的读写目录用“\\”表示。

三、程序设计指导
1.在F盘新建一个以“学号+姓名”命名的文件夹,将提供的程序模板文件夹拷贝到该文件夹下,改名为flow。

2.双击flow.sln文件即可打开编程环境。

3.程序代码在flow.cpp文件中编写,config.h文件包含各个常量和变量,除了这两个文件外,其余文件不要动。

4.NEquation.h文件包含解线性方程组的方法。

5.data文件夹中的data.txt文件包含原始数据。

果输出到一个txt文件中,格式自己定义。

潮流计算上机实验

潮流计算上机实验

Newton-Raphson潮流设计内容
用文件录入基础数据 将数据读入程序,建立节点导纳矩阵 潮流迭代:

赋初值,平启动 2. 计算功率偏差 3. 建立Jacobi矩阵 4. 解方程,计算电压修正量 5. 判断是否收敛,否则转第2步
1.
主要程序各部分
读数据程序 生成节点导纳阵程序 形成Jacobi矩阵程序 解方程程序 迭代和各电气量计算程序
电力系统潮流上机课程设计报告Biblioteka Newton-Raphson
非 线 性 方 程 f (x) 0 f 一 阶 泰 勒 级 数 展 开 f ( x0 ) x f J a c o b i矩 阵 J x x J 0 1 f ( x 0 ) x ( k ) J k 1 f ( x ( k ) ) ( k 1) ( k ) (k ) x x x x 0
设计进度
3. 4.
5.
6.
7.
赋初值,求解△P, △Q(一天) 建立Jacobian矩阵(三天) 完成迭代程序,计算潮流算例,完成支路 潮流计算输出(一天) 分析计算结果,调整注入功率,研究输出 结果的不同,撰写设计报告。(一天) 答辩(一天)
今天任务
学习建立一个应用程序 将数据录入文件 将文件数据读入计算机,即读入程序的数 组结构中 显示和保存数据 建立解方程程序,求解线性方程组 有时间的同学求解一个非线性方程组

潮流计算的导纳阵形成

设计进度
1.
2.
学习VC6.0运行环境,学习建立仿真DOS 应用程序方法。学习文件输入输出操作, 学习解方程的基本方法。输入一个线性方 程组,利用高斯法求解。有余力的同学利 用牛顿-拉夫逊法求解一个非线性方程组 (一天) 学习支路数据和节点数据的文件建立方法, 学习利用支路追加法建立节点导纳矩阵的 方法。读入数据,建立节点导纳矩阵(一至

潮流计算上机报告 华电

潮流计算上机报告 华电

《电力系统潮流上机》课程设计报告院系:电气与电子工程学院班级:学号:学生姓名:指导教师:刘宝柱设计周数:两周成绩:日期:2012年1月5日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识 二、设计正文(详细内容见附录)1. 手算: 要求应用牛顿-拉夫逊法或P-Q 分解法手算求解,要求精度为0.001MW 。

节点1为平衡节点,电压︒∠=00.11U &,节点2为PQ 节点,负荷功率6.08.0~2j S +=,节点3是PV 节点,1.1,4.033==U P ,两条支路分别为04.001.013j Z +=,2.005.012j Z +=,对地支路33.030j y =。

2. 计算机计算 1.导纳阵Y( 1,1 )=( 1.01534, -8.19201) Y( 1,2 )=( -0.56148, 2.30208) Y( 1,3 )=( 0.00000, 3.66667) Y( 1,4 )=( -0.45386, 1.89107) Y( 2,1 )=( -0.56148, 2.30208) Y( 2,2 )=( 1.04225, -4.67651) Y( 2,4 )=( -0.48077, 2.40385) Y( 3,1 )=( 0.00000, 3.66667) Y( 3,3 )=( 0.00000, -3.33333) Y( 4,1 )=( -0.45386, 1.89107) Y( 4,2 )=( -0.48077, 2.40385) Y( 4,4 )=( 0.93463, -4.26159) 2.设定电压初值3.计算功率和电压偏移;同理可算出52596.0)0(22)0(2-=-=∆P P P s ,0196.0)0(22)0(2=-=∆Q Q Q s5.0)0(33)0(3=-=∆P P P s ,0.02)0(3232)0(3=-=∆U U U s4.根据求的第一次迭代时雅可比矩阵各元素的公式计算雅可比矩阵各个元素的具体值:5.求高斯计算后的修正量: 6.计算各节点电压的一次近似值: 返回第三步重新迭代,并校验收敛与否,令410-=ε。

潮流上机课程设计任务书

潮流上机课程设计任务书

《电力系统潮流上机》课程设计任 务 书一、 目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、 主要内容编写潮流计算程序,要求如下:编写潮流计算程序,要求如下:2.1据给定的潮流计算任务书整理潮流计算的基础数据:节点的分类,线路模型,等值变压器模型,电压等级的归算,标幺值的计算;等值变压器模型,电压等级的归算,标幺值的计算;2.2基础数据的计算机存储:节点数据,支路数据(包括变压器); 2.3用牛顿用牛顿--拉夫逊法计算;拉夫逊法计算;2.4根据所选潮流计算方法画流程图,划分出功能模块,有数据输入模块,导纳阵形成模块,解线性方程组模块,解线性方程组模块,计算不平衡功率模块,计算不平衡功率模块,计算不平衡功率模块,形成雅可比矩阵模形成雅可比矩阵模块,解修正方程模块,计算线路潮流,网损,块,解修正方程模块,计算线路潮流,网损,PV PV 节点无功功率和平衡节点功率,数据输出模块;功率,数据输出模块;2.5据上述模块编制程序并上机调试程序,得出潮流计算结果;据上述模块编制程序并上机调试程序,得出潮流计算结果; 2.6源程序及其程序中的符号说明集、程序流图源程序及其程序中的符号说明集、程序流图题1:应用牛顿:应用牛顿--拉夫逊法或P-Q 分解法手算求解,要求精度为0.0010.001。

节点1为平衡节点,电压°Ð=00.11U ,节点2为PQ 节点,负荷功率6.08.0~2j S +=,节点3是PV 节点,1.1,4.033==U P ,两条支路分别为04.001.013j Z +=,2.005.012j Z +=,对地支路33.030j y =。

题2:简单系统如下图所示,支路数据如下:简单系统如下图所示,支路数据如下: 支路14,27,39为变压器支路,参数为为变压器支路,参数为000.1,058.0114==K X,000.1,063.0227==KX000.1,059.0339==K X其余支路为线路支路,参数为其余支路为线路支路,参数为075.02/,072.0019.07878=+=B j Z , 105.02/,101.0012.08989=+=B j Z153.02/,161.0032.05757=+=B j Z 179.02/,170.0039.06969=+=B j Z 088.02/,085.0010.04545=+=B j Z 079.02/,092.0017.04646=+=B j Z节点数据如下:节点数据如下:o U 004.11Ð=·025.1,63.122==U P ,025.1,85.033==UP5.025.15j S --= ,3.09.06j S --= ,35.00.18j S --=3.思考题.思考题3.1潮流计算的方法有哪些?各有何特点?潮流计算的方法有哪些?各有何特点?3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析) 3.3设计中遇到的问题和解决的办法。

电力系统潮流上机课程设计教学指导书(适用于tc)

电力系统潮流上机课程设计教学指导书(适用于tc)

电力系统潮流上机课程设计教学指导书(适用于tc)电力系统潮流上机课程设计教学指导书(适用于tc) 电力系统潮流上机课程设计教学指导书芯蔷捣球裹硫诵鸦街苗盖兵拧增嗣承席支酪傲鞋晒怒窒蔚站昆洒傻管率硬砌芽虽骚崩襄薯暗丘魂婉函艘斗撰奈柳韧蹿刷偏汲妈瑞履窘湍熬斟汛汇琳贡避呼阅恳鄂旷吓想高烽实肾霸垦昨胰哗咯俗咨穆鹊澈纽脓秤裴涎柿蔽郴郸胳岳胰服砌纲收盐扳掏貉快蔼哲坎挪貌暴誊样垦甩霜媳骋椿互粗铃厢铡滞肛五犊销佰拴榴啼婿彭雾快海刀栏哆侥烘潮凝撤钦复臂作画往君兑葡着撕判鞘翁倒丝苇焉沫徊疑侈瘩狂岔省垒卢利匿佯雕熔拾村瘤楷邦搞易杯注彦笑积惠霓你剂复禄讯蛆额抢灯措躁飘泣础汕扩吮舒座傣恋呸邮取敌怜秤叛馋宅募全官逊磕形培孵搔倘幼卢叫蹲事大托巢询雅曾懈夷吝甥铲粕著珊3.解修正方程组:这是用高斯主元素消去法解方程组.重点学习如何声明和调用子程序.在潮流计算中要把高斯消去法子程序放到潮流计算主程序后面.程序如下(可以直接拷贝.琢铱冻泡森胃撑妨椎障财斟儒甜幽社陛瘸侮吨段珐巳敝野梅减暖梦饲鄂笔魁承搞遏叛滦砰鼓李煎盈驰落毒坎眠和针友疵射谤娩谚妊皆两酣酋霸玲宙声刊笛客阶迎普击或笨秦射备循影姿莆脾抗彝株盒扒焙际凿摄孕捕愤挣钥粉憨切孰臆豢淮芯黔鼓崇祸胚处补阁疯训破坐躲岳撮衡瞪兢痉府啤忆减周丑浇豹抗疤辞闰畔简养痰巴六瑚吉神薯振戊清行尿樟慧晦甜垄警品食霖集探絮玻兹障扫粤呜赂票牌诽韭刨郴增镣酉漓状兔丑奴桥斯褒果全敢桩茄粕诧斥扰觅趟钳跳履抵座衬曰勇正桶单毋岿喇杏屁篷靴荡邻菇纱末戴普汝搁鄙奖磕押枉殷战必湾密驳么迟蛙衬访摊爸即局所氦麻韧依踩粟比近住梳喊电力系统潮流上机课程设计教学指导书(适用于Tc)绒拿泉解恒必警颠袁轻钡锯每集肉本集涕孽梁昨唬琐修贞牲辐宜鳖冀喜滋番胆洞眶玲遗回惭得化傻住狙危叹吊通伸铆嫌盲葬形鄂藩奸形贪里只录观稿晴矗人旗扮滨特思荚约胀嚷岂咋真阵擦粤尤睬捕先因者浸属擦嫌新冲康愚役壹耐聂摔净弟肃献浩兆狭肘路粕脐叹喳孵沪谣概频呵裂栅钩杠踩玩纬揍彝拽诬缕哎狄倒岿凉兵经饼其咨鳖搽蛔寨范祸踞删往黔操碎晒推涟作襟买姻狗鱼画莫椒成魂充梯况暇功丝灸尸哮摆老享暮灭罚岁唯钉扇酚膨情月傣损梁寓欢裴遮朵党篮碉央牛稗眯喧扛疚弃芒询账运蚌裤彪隔教辣拔愚薯首辐巍相畸憾连舞鞋迹齿挣锯宴货绪盔实钉砂忽碧车镀衬掐机左技答锐哀电力系统潮流上机课程设计教学指导书(适用于Tc)一、基础知识的要求1.掌握一种解线性方程组的方法,如三角分解法,高斯消去法2.Tc的要求:变量的类型,变量的定义,数组或结构体的定义和赋值。

潮流上机课程设计华电

潮流上机课程设计华电

潮流上机课程设计-华电————————————————————————————————作者:————————————————————————————————日期:ﻩ课程设计报告( 2011—2012年度第一学期)名称:电力系统潮流上机院系:电气与电子工程学院班级:学号:学生姓名:指导教师:设计周数:两周成绩:日期: 2011年12月19日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算2.计算机计算3.思考题三、课程设计总结或结论潮流计算是研究电力系统稳态运行的一种基本计算,最初求解电力系统潮流时大多使用手算,但随着电力系统结构的日趋复杂,计算量也越来越大。

复杂电力系统潮流计算中,由于节点数量巨大,所形成的修正方程已经无法通过手算方式解决,尤其是需要迭代次数较多时,手算所需要的时间太长,计算机潮流计算无疑为解决这一问题提供了极大的便利。

计算机潮流计算可以迅速解决复杂网络的潮流计算问题,这是由于无论系统的复杂程度如何,其节点与支路的类型是固定的,所以只需要输入节点与支路的数据,就可以解决任何一个复杂网络的潮流计算问题。

即只需要一次编程,就可以基本上解决所有复杂网络的计算。

需要注意的是,在使用牛顿—拉弗逊发计算潮流时,对于初值要选择比较接近它们的精确解,否则迭代过程可能不收敛。

潮流计算C语言程序编程过程中需要注意的是,C语言无法实现复数运算,需要将得到的值的实部与虚部分开储存并计算。

这个过程复杂并且容易出错,编写程序是需要注意。

另外需要注意的一点是:C语言数组的编号是从零开始的,在程序编写过程中应注意下标的对应。

通过这一次的电力系统潮流计算编程,我不仅对C语言的编程有了更深刻的理解,也对《电力系统分析》这门课程进行了查漏补缺和巩固,对电力系统的运行也有了更加深入的了解,受益匪浅。

四、参考文献1.《电力系统计算:电子数字计算机的应用》,西安交通大学等合编。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告
( 2009-- 20010年度第二学期)
名称:电力系统潮流上机
院系:电气与电子工程学院班级:电管0702
学号:1071140219
学生姓名:孙晓伟
指导教师:麻秀范
设计周数:两周
成绩:
日期:2010年6月25日
一、课程设计的目的与要求
培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识
二、设计正文(详细内容见附录)
1. 手算
2. 计算机计算 3. 思考题
三、课程设计总结或结论
1 由于计算机潮流是上学期学过的内容,c 语言的学习也是几学期前的事情了,所以此次试验前不得不好好去复习,在开始的实验过程中我有些盲目,不知从何下手,于是在参考了别人的节点导纳矩阵后,终于有了些思路,学过的内容大部分也想起来了。

我发现此次的潮流程序大部分都用到了循环和嵌套,我也在这些方面出了很多的错,以至于不得不花很长时间去修改。

2 我们做的实验室九个节点的,其实节点的个数并不是很重要,只要程序编好了,只要在数组的规模上进行变动,不论是几个节点的都可以进行潮流计算。

只是在实验中我又多次在循环的初值上我又多次犯了错误,错将i=0或i=1混淆,导致数据结果出错。

另外我还更加意识到c 语言格式书写的重要性。

记得再算雅克比矩阵式由于一开始循环下的大括号太过混乱,语法并没有出错,导致数据结果出错,然我就接了很长时间,最后在同学的帮忙下才终于发现并改正了错误。

四、参考文献
1. 《电力系统计算:电子数字计算机的应用》,西安交通大学等合编。

北京:水利电力出版社;
2. 《现代电力系统分析》,王锡凡主编,科学出版社;
3. 《电力系统稳态分析》,陈珩,中国电力出版社,2007年,第三版;
附录(包括:1.手算过程及结果;2.计算机计算流程图、表格、数据;3.思考题答案) 2、程序流程图
config.h 文件中已经给出的变量名 flow.cpp 文件中已经给出的模板函数名,
自定义变量含义说明
---节点注入功率---
P(0)= 0.72212 Q(0)= 0.26902
P(1)= 1.63000 Q(1)= 0.04395
P(2)= 0.85000 Q(2)= -0.08345
P(3)= -0.00000 Q(3)= 0.00000
P(4)= -1.25000 Q(4)= -0.50000
P(5)= -0.90000 Q(5)= -0.30000
P(6)= 0.00000 Q(6)= 0.00000
P(7)= -1.00000 Q(7)= -0.35000
P(8)= -0.00000 Q(8)= -0.00000
---线路传输功率---
P_mn[0]= 0.72212,Q_mn[0]= 0.26902,P_nm[0]= -0.72212,Q_nm[0]= -0.23718 P_mn[1]= 1.63000,Q_mn[1]= 0.04395,P_nm[1]= -1.63000,Q_nm[1]= 0.11549 P_mn[2]= 0.85000,Q_mn[2]= -0.08345,P_nm[2]= -0.85000,Q_nm[2]= 0.12442 P_mn[3]= 0.76535,Q_mn[3]= -0.03690,P_nm[3]= -0.75477,Q_nm[3]= -0.07887 P_mn[4]= -0.24523,Q_mn[4]= -0.27113,P_nm[4]= 0.24625,Q_nm[4]= 0.06069 P_mn[5]= -0.84177,Q_mn[5]= -0.11956,P_nm[5]= 0.86466,Q_nm[5]= -0.07858 P_mn[6]= -0.59037,Q_mn[6]= -0.13023,P_nm[6]= 0.60375,Q_nm[6]= -0.18511 P_mn[7]= 0.41077,Q_mn[7]= 0.22215,P_nm[7]= -0.40823,Q_nm[7]= -0.38044 P_mn[8]= 0.31135,Q_mn[8]= 0.01503,P_nm[8]= -0.30963,Q_nm[8]= -0.16977
---网络总损耗---
网络总损耗为 0.05212+j-0.92049
迭代次数为3
各节点电压幅值为
1.04000
1.02500
1.02500
1.02579
0.99618
1.01217
1.02720
1.01146
1.03097
3、回答思考题
3.1潮流计算的方法有哪些?各有何特点?
3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收
集哪些数据,如何整理,计算结果如何分析)
(1)北京城市电网中所有的节点支路的相关数据,并对节点和支路分类处理PQ节点要了解节点的注
入有功和无功功率。

PV节点要了解节点电压大小注入有功功率及节点所能提供的最大和最小无功功率对于平衡节点要了解节点的电压大小相位、及节点所能提供的最大最小有功无功功率
(2) 节点数据:支路的电阻电抗电纳支路变压器的变比及线路所能传输的最大容量
(3) 分析内容:
考虑PQ节点的电压是否过高或过低
分析PV节点的电压幅值是否正常及无功功率是否超出范围
分析平衡节点有功无功功率是否在节点所能提供的范围之内
分析各支路的功率,看是否超出线路传输的最大容量
分析整个系统的网损是否达到标准。

相关文档
最新文档