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

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 #include #include #include "LF.h"

//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=npv)

{ 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=npv+npq)

{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

相关文档
最新文档