潮流上机报告模板

课程设计报告

( 20##-- 200##年度第二学期)

名    称:电力系统潮流上机  

院    系:电气与电子工程学院

班    级:    电管0702               

学    号:    

学生姓名:             

指导教师:  

设计周数:      两周        

成    绩:                   

           

日期: 20##年6月25日

一、课程设计的目的与要求

培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识

二、设计正文(详细内容见附录)

1. 手算

2. 计算机计算

3. 思考题

三、课程设计总结或结论

1  由于计算机潮流是上学期学过的内容,c语言的学习也是几学期前的事情了,所以此次试验前不得不好好去复习,在开始的实验过程中我有些盲目,不知从何下手,于是在参考了别人的节点导纳矩阵后,终于有了些思路,学过的内容大部分也想起来了。我发现此次的潮流程序大部分都用到了循环和嵌套,我也在这些方面出了很多的错,以至于不得不花很长时间去修改。

2  我们做的实验室九个节点的,其实节点的个数并不是很重要,只要程序编好了,只要在数组的规模上进行变动,不论是几个节点的都可以进行潮流计算。只是在实验中我又多次在循环的初值上我又多次犯了错误,错将i=0或i=1混淆,导致数据结果出错。另外我还更加意识到c语言格式书写的重要性。记得再算雅克比矩阵式由于一开始循环下的大括号太过混乱,语法并没有出错,导致数据结果出错,然我就接了很长时间,最后在同学的帮忙下才终于发现并改正了错误。

四、参考文献

1.    《电力系统计算:电子数字计算机的应用》,西安交通大学等合编。北京:水利电力出版社;

2.    《现代电力系统分析》,王锡凡主编,科学出版社;

3.    《电力系统稳态分析》,陈珩,中国电力出版社,20##年,第三版;

附录(包括:1.手算过程及结果;2.计算机计算流程图、表格、数据;3.思考题答案)

2、程序流程图      

潮流上机报告模板

附录:程序中定义的变量名函数名的含义及功能

config.h文件中已经给出的变量名

flow.cpp文件中已经给出的模板函数名,

 自定义变量含义说明

---节点注入功率---

P(0)=   0.72212  Q(0)=   0.26902

P(1)=   1.63000  Q(1)=   0.04395

P(2)=   0.85000  Q(2)=  -0.08345

P(3)=  -0.00000  Q(3)=   0.00000

P(4)=  -1.25000  Q(4)=  -0.50000

P(5)=  -0.90000  Q(5)=  -0.30000

P(6)=   0.00000  Q(6)=   0.00000

P(7)=  -1.00000  Q(7)=  -0.35000

P(8)=  -0.00000  Q(8)=  -0.00000

---线路传输功率---

P_mn[0]=   0.72212,Q_mn[0]=   0.26902,P_nm[0]=  -0.72212,Q_nm[0]=  -0.23718

P_mn[1]=   1.63000,Q_mn[1]=   0.04395,P_nm[1]=  -1.63000,Q_nm[1]=   0.11549

P_mn[2]=   0.85000,Q_mn[2]=  -0.08345,P_nm[2]=  -0.85000,Q_nm[2]=   0.12442

P_mn[3]=   0.76535,Q_mn[3]=  -0.03690,P_nm[3]=  -0.75477,Q_nm[3]=  -0.07887

P_mn[4]=  -0.24523,Q_mn[4]=  -0.27113,P_nm[4]=   0.24625,Q_nm[4]=   0.06069

P_mn[5]=  -0.84177,Q_mn[5]=  -0.11956,P_nm[5]=   0.86466,Q_nm[5]=  -0.07858

P_mn[6]=  -0.59037,Q_mn[6]=  -0.13023,P_nm[6]=   0.60375,Q_nm[6]=  -0.18511

P_mn[7]=   0.41077,Q_mn[7]=   0.22215,P_nm[7]=  -0.40823,Q_nm[7]=  -0.38044

P_mn[8]=   0.31135,Q_mn[8]=   0.01503,P_nm[8]=  -0.30963,Q_nm[8]=  -0.16977

---网络总损耗---

网络总损耗为   0.05212+j-0.92049

迭代次数为3 

各节点电压幅值为

   1.04000

   1.02500

   1.02500

   1.02579

   0.99618

   1.01217

   1.02720

   1.01146

   1.03097

3、回答思考题

3.1潮流计算的方法有哪些?各有何特点?

3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)

(1)北京城市电网中所有的节点支路的相关数据,并对节点和支路分类处理PQ节点要了解节点的注入有功和无功功率。PV节点要了解节点电压大小注入有功功率及节点所能提供的最大和最小无功功率对于平衡节点要了解节点的电压大小相位、及节点所能提供的最大最小有功无功功率

(2) 节点数据:支路的电阻电抗电纳支路变压器的变比及线路所能传输的最大容量

(3) 分析内容:

考虑PQ节点的电压是否过高或过低

分析PV节点的电压幅值是否正常及无功功率是否超出范围

分析平衡节点有功无功功率是否在节点所能提供的范围之内

分析各支路的功率,看是否超出线路传输的最大容量

分析整个系统的网损是否达到标准

 

第二篇:潮流上机实验报告

《电力系统潮流上机》课程设计报告

院系

班级:

学号:

学生姓名:

指导教师:

设计周数

成绩:

日期:年月日

一、课程设计的目的与要求

培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识

二、设计正文(详细内容见附录)

1.手算: 要求应用牛顿-拉夫逊法或P-Q分解法手算求解,要求精度为0.001MW。

节点1为平衡节点,电压,节点2为PQ节点,负荷功率,节点3是PV节点,,两条支路分别为,对地支路

2.计算机计算:编写潮流计算程序,要求如下:

2.1据给定的潮流计算任务书整理潮流计算的基础数据:节点的分类,线路模型,等值变压器模型,电压等级的归算,标幺值的计算;

2.2基础数据的计算机存储:节点数据,支路数据(包括变压器);

2.3用牛顿-拉夫逊法计算;

2.4根据所选潮流计算方法画流程图,划分出功能模块,有数据输入模块,导纳阵形成模块,解线性方程组模块,计算不平衡功率模块,形成雅可比矩阵模块,解修正方程模块,计算线路潮流,网损,PV节点无功功率和平衡节点功率,数据输出模块;

2.5据上述模块编制程序并上机调试程序,得出潮流计算结果;

2.6源程序及其程序中的符号说明集、程序流图

简单系统如下图所示,支路数据如下:

节点数据如下:

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

Copyright @ NCEPU, Liu Chongru

*/

#include

#include

#include

#include "LF.h"

//form Jacobian matrix

intFormJacobian( intnpv, intnpq, Bus* bus, double** YG, double** YB, int* p_Jtobus, double** Jac )

{   intnp = npv+npq,j,k,i,m;

    //TODO

double a[14],q[14];

    for(k=0;k

    {  

         i=p_Jtobus[k];

    a[i]=0;

         q[i]=0;

        if(k

        {

for(j=0;j

            if(j!=i)

                {                   a[i]+=bus[j].Volt*(YG[i][j]*sin(bus[i].Phase-bus[j].Phase)-YB[i][j]*cos(bus[i].Phase-bus[j].Phase));                   q[i]+=bus[j].Volt*(YG[i][j]*cos(bus[i].Phase-bus[j].Phase)+YB[i][j]*sin(bus[i].Phase-bus[j].Phase));

                }

for(m=0;m

                {

                    j=p_Jtobus[m];

                if(j!=i)

                    { 

                    if(m

                    else                      Jac[k][m]=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));//Form N

                    }

            else if(j==i)

                    {if(m

                    Jac[k][m]=-bus[i].Volt*a[i];//Form H

                else                           Jac[k][m]=bus[i].Volt*q[i]+2*bus[i].Volt*bus[i].Volt*YG[i][j];//Form N}

                }  

        }

        else

        {  

        for(j=0;j

    if(j!=i)

                {              a[i]+=bus[j].Volt*(YG[i][j]*sin(bus[i].Phase-bus[j].Phase)-YB[i][j]*cos(bus[i].Phase-bus[j].Phase));              q[i]+=bus[j].Volt*(YG[i][j]*cos(bus[i].Phase-bus[j].Phase)+YB[i][j]*sin(bus[i].Phase-bus[j].Phase));

                }

            for(m=0;m

            {

                j=p_Jtobus[m];

                if(j!=i)

                    {if(m

else                   Jac[k][m]=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));   //Form L    }

                else if(j==i)

                    { if(m

                        Jac[k][m]=bus[i].Volt*q[i];

else

                        Jac[k][m]=bus[i].Volt*a[i]-2*bus[i].Volt*bus[i].Volt*YB[i][j];}

}

        }

    }

    for(i=0;i

    {for(int j=0;j

        {printf("%d %d %f  ",i,j,Jac[i][j]);}

        printf("\n");}

    //Output the matrix to check the Jacobian matrix

    ofstreamfout("out.txt",ios::app);

    fout<< "--------------Jacobian Matrix--------------------" <

    for(i=0; i

    {for(j=0; j

            fout<

        fout<

    fout.close();

    return 0;

}

4)线路损耗

//8.calculate the power flow

    double* p_Pij, *p_Qij, *p_Pji, *p_Qji;

    p_Pij = new double[nL];

    p_Qij = new double[nL];

    p_Pji = new double[nL];

    p_Qji = new double[nL];

    int x1,x2;

    for( i=0; i

    {   x1=line[i].NumI;

    x2=line[i].NumJ;

if(line[i].Type==1)

    {

p_Pij[i]=bus[x1].Volt*bus[x1].Volt*(-YG[x1][x2])-bus[x1].Volt*bus[x2].Volt*((-YG[x1][x2])*cos(bus[x1].Phase-bus[x2].Phase)+(-YB[x1][x2])*sin(bus[x1].Phase-bus[x2].Phase));       p_Qij[i]=-bus[x1].Volt*bus[x1].Volt*(line[i].B+(-YB[x1][x2]))-bus[x1].Volt*bus[x2].Volt*((-YG[x1][x2])*sin(bus[x1].Phase-bus[x2].Phase)-(-YB[x1][x2])*cos(bus[x1].Phase-bus[x2].Phase));           p_Pji[i]=bus[x2].Volt*bus[x2].Volt*(-YG[x2][x1])-bus[x2].Volt*bus[x1].Volt*((-YG[x2][x1])*cos(bus[x2].Phase-bus[x1].Phase)+(-YB[x2][x1])*sin(bus[x2].Phase-bus[x1].Phase));       p_Qji[i]=-bus[x2].Volt*bus[x2].Volt*(line[i].B+(-YB[x2][x1]))-bus[x2].Volt*bus[x1].Volt*((-YG[x2][x1])*sin(bus[x2].Phase-bus[x1].Phase)-(-YB[x2][x1])*cos(bus[x2].Phase-bus[x1].Phase));

    }

        else

        {       p_Pij[i]=bus[x1].Volt*bus[x1].Volt*(-YG[x1][x2])/line[i].K-bus[x1].Volt*bus[x2].Volt*((-YG[x1][x2])*cos(bus[x1].Phase-bus[x2].Phase)+(-YB[x1][x2])*sin(bus[x1].Phase-bus[x2].Phase));            p_Qij[i]=-bus[x1].Volt*bus[x1].Volt*((-YB[x1][x2])/line[i].K+line[i].B)-bus[x1].Volt*bus[x2].Volt*((-YG[x1][x2])*sin(bus[x1].Phase-bus[x2].Phase)-(-YB[x1][x2])*cos(bus[x1].Phase-bus[x2].Phase));            p_Pji[i]=bus[x2].Volt*bus[x2].Volt*(-YG[x2][x1]*line[i].K)-bus[x2].Volt*bus[x1].Volt*((-YG[x2][x1])*cos(bus[x2].Phase-bus[x1].Phase)+(-YB[x2][x1])*sin(bus[x2].Phase-bus[x1].Phase));           p_Qji[i]=-bus[x2].Volt*bus[x2].Volt*((-YB[x2][x1])*line[i].K+line[i].B)-bus[x2].Volt*bus[x1].Volt*((-YG[x2][x1])*sin(bus[x2].Phase-bus[x1].Phase)-(-YB[x2][x1])*cos(bus[x2].Phase-bus[x1].Phase));

        }

    }

    //p and q of PH bus and PV bus

    int s=0;

    double p[9],q[9],Ps[9],Qs[9],PS=0,QS=0;

for( i=0; i

    {p[i]=0;

        q[i]=0;

for(int j=0; j

{p[i]+=(bus[j].Volt*(YG[i][j])*cos(bus[j].Phase)-bus[j].Volt*(YB[i][j])*sin(bus[j].Phase));         q[i]-=(bus[j].Volt*(YG[i][j])*sin(bus[j].Phase)+bus[j].Volt*(YB[i][j])*cos(bus[j].Phase));}

        Ps[i]=bus[i].Volt*cos(bus[i].Phase)*p[i]-bus[i].Volt*sin(bus[i].Phase)*q[i];

        Qs[i]=bus[i].Volt*cos(bus[i].Phase)*q[i]+bus[i].Volt*sin(bus[i].Phase)*p[i];}

for(i=0;i

        {   PS+=Ps[i];

            QS+=Qs[i];}

            printf("PS=%7.7f,QS=%7.7f\n",PS,QS);}

    //loss

    doublePloss=0, Qloss=0;

    for( i=0; i

    {Ploss+=p_Pij[i]+p_Pji[i];

Qloss+=p_Qij[i]+p_Qji[i];}

5)程序流图如下

 

圆角矩形: 设非平衡节点电压初值

 

6)得到的数据(out.txt)

--------------Y Matrix--------------------

0+j-17.3611    0+j0 0+j0 0+j17.3611     0+j0 0+j0 0+j0 0+j0 0+j0

0+j0 0+j-16     0+j0 0+j0 0+j0 0+j0 0+j16      0+j0 0+j0

0+j0 0+j0 0+j-17.0648    0+j0 0+j0 0+j0 0+j0 0+j0 0+j17.0648    

0+j17.3611     0+j0 0+j0 3.30738+j-39.3089 -1.36519+j11.6041 -1.94219+j10.5107 0+j0 0+j0 0+j0

0+j0 0+j0 0+j0 -1.36519+j11.6041 2.55279+j-17.3382 0+j0 -1.1876+j5.97513   0+j0 0+j0

0+j0 0+j0 0+j0 -1.94219+j10.5107 0+j0 3.2242+j-15.8409   0+j0 0+j0 -1.28201+j5.58824

0+j0 0+j16      0+j0 0+j0 -1.1876+j5.97513   0+j0 2.80473+j-35.4456 -1.61712+j13.698   0+j0

0+j0 0+j0 0+j0 0+j0 0+j0 0+j0 -1.61712+j13.698   2.77221+j-23.3032 -1.15509+j9.78427

0+j0 0+j0 0+j17.0648     0+j0 0+j0 -1.28201+j5.58824 0+j0 -1.15509+j9.78427 2.4371+j-32.1539  

--------------Jacobian Matrix--------------------

16.4 0     0     0     0     -16.4       0     0     0     0     0     0     0     0    

0     17.4915   0     0     0     0     0     -17.4915 0     0     0     0     0     0    

0     0     40.1703   -11.6041  -10.5107 0     0     0     3.30738   -1.36519 -1.94219 0     0     0    

0     0     -11.6041  17.5792   0     -5.97513 0     0     -1.36519 2.55279   0     -1.1876   0     0    

0     0     -10.5107 0     16.0989   0     0     -5.58824 -1.94219 0     3.2242    0     0     -1.28201

-16.4       0     0     -5.97513 0     36.0731   -13.698   0     0     -1.1876   0     2.80473   -1.61712 0    

0     0     0     0     0     -13.698   23.4822   -9.78427 0     0     0     -1.61712 2.77221   -1.15509

0     -17.4915 0     0     -5.58824 0     -9.78427 32.864    0     0     -1.28201 0     -1.15509 2.4371   

0     0     -3.30738 1.36519   1.94219   0     0     0     38.4474   -11.6041  -10.5107 0     0     0    

0     0     1.36519   -2.55279 0     1.1876    0     0     -11.6041  17.0972   0     -5.97513 0     0    

0     0     1.94219   0     -3.2242   0     0     1.28201   -10.5107 0     15.5829   0     0     -5.58824

0     0     0     1.1876    0     -2.80473 1.61712   0     0     -5.97513 0     34.8181   -13.698   0    

0     0     0     0     0     1.61712   -2.77221 1.15509   0     0     0     -13.698   23.1242   -9.78427

0     0     0     0     1.28201   0     1.15509   -2.4371   0     0     -5.58824 0     -9.78427 31.4437  

--------------Jacobian Matrix--------------------

16.9269   0     0     0     0     -16.9269 0     0     0     0     0     1.68793   0     0    

0     18.1691   0     0     0     0     0     -18.1691 0     0     0     0     0     0.883627

0     0     41.9297   -12.1301 -11.1536  0     0     0     3.54272   -1.0628   -1.76646 0     0     0    

0     0     -12.0455 18.0609   0     -6.01539 0     0     -1.78138 1.30819   0     -2.10262 0     0    

0     0     -11.0484  0     16.8144   0     0     -5.76607 -2.33608 0     2.42598   0     0     -1.97778

-16.9269 0     0     -6.36224 0     37.9476   -14.6585 0     0     -0.357534       0     3.05959   -0.930027       0    

0     0     0     0     0     -14.4721 24.8873   -10.4152 0     0     0     -2.509     1.86088   -1.47389

0     -18.1691 0     0     -6.05157 0     -10.4721 34.6928   0     0     -0.733327       0     -0.991973       2.6627   

0     0     -3.52149 1.0628    1.76646   0     0     0     42.0299   -12.1301 -11.1536  0     0     0    

0     0     1.78138   -3.884     0     2.10262   0     0     -12.0455 17.2037   0     -6.01539 0     0    

0     0     2.33608   0     -4.31386 0     0     1.97778   -11.0484  0     16.2993   0     0     -5.76607

1.68793   0     0     0.357534 0     -2.97549 0.930027 0     0     -6.36224 0     38.3226   -14.6585 0    

0     0     0     0     0     2.509      -3.98289 1.47389   0     0     0     -14.4721 24.2355   -10.4152

0     0.883627 0     0     0.733327 0     0.991973 -2.60893 0     0     -6.05157 0     -10.4721 34.8585  

--------------Jacobian Matrix--------------------

16.7457   0     0     0     0     -16.7457 0     0     0     0     0     1.63043   0     0    

0     18.0388   0     0     0     0     0     -18.0388 0     0     0     0     0     0.850196

0     0     41.3695   -11.8919  -10.9686 0     0     0     3.48069   -1.02775 -1.73712 0     0     0    

0     0     -11.8057  17.6918   0     -5.8861   0     0     -1.7602   1.28091   0     -2.0217   0     0    

0     0     -10.8651 0     16.5476   0     0     -5.68251 -2.29737 0     2.40655   0     0     -1.91027

-16.7457 0     0     -6.21183  0     37.3041   -14.3465 0     0     -0.382862       0     2.95313   -0.937485       0    

0     0     0     0     0     -14.1704 24.4052   -10.2348 0     0     0     -2.42909 1.86079   -1.43353

0     -18.0388 0     0     -5.94693 0     -10.2872 34.273    0     0     -0.757656       0     -0.989208       2.59847  

0     0     -3.48089 1.02775   1.73712   0     0     0     41.3703   -11.8919  -10.9686 0     0     0    

0     0     1.7602    -3.78189 0     2.0217    0     0     -11.8057  16.6941   0     -5.8861   0     0    

0     0     2.29737   0     -4.20764 0     0     1.91027   -10.8651 0     15.9488   0     0     -5.68251

1.63043   0     0     0.382862 0     -2.95077 0.937485 0     0     -6.21183  0     37.3083   -14.3465 0    

0     0     0     0     0     2.42909   -3.86262 1.43353   0     0     0     -14.1704 23.7059   -10.2348

0     0.850196 0     0     0.757656 0     0.989208 -2.59706 0     0     -5.94693 0     -10.2872 34.2743  

--------------Jacobian Matrix--------------------

16.7435   0     0     0     0     -16.7435 0     0     0     0     0     1.63 0     0    

0     18.0374   0     0     0     0     0     -18.0374 0     0     0     0     0     0.85

0     0     41.3625   -11.8888  -10.9664 0     0     0     3.48016   -1.02713 -1.73662 0     0     0    

0     0     -11.8026  17.6871   0     -5.8845   0     0     -1.76008 1.28053   0     -2.02045 0     0    

0     0     -10.8628 0     16.5444   0     0     -5.68158 -2.29703 0     2.40632   0     0     -1.90929

-16.7435 0     0     -6.20987 0     37.296    -14.3426 0     0     -0.383399       0     2.95114   -0.937742       0    

0     0     0     0     0     -14.1667 24.3994   -10.2326 0     0     0     -2.42794 1.86097   -1.43302

0     -18.0374 0     0     -5.94567 0     -10.285   34.2681   0     0     -0.758139       0     -0.989203       2.59734  

0     0     -3.48016 1.02713   1.73662   0     0     0     41.3625   -11.8888  -10.9664 0     0     0    

0     0     1.76008   -3.78053 0     2.02045   0     0     -11.8026  16.6871   0     -5.8845   0     0    

0     0     2.29703   0     -4.20632 0     0     1.90929   -10.8628 0     15.9444   0     0     -5.68158

1.63 0     0     0.383399 0     -2.95114  0.937742 0     0     -6.20987 0     37.296    -14.3426 0    

0     0     0     0     0     2.42794   -3.86097 1.43302   0     0     0     -14.1667 23.6994   -10.2326

0     0.85 0     0     0.758139 0     0.989203 -2.59734 0     0     -5.94567 0     -10.285   34.2681  

--------------iteration---------------

iteration = 4

--------------voltage magnitude and angle--------------------

1.04 0     0

1.025      0.161967 9.28001

1.025      0.0814153      4.66476

1.02579   -0.0386902     -2.21679

0.995631 -0.0696178     -3.98881

1.01265   -0.0643572     -3.6874

1.02577   0.064921 3.7197

1.01588   0.0126979      0.727537

1.03235   0.0343257      1.96672

-------------bus P and Q------------------

1     0.71641   0.270459

2     1.63 0.0665366

3     0.85 -0.108597

4     0     0

5     -1.25       -0.5

6     -0.9 -0.3

7     0     0

8     -1    -0.35

9     0     0

----------------line flow-------------------

-NUM------i-------j-----------begin------------end--------------

1     4     1     -0.71641+j-0.239232     0.71641+j0.27046

2     7     2     -1.63+j0.0917816   1.63+j0.0665365

3     9     3     -0.85+j0.149553    0.85+j-0.108597

4     7     8     0.763799+j-0.00797398 -0.759046+j-0.107041

5     9     8     0.241834+j0.0311946    -0.240954+j-0.242958

6     7     5     0.866201+j-0.0838079   -0.843202+j-0.113128

7     9     6     0.608166+j-0.180748    -0.594627+j-0.134566

8     5     4     -0.406798+j-0.386872   0.409373+j0.228931

9     6     4     -0.305372+j-0.165433   0.307037+j0.0102993

--------------------Ploss and Qloss-----------------

Ploss = 0.0471901  Qloss = -0.957483

3.思考题

3.1潮流计算的方法有哪些?各有何特点?

答:潮流计算分为手算和机算两大类,其中机算又有高斯-赛德尔迭代法、牛顿-拉夫逊迭代法、P-Q分解法等算法。

特点:

手算求解潮流一般只用在简单的网络中,其计算量大,对于多节点的网络用手算一般难以解决问题,但通过手算可以加深物理概念的理解,还可以在运用计算机计算前以手算求取某些原始数据。

高斯-赛德尔迭代法:算法简单,对初值的要求不高,但需要迭代的次数多,收敛的速度慢,在早期的潮流计算程序中应用很多,之后逐渐被牛顿-拉夫逊迭代法所取代,但仍可作为计算程序前几次迭代的算法,以弥补后者对初值要求高的缺点。

牛顿-拉夫逊迭代法:是常用的解非线性方程组的方法,也是当前广泛采用的计算潮流的方法,其收敛速度快,几次迭代就可以得到最终的结果。但其缺点是要求初值的选择得比较接近它们的精确值,否则迭代过程可能不收敛。

P-Q分解法潮流计算:派生于以极坐标表示时的牛顿-拉夫逊法,其根据电力系统的特点,对后者的修正方程做了简化,P-Q分解法的系数矩阵B’和B”代替了牛拉法中的雅可比矩阵J,阶数降低,其中的元素在迭代过程中不发生变化,而且元素对称,这些都大大提高了运算速度,而且精确度几乎不受影响。

P-Q分解法的收敛特性接近于直线,而牛顿-拉夫逊的收敛速度要比P-Q分解法快,

但是由于牛顿-拉夫逊每次迭代都要形成雅客比矩阵,所以一次迭代的时间比P-Q分解法长。

3.2 如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)

 有现有的潮流计算软件分析北京城市电网的潮流,主要收集以下数据:

(1)北京城市电网中所有的节点支路的相关数据,并对节点和支路分类处理

PQ节点要了解节点的注入有功和无功功率

PV节点要了解节点电压大小注入有功功率及节点所能提供的最大和最小无功功率

对于平衡节点要了解节点的电压大小相位、及节点所能提供的最大最小有功无功功率

(2) 支点数据:支路的电阻电抗电纳支路变压器的变比及线路所能传输的最大容量

(3) 分析内容:

考虑PQ节点的电压是否过高或过低

分析PV节点的电压幅值是否正常及无功功率是否超出范围

分析平衡节点有功无功功率是否在节点所能提供的范围之内

分析各支路的功率,看是否超出线路传输的最大容量

分析整个系统的网损是否达到标准

3. 设计中遇到的问题和解决的办法

1)设计中遇到是对C++部分指令的不熟悉,通过老师讲解、看书和向他人询问大大减小了编程语言上的障碍;

2)在设计中,由于一开始知识脉络以及思维脉络都不是很清晰,导致在程序设计过程中的各种误操作,例如在写不平衡量的时候对定义数组的下脚标标注不清。最好经过老师的教导和我们自己的仔细排查,终于排除掉各类错误,得到结果。

3)编程过程中还可在各步计算新数据后将其输出,这样不仅可以观察数据的变化趋势,还可一对以编程的部分进行验证,步步为营。

4.对此门课程的意见也建议

1)由于此门课程需要各自进行操作,而各人思路均不尽相同,所以容易出现各种各样的错误,且在出现错误时比较难以排查,老师也很难全面照顾到。所以希望以后该门课程可以配以助教来帮大家解答疑惑。

2)课程开始初期,由于C语言的学习已经是“历史悠久”,所以,大部分的实间都被花费在c语言的回顾上,希望老师可以在给一份基本的c语言符号集锦。

三、课程设计总结或结论

潮流计算是研究电力系统稳态运行的一种基本运算,最初求解电力系统潮流时大多是用手算,但随着电力系统结构日趋复杂,计算量也越来越大,仅靠手算恐怕难以求解一些复杂网络的潮流。计算机作为一种处理数据的工具,其计算速度快,准确率高,因此现在电力系统的潮流大多也都采用计算机的算法求解。

为了能使计算机能进行潮流计算,就必须编制相应的程序,使其能按照人们在程序中设定的方法一步一步执行,直到达到最终想要的结果。C语言是一种简单但很实用的语言,利用C语言编程实现潮流计算不仅简单易行,而且还能加深对电力系统潮流这一物理感念的理解。

该门课程的主要目的是为了让大家在两周内,对潮流计算的计算机算法有所了解,并能成功编写一个简单的潮流计算程序。

在这十多天的学习里,我不但对以往所学的C语言又进行了一次复习加深了印象,还达到了对自己在《电力系统分析》这门课程里所学到的知识进行了依次查缺补漏,稳固成多的效用,跟对电力系统的运行分析等有了更加深入的了解,可谓受益匪浅!

四、参考文献

1.    《电力系统稳态分析》,陈珩,中国电力出版社,20##年,第三版;

2.    《高等电力网络分析》,张伯明,陈寿孙,严正,清华大学出版社,20##年,第二版

3.    《电力系统计算:电子数字计算机的应用》,西安交通大学等合编。北京:水利电力出版社;

4.    《现代电力系统分析》,王锡凡主编,科学出版社;

附录(设计流程图、程序、表格、数据等)

相关推荐