电力系统短路故障的计算机算法程序设计.docx
《电力系统短路故障的计算机算法程序设计.docx》由会员分享,可在线阅读,更多相关《电力系统短路故障的计算机算法程序设计.docx(19页珍藏版)》请在冰点文库上搜索。
电力系统短路故障的计算机算法程序设计
电力系统分析课程设计报告书
题目:
电力系统短路故障的计算机算法程序设计
专业:
电气工程及其自动化
班级:
学号:
学生姓名:
指导教师:
2012年3月11日
学生姓名
学号
成绩
设计题目
电力系统对称短路故障的计算计算法程序设计
设
计
内
容
电力系统故障的计算程序设计及编制和调试。
设
计
要
求
1.在对称短路计算、简单不对称短路计算中任选一种计算作为计算作业。
2.计算机语言自选。
3.设计、编制、调试出相关的通用计算程序。
4.输入/输出数据一律以文件格式形成.
5.要求计算的题目
(1)采用所编制的程序进行《电力系统分析》例6—3题,习题6—10、
6-11对称短路计算;
(2)采用所编制的程序进行《电力系统分析》例8-5题、习题8-1简单不对称短路计算;
时
间
安
排
第10周以前
参
考
资
料
1、社《电力系统分析的计算机算法》邱晓燕等中国电力出版社
2、《电力系统基础》陈光会王敏中国水利电力出版社
3、《电力系统分析》(上册)何仰赞等华中理工大学出版社
4、《电力系统稳态分析》陈珩中国电力出版社
5、《MATLAB在电气工程中应用》李维波中国电力出版社
6、《MATLAB电力系统设计与分析》吴天明等国防工业出版
1目的与原理
1.1关于电力系统短路故障的计算机算法程序设计目的
电力系统正常运行的破坏多半是由于短路故障引起的,发生短路时,系统从一种状态剧变成另一种状态,并伴随复杂的暂态现象。
所谓短路故障,是指一切不正常的相与相之间或相与地发生通路的情况。
根据所给的电力系统,编制短路电流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序.通过自己设计电力系统计算程序使同学对电力系统分析有进一步理解,同时加强计算机实际应用能力的训练。
1。
2原理
计算机计算原理
应用计算机进行电力系统计算,首先要掌握电力系统相应计算的数学模型;其次是运用合理的计算方法;第三则是选择合适的计算机语言编制计算程序。
建立电力系统计算的相关数学模型,就是建立用于描述电力系统相应计算的有关参数间的相互关系的数学方程式.该数学模型的建立往往要突出问题的主要方面,即考虑影响问题的主要因素,而忽略一些次要因素,使数学模型既能正确地反映实际问题,又使计算不过于复杂。
运用合理的计算方法,就是要求所选用的计算方法能快速准确地得出正确结果,同时还应要求在解算过程中占用内存少,以利提高计算机的解题规模。
选择合适的语言编写程序,就是首先确定用什么计算机语言来编制程序;其次是作出计算的流程图;第三根据流程图用选择的语言编写计算程序。
然后上机调试,直到语法上无错误.
所编制的程序难免存在逻辑错误,因此先用一个已知结果的系统作为例题进行计算。
用程序计算的结果和已知结果相比较,如果结果相差甚远就要逐步分析程序的计算步骤,查出问题的出处;如果结果比较接近,则逐步分析误差来源;直到结果正确为止。
最后将所编制出的正确计算程序,用于电力系统的实际计算。
电力系统短路计算计算机算法
一般在电力系统短路计算中,多数情况下只要计算短路电流、电压的周期分量起始值。
因此,电力系统短路电流计算的数学模型,可归结为求解短路故障初始状态下的等值电路稳态解的问题。
对于三相对称短路,可建立一相等值电路的计算模型,对于不对称短路,则可应用对称分量法建立系统的正、负、零序网络,从而建立故障计算的序网模型。
(1)对称短路计算
有关数学模型和原理框图以及已知结果的例题,参见《电力系统分析》第六章.常用的计算方法为节点导纳矩阵法或节点阻抗矩阵法,其形成方法分别参见《电力系统分析》第四章。
(2)简单不对称短路计算
有关数学模型、原理框图以及已知结果的例题参见《电力系统分析》第八章8—4节.
2总体设计
2.1程序设计说明
根据所给的电力系统,编制短路电流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序。
通过自己设计电力系统计算程序使同学们对电力系统分析有进一步理解,同时加强计算机实际应用能力的训练。
2。
2选择计算机语言
MATLAB软件的基本功能
在进行电力系统潮流计算,应用计算机算法进行求解节点导纳矩阵时候,我们要用到MATLAB的知识,所以应当对MATLAB的基本指令有所了解,下面是MATLAB的一些基本功能:
进入MATLAB之后,会看到一个MATLABCommandWindow,称为命令窗,它是最主要的窗口,既是键入命令也是显示计算结果的地方。
另外还有一个编程窗,专门用来编辑应用程序。
还有一个主窗口,用来记录已使用过的历史命令和已打开的目录,方便使用者查找.如果绘图还会自动弹出一个绘图窗,专门用来显示绘制的图形。
MATLAB一般有3种进行计算的方法,第1种就如同使用计算器,直接输入数值和运算符,立即从屏幕上获得结果。
第2种先对变量赋值,然后再输入由变量构成的表达式,也可立即获得结果。
第3种,就是采用编程的方法来解决较复杂的,诸如含有判断、循环、迭代、递归等算法的较复杂的问题.上述方法中,第2和第3包括了数组和矩阵运算,只要定义了数组和矩阵变量,就可以如同普通代数运算一样直接用变量进行数学运算,十分方便。
我们使用的是第四代计算机语言的MATLAB,利用其丰富的函数资源,它的优点如下:
1。
语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
可以说,用MATLAB进行科技开发是站在专家的肩膀上.
具有FORTRAN和C等高级语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。
例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。
在求解过程中,最麻烦的要算第二部分。
解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试动不容易。
即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。
解线性方程的程序用FORTRAN和C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。
以下用MATLAB编写以上两个小程序的具体过程.
MATLAB求解下列方程,并求解矩阵A的特征值。
Ax=b,其中:
A=32134567
23798512
43235465
98347135
b=1
2
3
4
解为:
x=A\b;设A的特征值组成的向量e,e=eig(A)。
可见,MATLAB的程序极其简短。
更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。
2.运算符丰富.由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
3。
MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4.程序限制不严格,程序设计自由度大。
例如,在MATLAB里,用户无需对矩阵预定义就可使用。
5。
程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6.MATLAB的图形功能强大。
在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。
MATLAB还具有较强的编辑图形界面的能力。
7。
MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢.由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8.功能强大的工具箱是MATLAB的另一特色。
MATLAB包含两个部分:
核心部分和各种可选的工具箱.核心部分中有数百个核心内部函数。
其工具箱又分为两类:
功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。
功能性工具箱用于多种学科.而学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9.源程序的开放性。
开放性也许是MATLAB最受人们欢迎的特点。
除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱.
3程序设计
3。
1流程图:
形成节点导纳矩阵
输入数据计算节点阻抗矩阵If列元素
MATLAB流程图
3。
2习题实例
【例6-3】在如图3-1所示的电力系统中分别在节点1和节点5接入发电机支路,其标幺值参数为:
。
在节点3发生三相短路,计算短路电流及网络中的电流分布。
线路的电阻和电容略去不计,变压器的标幺变比等于1.各元件参数的标幺值如下:
图3—1电力系统等值网络图
图3—2三相短路时的等值网络图
Y=
-j13。
87160j9。
523800
0—j8。
33330j4。
76190
j9.52380-j15.2329j2。
2960j3。
4440
0j4。
7619j2.2960—j10。
9646j3。
9360
程序如下:
jd=input(’pleaseinputjd=’);
Y=[0-16。
1905j,9。
5238j,0,0,0;
0+9.5238j,37。
4084j,15.3846j,12.5000j,0;
0,15。
3846j,—35.3846j,20。
000j,0;
0,12。
5000j,20。
000j,—37。
9348j,5.4348j;
0,0,0,5.4348j,-9。
9802j]
Z=inv(Y)
I=1/0.1860i
V1=1-0.0902i*I
V2=1-0.1533i*I
V3=0
V4=1—0.1611i*I
V5=1—0。
0877i*I
I54=(V5—V4)/0。
184i
I43=(V4—V3)/0。
05i
I23=(V2-V3)/0。
065i
I12=(V1-V2)/0。
105i
I24=(V2—V4)/0.08i
运行结果如下:
pleaseinputjd=3
Y=
Columns1through4
0-16.1905i0+9。
5238i00
0+9.5238i0+37。
4084i0+15。
3846i0+12.5000i
00+15.3846i0-35.3846i0+20.0000i
00+12。
5000i0+20.0000i0-37.9348i
0000+5。
4348i
Column5
0
0
0
0+5。
4348i
0—9。
9802i
ans=
Columns1through4
0+0.0567i0-0.0086i0-0。
0081i0—0。
0077i
0-0.0086i0—0.0146i0-0。
0137i0—0.0130i
0-0。
0081i0—0.0137i0+0。
0289i0+0。
0116i
0—0。
0077i0-0.0130i0+0。
0116i0+0.0306i
0—0.0042i0—0。
0071i0+0.0063i0+0.0166i
Column5
0—0.0042i
0—0。
0071i
0+0.0063i
0+0。
0166i
0+0.1093i
I=
0-5。
3763i
V1=
0.5151
V2=
0.1758
V3=
0
V4=
0。
1339
V5=
0.5285
I54=
0-2。
1447i
I43=
0—2.6774i
I23=
0-2.7047i
I12=
0-3。
2309i
I24=
0—0。
5242i
【习题6-10】如图3—9所示网络,略去负荷,试用节点阻抗矩阵法求节点5发生三相短路时,短路点的短路电流及线路L-2、L-3的电流。
已知各元件参数如下:
发电机G—1:
SN=120MVA,x”d=0。
23;G—2:
SN=60MVA,x"d=0.14
变压器T—1:
SN=120MVA,Vs=10.5%;T-2:
SN=60MVA,Vs=10。
5%
线路参数x1=0.4Ω/km,b1=2。
8×10—6S/km
线路长度L-1:
120km,L—2:
80km,L-3:
70km
取SB=120MVA,VB=Vav
电力系统网络图
三相短路时的等值网络图
节点导纳矩阵如下所示
Y=
—j13.87160j9.523800
0—j8。
33330j4.76190
j9。
52380—j15。
2329j2。
2960j3.4440
0j4。
7619j2.2960—j10.9646j3。
9360
设计程序如下:
jd=input(’pleaseinputjd=’);
Z=[0+0.1819i0+0。
0616i0+0.1600i0+0。
1079i0+0。
1326i;
0+0.0616i0+0.2078i0+0.0898i0+0.1536i0+0。
1242i;
0+0。
1600i0+0.0898i0+0.2330i0+0.1571i0+0.1932i;
0+0.1079i0+0。
1536i0+0。
1571i0+0。
2689i0+0.2174i;
0+0.1326i0+0。
1242i0+0.1932i0+0.2174i0+0.3427i]
I=1/0。
3427i
V1=1—0.1326i*I
V2=1-0.1242i*I
V3=1—0.1932i*I
V4=1-0。
2174i*I
V5=0
I54=(V5-V4)/0。
2174i
I42=(V4—V2)/0.1536i
I21=(V2-V1)/0。
0616i
I43=(V4-V3)/0.1571i
I32=(V3—V2)/0.0898i
运行结果如下所示:
Y=
0-13.8716i00+9。
5238i00
00-8.3333i00+4.7916i0
0+9.5238i00—15。
2329i0+2.2960i0+3。
4440i
00+4。
7916i0+2.2960i—10.96460+3。
9360i
000+3。
4440i0+3。
9360i—7.3569
ans=
—0.0085+0.1211i-0.0045-0。
0080i—0.0124+0。
0713i—0.0079—0.0139i—0。
0260—0。
0100i
-0。
0045-0。
0080i-0。
0226+0.1155i-0.0066—0。
0116i—0.0394-0.0078i0。
0096—0.0241i
-0.0124+0.0713i-0。
0066-0.0116i-0.0180+0.1039i-0.0115-0.0202i-0。
0378-0。
0146i
—0.0079—0。
0139i-0。
0394-0。
0078i—0.0115-0。
0202i—0.0685-0。
0136i0.0167—0。
0420i
-0.0260—0.0100i0.0096-0.0241i-0。
0378—0。
0146i0。
0167—0。
0420i—0。
1066—0.0087i
I=3。
1263
V3=0+0。
4632i
V4=0+0.3890i
IL2=0+1。
5953i
IL3=0-1。
5311i
【习题6—11】电力系统等值电路如图3-13所示,支路阻抗的标幺值已注明图中。
(1)形成节点导纳矩阵(或节点阻抗矩阵),并用以计算节点3的三相短路电流.
(2)另选一种方法计算短路电流,并用以验证
(1)的计算结果.
电力系统等值电路图
最终计算等值电路图
jd=input(’pleaseinputjd=’);
Y=
[-10。
0j,5。
0j,0;
5。
0j,—14。
5j,10.0j;
0,10。
0j,—17.6667j]
inv(Y)
I1=1.05/0.2j
I3=1。
05/0.15j
V3=0.98434
If=V3/0.10714
程序运行结果如下所示:
pleaseinputjd=3
Y=
0—10。
0000i0+5.0000i0
0+5.0000i0-14。
5000i0+10。
0000i
00+10.0000i0-17。
6667i
ans=
0+0.1394i0+0.0789i0+0.0446i
0+0。
0789i0+0.1577i0+0.0893i
0+0。
0446i0+0。
0893i0+0。
1071i
I1=0—5。
2500i
I3=0-7.0000i
V3=0。
9843
If=9.1874
4总结
此次课程设计首先让我明白了要使电力系统运行的稳定,必须经过精密的设计和计算。
在进行课题设计的过程中,加深了我对潮流计算的认识,尤其是对牛顿拉夫逊潮流计算的求解思路有了比较透彻的理解。
同时由于求解过程中用到求节点导纳矩阵,求矩阵的逆等等,又使我对以前所学的知识有了一次很好的温习,我通过自己看书查资料,自己把以前比较零碎的知识点理论在实践设计中加以整合,明白了以前学习中的很多不足。
通过这次课程设计,既弥补了知识点的疏漏,同时也看到了研究性学习的效果,从研究中学习,理论结合实际,将理论运用到实际,同时在实践中发现问题,然后解决问题.
而且在此次课程设计中,我发现了自己的基础知识有很多的不足.这些基础的缺乏给我的设计计划造成了不小的障碍.在这个过程中,我明白了,只要用心去做,认真去做,持之以恒,就会有新的发现,有意外的收获.
对于这次的课程设计依然有许多不足之处,今后我会把MATLAB语言学好.这次我在MATLAB电子仿真与应用教程中学到了很多东西,今后在这一方面要多加练习。
熟练掌握MATLAB算法和程序编写.
此次课程设计的完成,首先要感谢老师的指导与帮助,同时也要感谢同学的协力合作.
参考文献
1、社《电力系统分析的计算机算法》邱晓燕等中国电力出版
2、《电力系统基础》陈光会王敏中国水利电力出版社
3、《电力系统分析》(上册)何仰赞等华中理工大学出版社
4、《电力系统稳态分析》陈珩中国电力出版社
5、《MATLAB在电气工程中应用》李维波中国电力出版社
6、《MATLAB电力系统设计与分析》吴天明等国防工业出版