电力系统潮流上机 (2)剖析

合集下载

电力系统中的动态潮流分析

电力系统中的动态潮流分析

电力系统中的动态潮流分析在当今社会,电力已成为我们生活和生产中不可或缺的能源。

从家庭中的电器设备到工业生产中的大型机器,无一不需要稳定可靠的电力供应。

而电力系统就像是一个庞大而复杂的网络,负责将电能从发电厂输送到各个用户终端。

在这个系统中,动态潮流分析是一项至关重要的任务,它帮助我们更好地理解和掌握电力系统的运行状态,确保其安全、稳定和高效运行。

首先,让我们来了解一下什么是电力系统的潮流。

简单来说,潮流就是电力系统在某一特定运行状态下,电力网络中各节点的电压、电流和功率的分布情况。

通过对潮流的分析,我们可以知道电力从哪里来,到哪里去,以及在传输过程中的损耗和变化。

动态潮流分析与传统的静态潮流分析有所不同。

静态潮流分析通常假设电力系统处于一种稳定的运行状态,不考虑系统中的动态变化因素,如发电机的调速器、负荷的动态特性等。

而动态潮流分析则将这些动态因素纳入考虑范围,能够更真实地反映电力系统的实际运行情况。

那么,为什么要进行动态潮流分析呢?这是因为电力系统在实际运行中会面临各种各样的变化和干扰。

例如,突然增加或减少的负荷、发电机的故障、线路的短路等。

这些变化可能会导致电力系统的电压和频率发生波动,甚至可能引发系统的不稳定和崩溃。

通过动态潮流分析,我们可以提前预测这些变化对系统的影响,从而采取相应的控制措施,保障电力系统的安全稳定运行。

在动态潮流分析中,有几个关键的要素需要我们关注。

首先是发电机的模型。

发电机是电力系统中的重要电源,其输出功率和电压会受到调速器和励磁系统的控制。

因此,建立准确的发电机模型对于动态潮流分析至关重要。

其次是负荷模型。

负荷的特性会随着时间和电压的变化而变化,例如电动机负荷的启动和停止会对系统产生较大的冲击。

此外,电力网络的参数,如线路的电阻、电抗和电容等,也会影响动态潮流的分布。

为了进行动态潮流分析,我们需要使用一些专门的工具和方法。

常见的方法包括数值积分法、时域仿真法和频域分析法等。

电力系统运行方式及潮流解析总结实验报告

电力系统运行方式及潮流解析总结实验报告

电力系统第一次实验报告——电力系统运转方式及潮流剖析实验实验 1电力系统运转方式及潮流剖析实验一、实验目的1、掌握电力系统主接线电路的成立方法2、掌握辐射形网络的潮流计算方法;3、比较计算机潮流计算与手算潮流的差别;4、掌握不一样运转方式下潮流散布的特色。

二、实验内容1、辐射形网络的潮流计算;2、不一样运转方式下潮流散布的比较剖析三、实验方法和步骤1.辐射形网络主接线系统的成立输入参数(系统图以下):G1:300+j180MVA (均衡节点)变压器 B1:Sn=360MVA ,变比 =18/121,Uk%%,Pk=230KW,P0=150KW,I0/In=1 %;变压器B2、B3: Sn=15MVA ,变比 =110/11 KV ,Uk %%, Pk=128KW ,,I0/In=3.5 %;负荷 F1:20+j15MV A ;负荷 F2:28+j10MV A ;线路 L1、L2 :长度: 80km,电阻: 0.21 Ω/km,电抗: 0.416 Ω/km,电纳:×10-6S/km。

辐射形网络主接线图( 1)在 DDRTS中绘出辐射形网络主接线图以下所示:( 2)设置各项设施参数:G1:300+j180MVA (均衡节点)变压器 B1:Sn=360MVA ,变比 =18/121,Uk%%,Pk=230KW,P0=150KW,I0/In=1 %;变压器B2、B3: Sn=15MVA ,变比 =110/11 KV ,Uk %%, Pk=128KW ,,I0/In=3.5 %;负荷 F1:20+j15MV A ;负荷 F2:28+j10MV A ;线路 L1、L2 :长度: 80km,电阻: 0.21 Ω/km,电抗: 0.416 Ω/km,电纳:×10-6S/km。

2.辐射形网络的潮流计算(1)调理发电机输出电压,使母线 A 的电压为 115KV,运转 DDRTS进行系统潮流计算,在监控图页上察看计算结果项目DDRTS 潮流计算结果变压器 B2 输入功率变压器 B2 输出功率变压器 B3 输入功率变压器 B3 输出功率线路 L1 输入功率线路 L1 输出功率线路 L2 输入功率线路 L2 输出功率( 2)手算潮流:( 3)计算比较偏差剖析经过比较能够看出,手算结果与计算机仿真结果相差不大。

华北电力大学潮流上机课程设计报告

华北电力大学潮流上机课程设计报告

课程设计报告( 2014—2015年度第一学期) 名称:电力系统潮流上机院系:电气与电子工程学院班级:电气1215 学号:学生姓名:指导教师:王莉丽设计周数:两周成绩:日期: 2015年1月4日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1.手算2.计算机计算3.思考题三、课程设计总结或结论四、参考文献1.《电力系统分析基础》,李庚银,机械工业出版社,2011年,第一版;2.《电力系统稳态分析》,陈珩,中国电力出版社,2007年,第三版;附录(包括:1.手算过程及结果;2.计算机计算流程图、表格、数据;3.思考题答案)附录1.手算过程及结果2.计算机计算流程图3.完整的潮流程序头文件(定义变量):#define Bus_Num 9#define Line_Num 9#define Precision 1e-5struct Bus{int No ;float Voltage,Phase,GenP,GenQ,LoadP,LoadQ;int Type;}gBus[Bus_Num];struct Line{int No,No_I,No_J;float R,X,B,k;}gLine[Line_Num];float gY_G[Bus_Num][Bus_Num],gY_B[Bus_Num][Bus_Num];float gDelta_P[Bus_Num-1],gDelta_Q[Bus_Num-1],gDelta_PQ[2*(Bus_Num-1)]; float gJaccobi[2*(Bus_Num-1)][2*(Bus_Num-1)];float gDelta_f[Bus_Num-1],gDelta_e[Bus_Num-1],gDelta_fe[2*(Bus_Num-1)]; float gf[Bus_Num],ge[Bus_Num];主程序:// flow.cpp: 主项目文件#include"stdafx.h"#include"NEquation.h"#include"math.h"#include"stdio.h"#include"config.h"using namespace System;void test(){NEquation ob1;ob1.SetSize(2);ob1.Data(0,0)=1;ob1.Data(0,1)=2;ob1.Data(1,0)=2;ob1.Data(1,1)=1;ob1.Value(0)=4;ob1.Value(1)=6;ob1.Run();printf("x1=%f\n",ob1.Value(0));printf("x2=%f\n",ob1.Value(1));}void GetData()//Read the data{FILE *fp;int i;fp=fopen("E:\\1121960726\\flow\\data\\data.txt","r");if(fp==NULL){printf("Can not open the file named 'data.txt' \n");return;}for(i=0;i<=Bus_Num-1;i++){fscanf(fp,"%d,%f,%f,%f,%f,%f,%f,%d",&gBus[i].No,&gBus[i].Voltage,&gBus[i].Phase, &gBus[i].GenP,&gBus[i].GenQ,&gBus[i].LoadP,&gBus[i].LoadQ,&gBus[i].Type);}for(i=0;i<=Line_Num-1;i++){fscanf(fp,"%d,%d,%d,%f,%f,%f,%f",&gLine[i].No,&gLine[i].No_I,&gLine[i].No_J, &gLine[i].R,&gLine[i].X,&gLine[i].B,&gLine[i].k);}fclose(fp);}void GetYMatrix(){int i,j,bus1,bus2;float r,x,d,g,b,g1,b1,g2,b2,g3,b3;FILE *fp;for(i=0;i<=Bus_Num-1;i++){for(j=0;j<=Bus_Num-1;j++){gY_G[i][j]=0;gY_B[i][j]=0;}}for(i=0; i<=Line_Num-1; i++){if(gLine[i].k==0){bus1=gLine[i].No_I-1;bus2=gLine[i].No_J-1;r=gLine[i].R;x=gLine[i].X;d=r*r+x*x;g=r/d;b=-x/d;gY_G[bus1][bus1]=gY_G[bus1][bus1]+g;gY_G[bus2][bus2]=gY_G[bus2][bus2]+g;gY_G[bus1][bus2]=gY_G[bus1][bus2]-g;gY_G[bus2][bus1]=gY_G[bus2][bus1]-g;gY_B[bus1][bus1]=gY_B[bus1][bus1]+b+gLine[i].B;gY_B[bus2][bus2]=gY_B[bus2][bus2]+b+gLine[i].B;gY_B[bus1][bus2]=gY_B[bus1][bus2]-b;gY_B[bus2][bus1]=gY_B[bus2][bus1]-b; }else{bus1=gLine[i].No_I-1;bus2=gLine[i].No_J-1;x=gLine[i].X;d=r*r+x*x;g=r/d;b=-x/d;g1=g/gLine[i].k;b1=b/gLine[i].k;g2=g*(1-gLine[i].k)/(gLine[i].k*gLine[i].k);b2=b*(1-gLine[i].k)/(gLine[i].k*gLine[i].k);g3=g*(gLine[i].k-1)/gLine[i].k;b3=b*(gLine[i].k-1)/gLine[i].k;gY_G[bus1][bus1]=gY_G[bus1][bus1]+g1+g2;gY_G[bus2][bus2]=gY_G[bus2][bus2]+g1+g3;gY_G[bus1][bus2]=gY_G[bus1][bus2]-g1;gY_G[bus2][bus1]=gY_G[bus2][bus1]-g1;gY_B[bus1][bus1]=gY_B[bus1][bus1]+b1+b2;gY_B[bus2][bus2]=gY_B[bus2][bus2]+b1+b3;gY_B[bus1][bus2]=gY_B[bus1][bus2]-b1;gY_B[bus2][bus1]=gY_B[bus2][bus1]-b1;}}// output the Y matrixfp=fopen("E:\\1121960726\\flow\\data\\ymatrix.txt","w");if(fp==NULL){printf("Can not open the file named 'ymatrix.txt' \n");return ;}fprintf(fp,"---Y Matrix---\n");for(i=0;i<=Bus_Num-1;i++){for(j=0;j<=Bus_Num-1;j++){fprintf(fp,"Y(%d,%d)=(%10.5f,%10.5f)\n",i+1,j+1,gY_G[i][j],gY_B[i][j]);}}fclose(fp);}void SetInitial(){int i;for(i=0;i<=Bus_Num-1;i++){if(gBus[i].Type==3){gf[i]=gBus[i].Voltage*sin(gBus[i].Phase);ge[i]=gBus[i].Voltage*cos(gBus[i].Phase);}else{gf[i]=0;ge[i]=1;}}}void GetUnbalance(){int i,j;FILE *fp;for(i=0;i<=Bus_Num-2;i++){gDelta_P[i]=gBus[i+1].GenP-gBus[i+1].LoadP;if(gBus[i+1].Type==2) //PV节¨2点ì?gDelta_Q[i]=gBus[i+1].Voltage*gBus[i+1].Voltage-(ge[i+1]*ge[i+1]+gf[i+1]*gf[i+1]);elsegDelta_Q[i]=gBus[i+1].GenQ-gBus[i+1].LoadQ;for(j=0;j<=Bus_Num-1;j++){gDelta_P[i]=gDelta_P[i]-ge[i+1]*(gY_G[i+1][j]*ge[j]-gY_B[i+1][j]*gf[j])-gf[i+1]*(gY_G[i+1][j]*gf[j]+gY_B[i+1][j]*ge[j]);if(gBus[i+1].Type==1) //PQ节¨2点ì?gDelta_Q[i]=gDelta_Q[i]-gf[i+1]*(gY_G[i+1][j]*ge[j]-gY_B[i+1][j]*gf[j])+ge[i+1]*(gY_G[i+1][j]*gf[j]+gY_B[i+1][j]*ge[j]);}}for(i=0;i<=Bus_Num-2;i++) //合?并?é{gDelta_PQ[2*i]=gDelta_P[i];gDelta_PQ[2*i+1]=gDelta_Q[i];}fp=fopen("E:\\1121960726\\flow\\data\\unbalance.txt","w");if(fp==NULL){printf("无法打开文件:”'unbalance.txt' \n");return ;}fprintf(fp,"---Unbalance---\n");for(i=0;i<=2*Bus_Num-3;i++){fprintf(fp,"Unbalance[%d]=%10.5f\n",i+1,gDelta_PQ[i]);}fclose(fp);}void GetJaccobi(){int i,j;float ga[Bus_Num-1],gb[Bus_Num-1];FILE *fp;for(i=0;i<=Bus_Num-2;i++) //计算注入电流{ga[i]=0;gb[i]=0;for(j=0;j<=Bus_Num-1;j++){ga[i]=ga[i]+gY_G[i+1][j]*ge[j]-gY_B[i+1][j]*gf[j];gb[i]=gb[i]+gY_G[i+1][j]*gf[j]+gY_B[i+1][j]*ge[j];}}for(i=0;i<=Bus_Num-2;i++){for(j=0;j<=Bus_Num-2;j++){if(i!=j){gJaccobi[2*i][2*j]=-gY_B[i+1][j+1]*ge[i+1]+gY_G[i+1][j+1]*gf[i+1];gJaccobi[2*i][2*j+1]=gY_G[i+1][j+1]*ge[i+1]+gY_B[i+1][j+1]*gf[i+1];if(gBus[i+1].Type==2) //PV节¨2点ì?{gJaccobi[2*i+1][2*j]=0;gJaccobi[2*i+1][2*j+1]=0;}else//PQ{gJaccobi[2*i+1][2*j]=-gJaccobi[2*i][2*j+1];gJaccobi[2*i+1][2*j+1]=gJaccobi[2*i][2*j];}}else{gJaccobi[2*i][2*j]=-gY_B[i+1][j+1]*ge[i+1]+gY_G[i+1][j+1]*gf[i+1]+gb[i];gJaccobi[2*i][2*j+1]=gY_G[i+1][j+1]*ge[i+1]+gY_B[i+1][j+1]*gf[i+1]+ga[i];if(gBus[i+1].Type==2) //PV节¨2点ì?{gJaccobi[2*i+1][2*j]=2*gf[i+1];gJaccobi[2*i+1][2*j+1]=2*ge[i+1];}else//PQ节点{gJaccobi[2*i+1][2*j]=-gY_G[i+1][j+1]*ge[i+1]-gY_B[i+1][j+1]*gf[i+1]+ga[i];gJaccobi[2*i+1][2*j+1]=-gY_B[i+1][j+1]*ge[i+1]+gY_G[i+1][j+1]*gf[i+1]-gb[i];}}}}fp=fopen(,"w");if(fp==NULL){printf("无法打开文件:” 'jaccobi.txt' \n");return ;}fprintf(fp,"---Jaccobi Matrix---\n");for(i=0;i<=2*Bus_Num-3;i++){for(j=0;j<=2*Bus_Num-3;j++){fprintf(fp,"jaccobi(%d,%d)=%10.5f\n",i+1,j+1,gJaccobi[i][j]);}}fclose(fp);}void GetRevised(){int i,j;FILE *fp;NEquation ob1; //解矩阵方程ob1.SetSize(2*(Bus_Num-1));for(i=0;i<=2*Bus_Num-3;i++)for(j=0;j<=2*Bus_Num-3;j++)ob1.Data(i,j)=gJaccobi[i][j];for(i=0;i<=2*Bus_Num-3;i++)ob1.Value(i)=gDelta_PQ[i];ob1.Run();for(i=0;i<=Bus_Num-2;i++){gDelta_f[i]=ob1.Value(2*i);gDelta_e[i]=ob1.Value(2*i+1);gDelta_fe[2*i]=gDelta_f[i];gDelta_fe[2*i+1]=gDelta_e[i];}fp=fopen("E:\\1121960726\\flow\\data\\revised.txt","w");if(fp==NULL){printf("无法打开文件:” 'revised.txt' \n");return ;}fprintf(fp,"---Revised---\n");for(i=0;i<=2*Bus_Num-3;i++){fprintf(fp,"revised[%d]=%10.5f\n",i+1,gDelta_fe[i]);}fclose(fp);}void GetNewValue(){int i;FILE *fp;for(i=0;i<=Bus_Num-2;i++){gf[i+1]=gf[i+1]+gDelta_f[i];ge[i+1]=ge[i+1]+gDelta_e[i];}fp=fopen("E:\\1121960726\\flow\\data\\newvalue.txt","w");if(fp==NULL){printf("无法打开文件:”'newvalue.txt' \n");return ;}fprintf(fp,"---New Value---\n");for(i=0;i<=Bus_Num-2;i++){fprintf(fp,"f(%d)=%10.5f,e(%d)=%10.5f\n",i+1,gf[i+1],i+1,ge[i+1]); }fclose(fp);}int main(array<System::String ^> ^args){int i,Count_Num;float maxValue;//test();GetData();GetYMatrix();SetInitial();for(Count_Num=0;Count_Num<=100;Count_Num++) {GetUnbalance();GetJaccobi();GetRevised();GetNewValue();maxValue=fabs(gDelta_fe[0]);for(i=1;i<=2*(Bus_Num-1)-1;i++){if(maxValue<fabs(gDelta_fe[i])){maxValue=fabs(gDelta_fe[i]);}}if(maxValue<Precision){break;}}printf("%d\n",Count_Num);for(i=0;i<=Bus_Num-1;i++){printf("%10.5f\n",sqrt(ge[i]*ge[i]+gf[i]*gf[i]));}while(true){}return 0;}计算结果:(1)原始数据:(2)节点导纳矩阵:(3)Jacobi矩阵:(4)NewVoltageValue:(5)不平衡量:(6)修正量:(6)结果:3.回答思考题1.潮流计算的方法有哪些?各有何特点?2. 如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)3. 设计中遇到的问题和解决的办法。

简单电力系统的潮流分析报告

简单电力系统的潮流分析报告

P22 Q22
U
2 2
(R
jX )
(2)并联导纳上的损耗
QB1

1 2
BU12
QB 2

1 2
BU
2 2
(3)电力线路中的功率计算
S~1
U1 B
j 2
S~1 R
jQB1 SZ
jXS~2
jQB2
S~2 U 2 jB 2
电力线路阻抗支路末端流出的功率为
S~2 S~2 ( jQB2) P2 j(Q2 QB2 )
3.4 开式网的潮流分析
一、开式网络的潮流分析 电力系统在运行时,在电源电势激励之下,电 流或功率从电源通过系统各元件流入负荷,分 布于电力网各处,称为潮流分布。
潮流分析的步骤:
1、作出网络的等值电路 2、作出简化等值电路 3、逐段推算功率和电压分布
1 、已知 首端电压、首端功率, 求 末端电压、末端功率。
cos 0.8
100kW
3.5 闭式网络的潮流分析
闭式网络:网络中任何一个负荷点都可以 从两个及以上方向供电的电力网,如两端 供电网络、环网等。
一、闭式网络的潮流分析
闭式网络的潮流分析分为两步: 1、初步潮流分布计算——忽略各段上的功率
损耗求近似功率分布,找出无功功率分点。 2、最终潮流分布——用之前得到的近似的功
jB 2
3 、已知 首端电压、末端功率, 求 末端电压、首端功率。
从已知功率端开始,先假设末端及供电支 路各点的电压为额定电压
S~1
U1 jB 2
S~1 R
jQB1
~ SZ
U
jXS~2
jQB2
S~2
U 2

电力系统潮流分析报告

电力系统潮流分析报告
(6)计算各节点电压的新值
(7)运用各节点电压的新值自第三步开始进入下一次迭代。
(8)计算平衡节点功率。
第三节 计算机算法程序
第三章
第一节 PQ分解法潮流计算时的修正方程式
PQ分解法潮流计算派生于以极坐标表示时的牛顿拉夫逊法,其修正方程式是牛顿拉夫逊修正方程式的简化。为说明这一简化,将牛孙拉弗逊极坐标表示时的雅可比矩阵重新排列,由于高压输电线路的电阻远远小于电抗,以致各节点电压相位角的改变主要影响各元件中的有功功率潮流从而影响各节点的注入有功功率;各节点电压大小的改变主要影响各元件中无功功率潮流从而影响各节点的注入无功功率,可将修正方程简化为
(3)网络中有n—m个PV节点,编号m+1,m+2,…n。
至此,就可以建立修正方程,如下所示
(2-5)
式中雅可比矩阵各个元素分别为
(2—6)
第二节 牛顿拉夫逊法潮流计算的基本步骤
(1)形成节点导纳矩阵
(2)设置各节点电压的初始值
(3)代入初始值,求修正方程式中的不平衡量
(4)求取雅可比矩阵中各元素
(5)解修正方程式,求各节点的修正量。
(7)解修正方程式(4—3b),求各节点相位角的修正量
(8)求取各节点电压大小的新值
(9)运用各节点电压的新值自第三部开始下一次迭代
(10)计算平衡节点功率
第三节 PQ分解法的MATLAB实现(见附件)
第四章
与牛顿拉弗逊相比,PQ分解法有如下特点:
(1)以一个(n-1)阶和一个(m-1)阶系数矩阵 、 代替原有的(n+m—2)阶矩阵J,提高了计算速度,降低了对内存的要求。
(2)以迭代过程中保持不变的系数矩阵 、 替代不对称的系数矩阵J,提高了计算速度。

电力系统中的动态潮流计算与分析

电力系统中的动态潮流计算与分析

电力系统中的动态潮流计算与分析在当今社会,电力已经成为我们生活中不可或缺的一部分。

从家庭的照明、电器使用,到工厂的大规模生产,再到城市的交通、通信等基础设施,无一不依赖稳定可靠的电力供应。

而在这背后,电力系统的高效运行和精准控制起着至关重要的作用。

其中,动态潮流计算与分析作为电力系统研究和运行中的重要环节,对于保障电力系统的安全、稳定和经济运行具有极其重要的意义。

那么,什么是电力系统的动态潮流呢?简单来说,潮流就像是电力系统中的“水流”,它描述了电力在电网中各个节点(如发电厂、变电站、用户等)之间的流动情况,包括电压、电流、功率等参数。

而动态潮流则是考虑了电力系统中各种动态元件(如发电机、负荷等)的动态特性以及系统运行状态变化情况下的潮流分布。

动态潮流计算的目的主要有两个方面。

一方面,通过计算可以了解电力系统在不同运行条件下的电压、电流和功率分布情况,从而评估系统的安全性和稳定性。

例如,如果某些节点的电压过低或过高,可能会导致设备损坏、停电等问题;如果某些线路的功率超过了其传输极限,可能会引发过载甚至故障。

另一方面,动态潮流计算结果可以为电力系统的规划、设计和运行提供重要的参考依据。

比如,在规划新的发电厂或变电站时,需要根据预计的负荷增长和电网结构,通过动态潮流计算来确定其最佳位置和容量。

要进行动态潮流计算,首先需要建立电力系统的数学模型。

这个模型通常包括发电机模型、负荷模型、输电线路模型等。

发电机模型描述了发电机的输出特性,如电压、频率等与输入机械功率之间的关系;负荷模型则反映了用户对电力的需求随时间的变化情况;输电线路模型则用于计算电力在线路中的传输损耗和电压降落。

在实际计算中,常用的方法有牛顿拉夫逊法、PQ 分解法等。

牛顿拉夫逊法是一种基于非线性方程组求解的方法,具有较高的计算精度,但计算量较大;PQ 分解法则是对牛顿拉夫逊法的一种简化,在一定条件下可以提高计算速度,但精度可能会有所降低。

电力系统教学课件 3 简单电力网络潮流的分析与计算 2

电力系统教学课件 3 简单电力网络潮流的分析与计算 2

电压关系:
U1
(U2
P2'RQ2' X)j(P2'XQ2U)j(U)U2 dU
(3) 若已知如下条件,求潮流分布
I. 末端电压、功率 2. 首端电压、功率 3. 首端电压、末端功率 4. 末端电压、首端功率
S~1 U1
1
Y 2
S~1' S~Z S~2'
• 第一节 电力线路和变压器的功率损耗和电 压降落;
• 第二节 开式网络的潮流分布; • 第三节 环形网络的潮流分布。
• 附:第零节 计算基本原理
第零节 潮流计算基本原理
一、电力线路和变压器等值电路基本结构 二、阻抗支路功率损耗和电压降落 三、导纳支路功率损耗
一、电力线路和变压器等值电路结构
s
阻抗支路
3 ZT
4
S4
YT
导纳支路
问题:已知末端电压和功率,求潮流分布
结论1:潮流计算的核心: 阻抗支路电压降落和功率损耗的计算 导纳支路的功率损耗的计算
二、阻抗支路功率损耗和电压降落 的计算
(1). 已知末端电压和末端功率,求分布
I. 功率损耗(三相)
SZ 3I 2Z 3(
S
' 2
)2 (R jX )
S~y1 Z S~y2
U2
~ S2
2
Y 2
π形等值电路:
其中,Z=R+jX,Y=G+jB为每 相的阻抗和导纳。电压为线 电压,功率为三相功率。
(4) 衡量电压质量的指标
电压降落: U 1U 2 U jU
电压损耗: U1U2U2
百 () 100% 分 UN
电压偏差: U1 UN
U1 U 2 100 U 2 100

潮流上机课程设计报告

潮流上机课程设计报告

院系:电气与电子工程学院班级:电气0710班学号:1071181009学生姓名:郭珍妮指导教师:孙英云设计周数:两周成绩:日期:2010 年6 月12日——24日《电力系统潮流上机》课程设计任务书一、 目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、 主要内容1.手算: 要求应用牛顿-拉夫逊法或P-Q 分解法手算求解,要求精度为0.001。

节点1为平衡节点,电压︒∠=00.11U ,节点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源程序及其程序中的符号说明集、程序流图 3.思考题3.1潮流计算的方法有哪些?各有何特点? 3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析) 3.3设计中遇到的问题和解决的办法。

设计(报告)正文2.1 编制程序思路2.1.2本程序是利用牛顿拉夫逊法计算网络进行潮流(1)程序是基于网络的节点信息及之路信息,而这些信息要在运行程序前,已经存入文件"JHXDATA.txt"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.1头文件和命名空间的引用 1.2.2printf函数的使用 1.2.3iostream类的使用
头文件和命名空间的引用
根据C语言标准,所有类和函数都是使用头 文件进行定义和说明的。在程序的开始需 要加入必需的头文件(.h)。C++类库还增 加了命名空间(namespace),程序所用到的 大多数类都包含在“std”命名空间中,这 些都需要在程序中加以说明。
文件输入输出程序测试
• 文件输入输出命令推荐采 用fstream的标准类库方式。 ifstream infile; ofstream outfile;
• ifstream与ofstream的程序 测试,如右图:
解方程程序测试
这一部分主要掌握如何添加头 文件,并在主程序中学会调用。 添加头文件:打开在F盘下所建 的以学号命名的文件夹 “1061181324”->打开 “TEST”文件下->再打开 “TEST”文件->将已建好的头 文件复制粘贴,(在这次潮流 上机中可使用老师编好的头文 件“NEquation.h”) 再回到C++主程序界面,在 “解决方案管理器窗口”处右 击“头文件”->添加->现有项>NEquation.h->确定:
printf函数的使用
点击“调试”->开始 调试(不执行)即可 输出运行结果。(快 捷键是Ctrl+F5)
iostream类的使用
在C语言中,用printf和scanf进行输入输出,通过 以前的学习,我们知道用这两个函数进行输入输 出时,必须指明输出和输入的数据的格式和类型 (如,“%d”表示整型,“%f”表示浮点型。) 这不仅使编程繁琐复杂,而且还容易出错。C++ 为了和C兼容,保留了printf和scanf函数,但C++ 通过提供I/O类库来实现丰富的I/O功能。iostream 是C++种提供的用于输入输出的类库,意为输入 输出流。 常用到的命令语句有以下: cin>>a: 把一个数输入给变量a; cout<<a: 把变量a的值输出;
控制台应用程序(模版)” 在对话框下面部分“位置”处选择程序放置的目录 (通常为F:盘)。用自己的学号建立一个目录。在“名称”对应的文本框中 输入一个由英文字母组成的程序名字,比如 “TEST”,然后点击右下角的 “确定”按钮,创建一个新项目。如下图所示:
简单输入输出程序测试
建立的CLR控制台应用程序既可以使用传统的 Standard C++类库,也可以使用.net Framework 类库。本课程推荐采用标准C++类库,这样可以 有利于把程序迁移至Unix C++等其他编程环境。 创建的程序TEST.CPP中有main函数,可以利用 C/C++语言的函数库进行输入输出的尝试。
基础知识
开发潮流计算程序使用的平Microsoft Visual Studio系列开发软件,本课程主要采 用Visual C/C++软件开发。下面介绍一些常 用的知识。
1.1创建开发项目 1.2简单输入输出程序测试 1.3程序的调试方法 1.4文件输入输出程序测试 1.5解方程程序测试
创建开发项目
NEquation.h的调用: 对于一个方程,AX=B,A为系数矩阵,B为值
矩阵,要求出X,在头文件中NEquation.h中用 Data表示系数矩阵,Value表示值矩阵。也就是 说,我们需要在main函数中分别把一个方程的系 数矩阵和值矩阵赋给NEquation.h头文件中的Data 阵和Value阵,运行后即可完成解方程。另外调用 时需要在main函数前敲入添加语句,即: include“NEquation.h”.
打开“开始-> 程序->Microsoft Visual Studio2008 -> Microsoft Visual Studio2008”,启 动Microsoft Visual Studio2008的主程 序界面如右
点击“文件>新建->项 目”,启动 了创建项目 对话框如右
在“新建项目”对话框“项目类型”中选择Visual C++,点击“CLR->CLR
在C++中也可以控制浮点数输出的精度, 流操纵算子setprecision或函数precision都
可以都可以控制浮点数小数的有效数字位 数。一旦设置了精度,该精度对cout中气候
的所有的输出操作都有效,直到遇到下一
个流操纵算子重新设置精度为止。以无参 数的方式调用函数precisin,可以返回当前 设置的精度。需注意,使用setprecision会
电力系统潮流上机实验பைடு நூலகம்导
华北电力大学 姜彤
概述
潮流计算是电力系统规划、设计、运行的基 础计算,潮流计算的方法和程序设计技巧,包含 了电力系统网络分析的重要内容,50年来一直是 使学生掌握电力系统分析计算的主要教学内容。
本课程属于电力系统分析基础课程的课程设计, 主要内容是利用C/C++语言完成一个直角坐标牛 顿-拉夫逊(Newton-Raphson)潮流算法的程序, 并利用标准IEEE9/14节点潮流算例进行验证。
其他任何参数变化的流操纵算子都必须在 程序中包含头文件iomanip.h。
程序的调试方法
• 运行程序的命令 • 增加断点的方法 • 调试中查看变量的方法
运行程序的命令
点击“调试”->开始调试(不执行)即可输 出运
行结果。(快捷方式是Ctrl+F5)需注意每次 调试前需情理上次生成的解决方案。
增加断点的方法
课程安排
课程共分为四个阶段: • 程序设计初步知识(4学时) • 数据录入与节点导纳矩阵的生成(6学时) • 节点功率偏移量的计算和雅可比矩阵的建
立(4学时) • 设定收敛条件,完成潮流迭代程序,输出
计算结果。(4学时)
答辩须知
完成程序后,需要进行最后的答辩。答 辩内容包括以下几个方面: • 提交课程设计论文报告,包含三部分内 容:任务书、程序设计体会和思考题答案、 三节点潮流手算结果。 • 提交完成的潮流计算程序和计算结果。 • 回答老师提出的问题。
在潮流计算程序调试的过程中,为了便于监视变量的变化,通常需要 设置一系列的断点,设置断点的具体操作方式有两种分别为: 1.在变量定义的左侧点击鼠标左键,即可设置断点,如下图所示:
或者在变量所在行即所需监控的始端右击->断点 ->插入断点。
调试中查看变量的方法
如需在调试过程中,如需查看变量的变 化,需在待观测变量处设置断点,进行调 试时,程序执行到断点处事程序将自动停 止,显示变量值,以F10控制程序执行,一 步一步观察变量的变化。
相关文档
最新文档