潮流上机课程设计报告华电
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《电力系统潮流上机》课程设计报告
院系
班级:
学号:
学生姓名:
指导教师:
设计周数
成绩:
日期:年月日
一、课程设计的目的与要求
培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识
二、设计正文(详细内容见附录)
1.手算: 要求应用牛顿-拉夫逊法或P-Q 分解法手算求解,要求精度为0.001MW 。
节点1为平衡节点,电压︒∠=00.11
U ,节点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.计算机计算:编写潮流计算程序,要求如下:
2.1据给定的潮流计算任务书整理潮流计算的基础数据:节点的分类,线路模型,等值变压器
模型,电压等级的归算,标幺值的计算;
2.2基础数据的计算机存储:节点数据,支路数据(包括变压器); 2.3用牛顿-拉夫逊法计算;
2.4根据所选潮流计算方法画流程图,划分出功能模块,有数据输入模块,导纳阵形成模块,
解线性方程组模块,计算不平衡功率模块,形成雅可比矩阵模块,解修正方程模块,计算线路潮流,网损,PV 节点无功功率和平衡节点功率,数据输出模块; 2.5据上述模块编制程序并上机调试程序,得出潮流计算结果; 2.6源程序及其程序中的符号说明集、程序流图
简单系统如下图所示,支路数据如下:
41.01.012j z +=,3.013j z =,5.012.014j z +=,40.008.024j z +=
01528.01,202,10j y y ==,0192.01,404,10j y y ==,01413.02,404,20j y y ==
1.1=k
节点数据如下:
18.030.01
j S --= ,13.055.02j S --= , 5.03
=S ,10.13=U ,o U 005.14∠= 3
2
S 1
S 4
S 4
,10y 1
,40y 2
,10y 1
,20y 4
,20y 2
,40y 12
z 24
z 14
z k
)1(13-k k z k
z -113
1)节点导纳阵
#include
//form node conductance matrix
intMakeY( intnB, intnL, Line* sL, double** YG, double** YB ) {
inti,j,l;
double r,x,d1,g,b,t;
for(i=0;i for(j=0;j { YG[i][j]=0.0; YB[i][j]=0.0;} for(i=0;i {r=sL[i].R; x=sL[i].X; g=r/(r*r+x*x); b=-x/(r*r+x*x); switch(sL[i].Type) {case 1://Line break; case 2://Transformer g*=1/sL[i].K; b*=1/sL[i].K; break;} YG[sL[i].NumI][sL[i].NumI]+=g; YG[sL[i].NumJ][sL[i].NumJ]+=g; YG[sL[i].NumI][sL[i].NumJ]-=g; YG[sL[i].NumJ][sL[i].NumI]-=g; YB[sL[i].NumI][sL[i].NumI]+=b+sL[i].B; YB[sL[i].NumJ][sL[i].NumJ]+=b+sL[i].B; YB[sL[i].NumI][sL[i].NumJ]-=b; YB[sL[i].NumJ][sL[i].NumI]-=b; } printf("实部:\n"); for(i=0;i {for(j=0;j printf("%lf\t",YG[i][j]); printf("\n");} printf("虚部:\n"); for(i=0;i {for(j=0;j printf("%lf\t",YB[i][j]); printf("\n");} /* Check the Y matrix */ ofstreamfout("out.txt"); fout<< "--------------Y Matrix--------------------" < for(i=0;i {for(j=0;j fout<< YG[i][j] << "+j" << YB[i][j] << "\t"; fout< fout.close(); return 0;} 2)计算功率不平衡量 #include #include #include #include "LF.h" //form delta p and delta q intCalDeltaPQ( intnpv, intnpq, Bus* bus, double** YG, double** YB, int* p_Jtobus, double* deltaf ) { intk,i,j; for(k=0;k { i=p_Jtobus[k]; if(k { deltaf[k]=bus[i].GenP-bus[i].LoadP; for(j=0;j { deltaf[k]-=bus[i].Volt*bus[j].Volt*(YG[i][j]*cos(bus[i].Phase-bus[j].Phase)+YB[i][j ]*sin(bus[i].Phase-bus[j].Phase)); } printf("PV节点%d的有功功率是%lf\n",i,deltaf[k]);} if(k { deltaf[k]=bus[i].GenP-bus[i].LoadP; for(j=0;j { deltaf[k]-=bus[i].Volt*bus[j].Volt*(YG[i][j]*cos(bus[i].Phase-bus[j].Phase)+YB[i][j ]*sin(bus[i].Phase-bus[j].Phase)); } printf("PQ节点%d的有功功率是%lf\n",i,deltaf[k]);} if(k {deltaf[k]=bus[i].GenQ-bus[i].LoadQ; for(j=0;j { deltaf[k]-=bus[i].Volt*bus[j].Volt*(YG[i][j]*sin(bus[i].Phase-bus[j].Phase)-YB[i][j ]*cos(bus[i].Phase-bus[j].Phase)); } printf("PQ节点%d的无功功率是 %lf\n",i,deltaf[k]);} } return 0; } 3)雅各比矩阵的计算 /* Purpose: for undergraduate course Task: Load Flow