电力系统短路故障的计算机算法.docx
- 文档编号:14922103
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:10
- 大小:164.93KB
电力系统短路故障的计算机算法.docx
《电力系统短路故障的计算机算法.docx》由会员分享,可在线阅读,更多相关《电力系统短路故障的计算机算法.docx(10页珍藏版)》请在冰点文库上搜索。
电力系统短路故障的计算机算法
2010-2011第一学期课程设计
电力系统短路故障的计算机
算法程序设计
姓 名:
蒋 林
学 号:
U200712346
班 级:
电气0708
指导教师:
王 丹
2011年1月4日
1 课程设计说明 1
2 编程语言的选择及理由 1
3 程序设计 2
3.1 主体流程图 2
3.2 详细流程图 3
3.2.1 创建系统(create)流程图 3
3.2.2 加载系统函数(load)流程图 3
3.2.3 计算子函数(calculate)流程图 4
3.2.4 改变短路节点(change)流程图 4
3.3 数据及变量说明 5
3.4 程序代码及注释 6
3.5 测试算例 6
4 设计体会 13
参考文献 13
附录 13
1课程设计说明
本课程设计根据电力系统分析课程中所讲的基于节点方程的三相短路计算的原理和方法。
采用c语言编程。
实现了三相短路计算的计算机实现。
本程序输入含有网络拓扑信息和电器元件的参数,输出三相短路的短路电流和短路后网络各节点的电压参数和各支路的电流参数。
并以文件的形式保存,方便用户的读取,打印。
实现了设计的要求。
三相短路在电力系统中虽然发生的概率很小,但一旦发生产生的影响非常严重,电力系统中设备的动稳定和热稳定校验都要以三相短路电流为依据,因此我选择做是电力系统三相短路的计算程序,觉得更有意义。
应用计算机进行电力系统计算,首先要建立电力系统相应的数学模型,如建立电力系统等效网络和节点方程;其次是运用合理的计算方法计算结果,如三角分解法,LDU分解法等;第三则是选择合适的计算机语言编制计算程序,实现程序的准确性,提高精确度。
本设计利用节点方程来实现电力系统三相短路计算。
首先,根据给定的电力系统运行方式制定系统的一相等值网络,计算出各元器件的参数,其次根据网络方程利用变压器和线路参数形成不含发电机和负荷的节点导纳矩阵Y;然后,利用系统形成的节点导纳矩阵求解系统阻抗矩阵Z;第三则是应用节点阻抗矩阵计算短路电流。
电力系统短路电流的实际工程计算中,许多实际问题的解决并不需要十分精确的结果。
因此采用近似计算法,在建立系统节点方程时,采用网络模型和参数做简化处理,等值电路的制定通常将发电机作为含源支路,表示为节点注入电流源和节点电抗的形式;系统中存在同步发电机时,按发电机支路处理;同时,忽略发电机、变压器和输电线路的电阻,不计线路的电容,略去变压器的励磁电流,负荷忽略不计;在标幺参数计算时,选取各级平均额定电压作为基准电压,忽略元件的额定电压和平均电压的差别,认为变压器变比的标幺值为1;此外,还假定所有的发电机的电势具有相同的相位,所有的元件仅用电抗表示,避免复数运算。
三相对称短路为金属性短路。
本课程设计的关键部分是利用系统节点导纳矩阵形成节点阻抗矩阵,本程序采用LDU分解法,然后利用节点导纳矩阵和阻抗矩阵的乘积为单位矩阵列写方程,节点导纳矩阵经LDU分解后,回代求解系统阻抗矩阵。
利用节点阻抗矩阵进行短路计算,首先利用故障前的节点注入电流和系统节点阻抗矩阵求取故障前系统的各节点电压
;然后,利用金属短路时短路点残压为0,对地电阻为0,计算短路点电流;最后,利用故障前节点电压、节点阻抗和短路点电流求得短路后各节点电压和各支路电流。
2编程语言的选择及理由
能够实现程序编写的语言有多种,本课程设计中采用C语言进行电力系统对称短路计算程序的编写。
个人对c语言和metlab相对较熟悉。
之所以选择C语言编程,从主观上说,是因为我学过C语言课程,相对于其他的编程语言而言,C语言的应用更为熟悉和了解。
另外,从客观上说,C语言是目前世界上最为流行、使用最为广泛的高级程序设计语言。
,C的效率MATLAB比高多了,MATLAB虽然语法简单,但执行效率不高。
MATLAB是用于特定的方面的,比如说矩阵运算方面、DSP就很有优势,而C语言不同。
很多软件的底层都是C编写的。
MATLAB提供的是一种基于解释的语言,虽然也是一种高级语言,但是还是很简单的,它的目标在于用户方便,开发简单。
而实际上这些方便也是有代价的,编译器承受了这些代价,程序执行效率方面也有损失。
另一方面MATLAB这么做也是基于其专用于科学计算的目的来考虑的,无法应用于通用的程序设计。
c语言这么做保持了其编译的速度,便于大型程序设计,执行效率也很高,因此我选择用c语言编写程序。
3程序设计
主体流程图
图3-1主体流程图
详细流程图
创建系统(create)流程图
图3-2create函数流程图
加载系统函数(load)流程图
图3-3节点导纳矩阵形成流程图
计算子函数(calculate)流程图
图3-4计算子函数流程图
改变短路节点(change)流程图
图3-5 change函数流程图
数据及变量说明
本程序中将电路的支路分为三类:
电抗支路、电流支路、发电机直流,数据输入时分开输入格式如下:
电抗支路:
支路数、节点首端好、节点末端好,支路电抗值。
发电机支路:
发电机台数、发电机接入点,发电机电势、发电机之路电抗。
电容支路:
支路数、电容节点号,电容支路电抗值。
程序中的变量定义如下:
FILE*fp; //文件指针
floatIf; //短路电流
floatV0[10]; //节点电压初值
floatIn[10]; //注入电流
floatV[10]; //节点电压
floatI[10]; //支路电流
intcount[2][10]; //数组用于储存支路号
floatz[10][10]; //储存支路电抗值
floatyjs[10][10]; //存放计算导纳矩阵中的中间值
floatye[10]; //储存发电机支路导纳
floatY[10][10]; //节点导纳矩阵
floatZ[10][10]; //阻抗矩阵
floatdk; //电抗值
inte1[10];
floatyc[10]; //节点对地电抗
floatycjs[10];
inte[10]; //发电机接入点
floatE[10];
floatIg[10];
floatEmid[10];
floatze[10]; //储存发电机支路导纳
intm,n,a,f,i=0,j=0,sd,md,butn,times,timesc;/*n是节点数,a是支路数,f是短路点,i为行标,j为列标*/
1、文件读入程序如下:
printf("请输入系统的节点数,支路数,故障节点\n");
scanf("%d%d%d",&n,&a,&f);
fp=fopen(name,"w+");
fprintf(fp,"系统参数如下所示:
\n\n");
fprintf(fp,"1.系统的节点数为%d\n2.系统的支路数为%d\n3.系统的短路点为%d\n\n",n,a,f);
fprintf(fp,"支路电抗参数如下\n");
2、计算主程序如下:
(1)、If=V0[f-1]/Z[f-1][f-1];(短路电流计算)
for(i=0;i V[i]=V0[i]-Z[i][f-1]*If; (2)、for(i=0;i { for(j=0;j Y[i][i]=Y[i][i]-yjs[i][j]; Y[i][i]=Y[i][i]-ye[i]-ycjs[i]; } for(i=0;i for(j=i+1;j { Y[i][j]=yjs[i][j]; Y[j][i]=yjs[i][j]; } 程序代码及注释 具体源程序代码及其注释见附录。 测试算例 【例6-3】在如图3-5所示的电力系统中分别在节点1和节点5接入发电机支路,其标幺值参数为: 。 在节点3发生三相短路,计算短路电流及网络中的电流分布。 线路的电阻和电容略去不计,变压器的标幺变比等于1。 各元件参数的标幺值如下: 图3-6电力系统等值网络图 图3-7三相短路时的等值网络图 由以上网络图可得计算过程如下: (1)、形成输入文件: 系统参数如下所示: 1.系统的节点数为5 2.系统的支路数为5 3.系统的短路点为3 支路电抗参数如下 z12=0.1050 z23=0.0650 z24=0.0800 z43=0.0500 z54=0.1840 发电机接入点及其电抗如下: 共2台发电机进入系统 z1=0.1500 z5=0.2200
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 短路 故障 计算机 算法