电力系统短路故障的计算机算法程序设计_第1页
电力系统短路故障的计算机算法程序设计_第2页
电力系统短路故障的计算机算法程序设计_第3页
电力系统短路故障的计算机算法程序设计_第4页
电力系统短路故障的计算机算法程序设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、等中科放大善Huazhwg University Of Sclenoo & Technology课程设计报告电力系统短路故障的计算机算法程序设计专 业:用气工程及其白动化班 级:设计者:学 号:华中科技大学电气与电子工程学院目录1 课程设计说明 (3)2 选用所用语言的理由 (3)3 程序主框图子框图及主要数据变量的说明 (3)四程序说明(计算公式及出处) (4)5 设计实际应用 (4)6 . 设计体会 (10)7 参考资料 (10)八附录(程序源代码) (10)8一.课程设计说明1 .课程设计题目为:电力系统短路故障的计算机算法程序设计。2 .实际任务为:编写计算机程序完成三相对称短

2、路电流的实际计算。要 求形成可执行文件,程序合格,输入输出数据以文件形式。其中,输 入数据为:节点数,支路数,故障节点,支路首段号,支路末端号, 支路电抗值。输出数据为:节点导纳矩阵,阻抗矩阵,故障点,故障 点电流,支路电流,各节点电压。并以电力系统分析课本例题6-1, 习题6-10,6-11为例进行计算和验算。二.选用所用语言的理由这次课程设计我选用的语言是 C语言,原因是在大学阶段只接触过 C语 言,C语言有一定的基础,而且 C语言完全能胜任这次编程任务。三.程序主框图子框图及主要数据变量的说明主要变量说明如下:init ();(数据输入函数,形成节点导纳矩阵)brinv(double a

3、口,int n);(矩阵求逆函数)out_Y();(形成节点阻抗矩阵)short_Select(); (输入短路点)Count_If();(计算出短路时各节点电压和各支路电流)float yyMM (导纳矩阵),zzMM(阻抗矩阵)float IfM(短路节点电流)float VolM(各节点电压)float IIIM(各支路电流)struct powernet BYTE node;BYTE line;BYTE hanghao;int head_node;int end_node;float react;netN;(电力网络 结构体,用来表示电力网络各参数)四.程序说明(计算公式及出处)短路计

4、算过程如下:输入数据-形成节点导纳矩阵并求逆-节点阻抗矩阵-选择短 路点f ,输入短路前电压通过公式(6-10)计算短路电流If 通过 公式(6-11)计算节点电压用公式(6-9)计算短路后支路电流。If = M(°)/Zf(6-10)V = V (0) -Zif* I f(6-11 )I pq=(Vp-Vq)*(-Y pq)( 6-9 )各公式引自电力系统分析上册第六章。五.设计实际应用例6-3题2-122JI Ja 5- E -C) - 一输入数据如下:5 5 7 1,1,0.15 1,2,0.105 2,3,0.065 2,4,0.08 3,4,0.054,5,0.1845,5

5、,0.22.txt 文件输出数据 :节点导纳矩阵为:-16.19047546*j9.52380943*j0.00000000*j0.00000000*j0.00000000*j节点阻抗矩阵为:0.11813837*j0.09583523*j0.09017095*j0.08581381*j0.04673029*j9.52380943*j-37.40842819*j15.38461590*j12.50000000*j0.00000000*j0.09583523*j0.16291989*j0.15329060*j0.14588347*j0.07944150*j0.00000000*j15.38461

6、590*j-35.38461685*j20.00000000*j0.00000000*j0.09017095*j0.15329060*j0.18598767*j0.16113926*j0.08774910*j0.00000000*j12.50000000*j20.00000000*j-37.93478394*j5.43478251*j0.08581381*j0.14588347*j0.16113926*j0.17287450*j0.09413958*j0.00000000*j0.00000000*j0.00000000*j5.43478251*j-9.98023701*j0.04673029*

7、j0.07944150*j0.08774910*j0.09413958*j0.15146215*j短路节点为 : 3短路前电压为(忽略负荷电流的影响): 1.000000短路点的电流为 : If3=-5.376700*j短路节点电压为 :Vol1= 0.515178Vol2= 0.175802Vol3= 0.000000Vol4= 0.133602Vol5= 0.528199各支路电流为:III11= -3.232147*jIII12= -3.232147*jIII23= -2.704651*jIII24= -0.527499*jIII34= 2.672048*jIII45= 2.144548

8、*jIII55= -2.144548*j 习题610133 o.工 42输入数据:5 5 71,1,0.231,3,0.1052,2,0.282,4,0.213,4,0.435543,5,0.29044,5,0.2541输出数据: 节点导纳矩阵为:0.00000000*j 0.0000000*j-13.87163544*j 0.0000000*j 9.52380943*j0.00000000*j-8.33333302*j 0.00000000*j4.76190472*j9.52380943*j0.000000*j-15.26333618*j2.29600048*j0.00000000*j4.7

9、6190472*j2.29600048*j-10.99336338*j0.00000000*j0.00000000*j3.44352627*j3.93545866*j节点阻抗矩阵为:0.18042089*j0.06035720*j0.15778695*j0.10562509*j0.06035720*j0.20652170*j0.08791157*j0.15141298*j0.15778695*j0.08791157*j0.22982012*j0.15384525*j0.10562509*j0.15141298*j0.15384525*j0.26497272*j0.12996729*j0.121

10、77899*j0.18930019*j0.21311322*j0.00000000*j3.44352627*j3.93545866*j-7.37898493*j0.12996729*j0.12177899*j0.18930019*j0.21311322*j0.33752048*j短路节点为 : 5短路前电压为 ( 忽略负荷电流的影响 ) : 1.000000短路点的电流为: If5=-2.962783*j短路节点电压为:Vol1= 0.614935Vol2= 0.639195Vol3= 0.439145Vol4= 0.368592Vol5= 0.000000各支路电流为:III11= -1.6

11、74195*jIII13= -1.674195*jIII22= -1.288588*jIII24= -1.288588*jIII34= -0.161989*jIII35= -1.512206*jIII45= -1.450577*j习题611输入数据:3 3 41,1,0.21,2,0.22,3,0.13,3,0.15输出数据:节点导纳矩阵为:9-10.00000000*j5.00000000*j0.00000000*j5.00000000*j-15.00000000*j10.00000000*j0.00000000*j10.00000000*j-16.66666603*j节点阻抗矩阵为:0.1

12、3846155*j0.07692308*j0.04615385*j0.07692308*j0.15384616*j0.09230770*j0.04615385*j0.09230770*j0.11538462*j短路节点为 : 3短路前电压为 ( 忽略负荷电流的影响 ) : 1.050000短路点的电流为: If3=-9.099999*j短路节点电压为:Vol1= 0.630000Vol2= 0.210000Vol3= -0.000000各支路电流为 :III11= -2.100000*jIII12= -2.100000*jIII23= -2.100000*jIII33= -7.000000*j

13、六设计体会这次设计体会良多, 首先是通过短路电流的计算, 熟悉了以前电力系统分析的课程,巩固了专业知识,同时通过C语言的使用也使几乎已经忘干净的C语言技能得以回复和巩固。七参考资料电力系统分析上册,第三版,何仰赞温增银 华中科技大学出版社程序设计基础(C语言)王载新 曾大亮 杨有安 崔珂梅 清华大学出版社八附录(程序源代码)#include <stdio.h>#include <math.h>#include <conio.h>#include <string.h>#include <stdlib.h>#include <mal

14、loc.h>#define N 100#define M 100#define BYTE unsigned charinit ();int brinv(double a, int n);out_Y();int short_Select();Count_If();struct powernetBYTE node;BYTE line;BYTE hanghao;int head_node;int end_node;float react;netN;float yyMM,zzMM;float IfM;float VolM;float IIIM;void main()init(); /输入原始数据

15、out_Y(); /形成节点导纳、节点阻抗Count_If(); / 计算短路电流,节点电压,支路电流 init() int i,j;float temp=0;FILE *fp;if (fp = fopen ("duanlu.txt","r") = NULL)printf (" 程 序 使 用 方 法 : nn 在 与 程 序 的 同 一 文 件 夹 下 建 立 duanlu.txt 文本文件 nduanlu.txt 文本文件第一行输入的是:节点数 支路数 输入数据的行数。 n (例如:3 3 5 )。表示 3 个节点, 3个支路 ,txt 文

16、件里输入有5行数据(不包括本行) 。n 回车另起一行为: 首节点, 末节电, 支路电抗。 (例如: 1 , 2, 0.15 ) nn");B:goto B;fscanf(fp,"%d %d %d",&net0.node,&net0.line,&net0.hanghao);printf(" 本 系 统 节 点 数 :%d,支 路 数 : %dnn",net0.node,net0.line);printf (" 以下为线路阻抗: nn");printf (" 始节点 末节电 电抗 n"

17、);for (i=0; i<net0.hanghao; i+ ) fscanf(fp,"%d,%d,%f",&neti.head_node,&neti.end_node,&neti.react);printf("%4d,%8d,%15f*jn",neti.head_node,neti.end_node,neti.react);printf("n");for (i=0;i<=net0.hanghao-1;i+ ) /互导纳形成yyneti.head_node-1neti.end_node-1=-1/n

18、eti.react;yyneti.end_node-1neti.head_node-1=-1/neti.react;for (i=0;i<=net0.hanghao-1;i+ ) / 自导纳形成for (j=0;j<=net0.hanghao-1;j+ )if (netj.head_node=(i+1)|netj.end_node=(i+1)temp =1/netj.react+temp; yyii=temp;temp=0;19fclose (fp);fp = fopen ("result.txt","w");fprintf(fp,"

19、;%s"," fclose(fp);节点导纳矩阵为:printf("*n");节点导纳矩阵为*nn");for (i=0; i<net0.node; i+ )for (j=0; j<net0.node; j+ ) printf ("%.8f*jt",-yyij); fp = fopen ("result.txt","a");fprintf(fp,"%.8f*jt",-yyij);fclose(fp);printf ("n");fp =

20、 fopen ("result.txt","a");fprintf(fp,"n");fclose(fp);printf ("n");fp = fopen ("result.txt","a");fprintf(fp,"n");fclose(fp);int brinv(double a,int n) int *is,*js,i,j,k,l,u,v;double d,p;is=(int*)malloc(n*sizeof(int);js=(int*)malloc(

21、n*sizeof(int);for (k=0; k<=n-1; k+) d=0.0;for (i=k; i<=n-1; i+)for (j=k; j<=n-1; j+) l=i*n+j; p=fabs(al);if (p>d) d=p; isk=i; jsk=j;该矩阵为奇异矩阵 n");if (d+1.0=1.0) free(is); free(js); printf(" return(0);if (isk!=k)for (j=0; j<=n-1; j+) u=k*n+j; v=isk*n+j;p=au; au=av; av=p;)if (j

22、sk!=k)for (i=0; i<=n-1; i+) u=i*n+k; v=i*n+jsk;p=au; au=av; av=p;)l=k*n+k;al=1.0/al;for (j=0; j<=n-1; j+)if (j!=k) u=k*n+j; au=au*al;for (i=0; i<=n-1; i+)if (i!=k)for (j=0; j<=n-1; j+)if (j!=k) u=i*n+j;au=au-ai*n+k*ak*n+j;for (i=0; i<=n-1; i+)if (i!=k) u=i*n+k; au=-au*al;for (k=n-1; k

23、>=0; k-) if (jsk!=k)for (j=0; j<=n-1; j+) u=k*n+j; v=jsk*n+j;p=au; au=av; av=p;if (isk!=k)for (i=0; i<=n-1; i+) u=i*n+k; v=i*n+isk;p=au; au=av; av=p;free(is); free(js);return(1);out_Y() int i,j;double *a;为矩a=(float *)malloc(net0.node*net0.node*sizeof(float);/阵分配动态存储空间for (i=0;i<net0.node

24、;i+)ai=(float*)malloc(net0.node*sizeof(float);FILE *fp;fp=fopen("result.txt","a");fprintf(fp,"%s"," 节点阻抗矩阵为: n");fclose(fp);for (i=0;i<net0.node;i+ )for (j=0;j<net0.node;j+ )aij=yyij;i=brinv(*a,net0.node);for (i=0;i<net0.node;i+ )for (j=0;j<net0.no

25、de;j+ )zzij=(float) aij;printf("*节点阻抗矩阵为*nn"); for (i=0; i<net0.node; i+ ) for (j=0; j<net0.node; j+ ) printf ("%.8f*jt",zzij);fp=fopen("result.txt","a");fprintf (fp,"%.8f*jt",zzij); fclose(fp);printf ("n");fp=fopen("result.txt&q

26、uot;,"a");fprintf (fp,"n");fclose(fp);printf ("n");fp = fopen ("result.txt","a");fprintf(fp,"n");fclose(fp); int Short_Select() int ss;printf (" 请选择短路故障点 : ");scanf ("%d",&ss);printf(" nn");return ss;/ 计算节点

27、电流, 节电电压 , 短路点注入单位电流时解线性方程得各节电电压Count_If()BYTE Num; / 网络的节点数BYTE sss;int i,j;float E;FILE *fp;printf(" 请输入短路前电压,短路前为空载:");scanf("%f",&E);AAA: sss=Short_Select();fp=fopen("result.txt","a");fprintf(fp,"%s %dnn%s%3fnn","短路节点为 :",sss,"

28、 短路前电压为( 忽略负荷电流的影响) : ",E);fclose(fp);if (sss>net0.node|sss<1)printf (" 短路点选择错误,");goto AAA;IIsss=1;Num=net0.node;Ifsss=E/zzsss-1sss-1;fp=fopen("result.txt","a");fprintf(fp,"%sIf%d=%f*jnn%snn"," 短 路 点 的 电为 :",sss,-Ifsss,"短路节点电压为 :");fclose(fp);printf("*短 路 电 流*n");printf ("If%d=%f*j nn",sss,-Ifsss);printf("*短 路 节 点 电为 :*n");for (i=0;i<net0.node;i+ )流为压Voli=(float)(E-zzsss-1i*Ifsss);printf (&q

温馨提示

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

评论

0/150

提交评论