电力系统潮流上机答辩报告_第1页
电力系统潮流上机答辩报告_第2页
电力系统潮流上机答辩报告_第3页
电力系统潮流上机答辩报告_第4页
电力系统潮流上机答辩报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电力系统综合仿真课程设计报告 院 系: 电气与电子工程学院 班 级: 实验电10班 学 号: 学生姓名: 李慧勇 指导教师: 姜彤 设计周数: 两周 成 绩: 日期:2012 年 1 月 10 日电力系统综合仿真课程设计任 务 书一、 目的与要求培养学生编程实现电力系统仿真计算的能力,掌握潮流计算、短路计算、暂态稳定计算的相关知识二、 主要内容1 编写潮流计算程序,要求如下:2.1据给定的潮流计算任务书整理潮流计算的基础数据:节点的分类,线路模型,等值变压器模型,电压等级的归算,标幺值的计算;2.2基础数据的计算机存储:节点数据,支路数据(包括变压器);2.3用牛顿-拉夫逊法计算;2.4根据

2、所选潮流计算方法画流程图,划分出功能模块,有数据输入模块,导纳阵形成模块,解线性方程组模块,计算不平衡功率模块,形成雅可比矩阵模块,解修正方程模块,计算线路潮流,网损,PV节点无功功率和平衡节点功率,数据输出模块;2.5据上述模块编制程序并上机调试程序,得出潮流计算结果;2.6源程序及其程序中的符号说明集、程序流图2 利用潮流计算结果编写故障计算程序,要求如下:2.1 发电机参数一律为PN=200MW,cos=0.85, ,2.2 变压器一律为Yd11接线,其中三角形侧接发电机,星形侧都直接接地2.3 线路零序参数一律为2.4 负荷都采用Y/Y型变压器接入,中性点与系统相连侧部接地。负荷按照对

3、称负荷考虑,纯阻抗形式。2.5 计算5节点发生三相对称短路、单相接地短路、两相短路和两相接地短路时的故障电流,以及各支路电流和节点电压。3思考题3.1潮流计算和短路电流计算的元件模型有哪些不同点?节点导纳矩阵有哪些不同?计算过程有哪些不同点?3.2 短路电流计算中进行了哪些假设?3.3如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)3.4比较过去的计算机语言上机学习和本课程上机有哪些不同?设计中遇到的问题和解决的办法。三、 进度计划序号设计内容完成时间备注1教师讲解本次设计的任务及相关知识课程设计开始前2整理潮流

4、计算的原始数据,完成数据的读入读出模块一天3编写及调试形成导纳矩阵模块一天4计算不平衡功率,形成雅可比矩阵一天5解修正方程一天6计算线路潮流,网损,PV节点无功功率和平衡节点功率一天7读入故障计算需要的数据,计算三相短路一天8计算不对称短路一天9写设计报告一天10验收一天四、 设计成果要求1 提交任务书2 计算机计算潮流程序流程图;潮流计算开始读入节点和支路数据形成节点导纳矩阵赋电压初值判断是否符合迭代要求(用迭代次数k表示)是否计算不平衡量P、Q形成Jacobi矩阵解方程求电压修正量和电压新值得最终的节点电压计算平衡节点的功率、PV节点的无功、各支路功率和网损数据输出潮流结束3.计算机计算短

5、路电流程序流程图;短路计算开始读入节点导纳矩阵和节点电压计算正、负、零序节点导纳矩阵解方程得短路节点对应的各序阻抗列向量形成正序增广网络(各种类型的短路故障不同),并求出短路处电流)计算各序电压并求出三相各节点电压输出结果短路计算结束4.完整的仿真程序(包括变量的定义,子程序的调用等,计算结果),并有程序注释。(1)源程序#include stdafx.h#include math.h#include #include #include #include #include /输出格式控制头文件using namespace std;using namespace System;#include

6、 NEquation.h /调用解方程文件#include CNEquation.h /解虚数方程struct BusData int ID;int Type;double U,Angle,PL,QL,PG,QG,U0,G,B;Bus9;struct BranchData int BusA,BusB,Type; double R,X,B,K;Branch9;#define PI 3.int main(array args)cout.setf(ios:left);ifstream file1(G:9data.txt); /导入节点和支路数据double e9=0,f9=0;for(int i=0

7、;iBusi.IDBusi.TypeBusi.UBusi.AngleBusi.PLBusi.QLBusi.PGBusi.QGBusi.U0Busi.GBusi.B; Busi.PL=Busi.PL/100; /功率化为标幺值,SB=100MVABusi.QL=Busi.QL/100;Busi.PG=Busi.PG/100;Busi.QG=Busi.QG/100;ei=Busi.U0;fi=0;for(int i=0;iBranchi.BusABranchi.BusBBranchi.TypeBranchi.RBranchi.XBranchi.BBranchi.K;file1.close();do

8、uble YG99=0,YB99=0; for(int i=0;i9;i+)double R=Branchi.R;double X=Branchi.X;double B=Branchi.B/2;double YLG=R/(R*R+X*X);double YLB=-X/(R*R+X*X);int m=Branchi.BusA-1;int n=Branchi.BusB-1;if(Branchi.Type=1) /普通节点YGmm+=YLG;YGnn+=YLG;YGmn-=YLG;YGnm-=YLG;YBmm+=YLB+B+Busi.B;YBnn+=YLB+B+Busi.B;YBmn-=YLB;YB

9、nm-=YLB;else /变压器节点YGmm+=YLG/(Branchi.K*Branchi.K);YGmn-=YLG/Branchi.K;YGnn+=YLG;YGnm-=YLG/Branchi.K; YBmm+=YLB/(Branchi.K*Branchi.K);YBmn-=YLB/Branchi.K;YBnn+=YLB;YBnm-=YLB/Branchi.K;ofstream file2(G:节点导纳矩阵.txt); /形成节点导纳矩阵file2-节点导纳矩阵:endl;for(int i=0;i9;i+)for(int j=0;j9;j+) file2Yi+1j+1=(YGij, se

10、tw(8)YBij)endl;file2.close();for(int k=1;k=10;k+) /k为求电压的迭代次数double a8=0,b8=0;int i;for(int i=1;i9;i+) for(int j=0;j9;j+) ai-1+=YGij*ej-YBij*fj; bi-1+=YGij*fj+YBij*ej; double Jacobi1616=0;double H88=0,N88=0,J88=0,L88=0,R88=0,S88=0;for(int i=1;i9;i+)for(int j=1;j9;j+)Hi-1j-1=-YBij*ei+YGij*fi;Ni-1j-1=

11、YGij*ei+YBij*fi;Ji-1j-1=-Ni-1j-1;Li-1j-1=Hi-1j-1;for(int i=0;i8;i+)switch(Busi+1.Type) case(1): /对PQ节点求H、N、J、L阵Hii+=bi;Nii+=ai;Jii+=ai;Lii-=bi;break;case(2): /对PV节点求H、N、R、S阵Hii+=bi;Nii+=ai; Rii+=2*fi+1;Sii+=2*ei+1;break;for(int i=0;i8;i+)for(int j=0;j8;j+)switch(Busi+1.Type) case(1): /按节点类型填入Jacobi矩

12、阵Jacobi2*i2*j=Hij;Jacobi2*i2*j+1=Nij;Jacobi2*i+12*j=Jij;Jacobi2*i+12*j+1=Lij;break;case(2):Jacobi2*i2*j=Hij;Jacobi2*i2*j+1=Nij;Jacobi2*i+12*j=Rij;Jacobi2*i+12*j+1=Sij;break; ofstream file3(G:雅克比矩阵.txt,ios:app); /形成Jacobi矩阵file3-第k次迭代后雅克比矩阵:endl;for(int i=0;i16;i+)for(int j=0;j16;j+) file3setw(10)Jac

13、obiij;file3endl;file3.close();double Delta16; /定义不平衡量for(int i=1;i9;i+)switch(Busi.Type)case(1): /PQ节点的不平衡量Delta2*(i-1)=Busi.PG-Busi.PL-ai-1*ei-bi-1*fi;Delta2*i-1=Busi.QG-Busi.QL-ai-1*fi+bi-1*ei;break; case(2): /PV节点的不平衡量Delta2*(i-1)=Busi.PG-Busi.PL-ai-1*ei-bi-1*fi; Delta2*i-1=Busi.U*Busi.U-fi*fi-ei

14、*ei;break;ofstream file4(G:不平衡量.txt,ios:app);file4-第k次迭代后不平衡量:endl;for(int i=0;i16;i+) file4setw(15)Deltai;file4endl;file4.close();NEquation ob; /解修正方程 ob.SetSize(16);double x16=0; for(int i=0;i16;i+) for(int j=0;j16;j+) ob.Data(i,j)=Jacobiij; ob.Value(i)=Deltai; ob.Run(); for(int i=0;i16;i+)xi=ob.V

15、alue(i); /修正量 for(int i=0;i8;i+)fi+1+=x2*i; /电压新值ei+1+=x2*i+1;ofstream file5(G:节点电压值(直角坐标).txt,ios:app);file5-第k次迭代后各节点电压值:endl; for(int i=0;i9;i+) file5Ui+1=(ei,fi)endl; /节点电压值(直角坐标)double magnitude9=0,phase9=0; /magnitude为幅值、phase为相角ofstream file6(G:节点电压值(极坐标).txt); for(int i=0;i9;i+)magnitudei=sq

16、rt(ei*ei+fi*fi);phasei=atan(fi/ei)*180/PI;file6Ui+1=(magnitudei,phasei)endl;/最终节点电压值(极坐标)file6.close();complex S09=0; /S0为节点功率for(int i=0;i9;i+) for(int j=0;j9;j+) switch(Busi.Type) case(3): /求平衡节点的功率 case(2): /求PV节点的功率 S0i+=complex(ei,fi)*complex(YGij,-YBij)*complex(ej,-fj); break; complex Sij9=0,S

17、ji9=0; /求各支路流动功率Sij、Sjiint i;for(i=0;i9;i+) int A=Branchi.BusA-1;int B=Branchi.BusB-1;Siji=complex(eA,fA)*complex(eA-eB,fB-fA)*complex(YGAB,-YBAB)+complex(eA,fA)*complex(eA,-fA)*complex(0,-Branchi.B/2); /从节点A流到B的功率 Sjii=complex(eB,fB)*complex(eB-eA,fA-fB)*complex(YGBA,-YBBA)+complex(eB,fB)*complex(e

18、B,-fB)*complex(0,-Branchi.B/2); /从节点B流到A的功率complex deltaS=0; /求总网损deltaSfor(i=0;i9;i+)deltaS+=Siji+Sjii;ofstream file7(G:各功率及网损.txt);for(int i=0;i9;i+)switch(Busi.Type) case(3): file7平衡节点的功率为:S0iendl; /平衡节点的功率 break; case(2): file7PV节点i+1的无功功率为:S0i.imag()endl; /PV节点的无功功率 break; for(int i=0;i9;i+) fi

19、le7支路Branchi.BusABranchi.BusB的功率为:Sijinn 支路Branchi.BusBBranchi.BusA的功率为:Sjiinn; file7网损为:deltaSendl; file7.close(); /短路计算 complex Y99=0,U9=0,Z19=0,If=0,deltaU9=0,Iij9=0; for(int i=0;i9;i+) for(int j=0;j9;j+) Yij=complex(YGij,YBij); /将导纳和节点电压换成虚数表示 Ui=complex(ei,fi); Y00+=complex(0,1.0/(-0.19*100*0.8

20、5/200); /发电机节点的导纳修改 Y11+=complex(0,1.0/(-0.19*100*0.85/200); Y22+=complex(0,1.0/(-0.19*100*0.85/200); /负荷节点的导纳修改 Y44+=complex(Bus4.PL,-Bus4.QL)/(U4*conj(U4); Y55+=complex(Bus5.PL,-Bus5.QL)/(U5*conj(U5); Y77+=complex(Bus7.PL,-Bus7.QL)/(U7*conj(U7); ofstream file8(G:修改后的节点导纳矩阵.txt); /形成节点导纳矩阵 file8-修改

21、后的节点导纳矩阵:endl;for(int i=0;i9;i+)for(int j=0;j9;j+) file8Yi+1j+1=Yijendl;file8.close(); /三相对称短路故障 CNEquation ob1; /求正序节点阻抗阵Z1 ob1.SetSize(9); for(int i=0;i9;i+) for(int j=0;j9;j+)ob1.Data(i,j)=Yij; for(int i=0;i9;i+) ob1.Value(i) = 0; ob1.Value(4)=1; /节点5注入单位电流 ob1.Run(); for(int i=0;i9;i+) Z1i=ob1.V

22、alue(i); ofstream file9(G:Z1.txt); for(int i=0;i9;i+) file9Z1iendl; file9.close(); If=U4/Z14; /计算故障点电流Iffor(int i=0;i9;i+)deltaUi=Z1i*If; /计算deltaU Ui-=deltaUi; U4=0;for(int i=0;i9;i+)Iiji=(UBranchi.BusA-1-UBranchi.BusB-1)/complex(Branchi.R,Branchi.X); /计算支路电流ofstream file10(G:三相对称短路故障.txt);file10短路

23、电流幅值sqrt(If.real()*If.real()+If.imag()*If.imag() 相角atan(If.imag()/If.real()*180/PIendl;for(int i=0;i9;i+)file10支路Branchi.BusA Branchi.BusB 电流幅值 sqrt(Iiji.real()*Iiji.real()+Iiji.imag()*Iiji.imag() 相角 atan(Iiji.imag()/Iiji.real()*180/PIendl;for(int i=0;i9;i+)file10节点i+1电压幅值sqrt(Ui.real()*Ui.real()+Ui

24、.imag()*Ui.imag() 相角atan(Ui.imag()/Ui.real()*180/PIendl;file10.close();/求负序节点阻抗阵 for(int i=0;i9;i+) for(int j=0;j9;j+) Yij=0;complex Z29=0; for(int i=0;i9;i+) for(int j=0;j9;j+) Yij=complex(YGij,YBij); /将导纳和节点电压换成虚数表示 Ui=complex(ei,fi); Y00+=complex(0,2*1.0/(-0.19*100*0.85/200); /发电机节点的导纳修改 (X2=0.5*

25、X1) Y11+=complex(0,2*1.0/(-0.19*100*0.85/200); Y22+=complex(0,2*1.0/(-0.19*100*0.85/200); /负荷节点的导纳修改 Y44+=complex(Bus4.PL,-Bus4.QL)/(U4*conj(U4); Y55+=complex(Bus5.PL,-Bus5.QL)/(U5*conj(U5); Y77+=complex(Bus7.PL,-Bus7.QL)/(U7*conj(U7); CNEquation ob2; /求负序节点阻抗阵Z2 ob2.SetSize(9); for(int i=0;i9;i+) f

26、or(int j=0;j9;j+)ob2.Data(i,j)=Yij; for(int i=0;i9;i+) ob2.Value(i) = 0; ob2.Value(4)=1; /节点5注入单位电流 ob2.Run(); for(int i=0;i9;i+) Z2i=ob2.Value(i); ofstream file11(G:Z2.txt); for(int i=0;i9;i+) file11Z2iendl; file11.close(); /求零序节点阻抗阵 for(int i=0;i9;i+) for(int j=0;j9;j+) Yij=0;complex Z09=0; for(in

27、t k=0;k9;k+)if(Branchk.Type=2) /有变压器支路int i=Branchk.BusA-1;int j=Branchk.BusB-1;Yjj+=complex(0.00001,0.00001)+complex(0,Branchk.B/2);Yij-=complex(0.00001,0.00001);Yji-=complex(0.00001,0.00001);Yii+=complex(0.00001,0.00001)+complex(0,Branchk.B/2);elsecomplex ZL(Branchk.R ,3.0*Branchk.X ); /线路的X0=3*X3

28、complex YL=1.0/ZL;int i=Branchk.BusA-1;int j=Branchk.BusB-1;Yii+=YL+complex(0,Branchk.B/2);Yij-=YL;Yji-=YL;Yjj+=YL+complex(0,Branchk.B/2); CNEquation ob3; /求零序节点阻抗阵Z0 ob3.SetSize(9); for(int i=0;i9;i+) for(int j=0;j9;j+)ob3.Data(i,j)=Yij; for(int i=0;i9;i+) ob3.Value(i) = 0; ob3.Value(4)=1; /节点5注入单位

29、电流 ob3.Run(); for(int i=0;i9;i+) Z0i=ob3.Value(i); ofstream file12(G:Z0.txt); for(int i=0;i9;i+) file12Z0iendl; file12.close(); /单相对地短路 complex U19=0,U29=0,U09=0,Ua9=0,Ub9=0,Uc9=0,If1,If2,If0; If2=If1=If0=complex(e4,f4)/(Z14+Z24+Z04); If=If2+If1+If0;/单相对地短路的故障电流If=3If(1) /各序电压for(int i=0;i9;i+)U1i=c

30、omplex(ei,fi)-Z1i*If1;U2i=-Z2i*If2;U0i=-Z0i*If0; /各相电压for(int i=0;i9;i+)Uai=U1i+U2i+U0i;Ubi=complex(-0.5,-sqrt(3.0)/2)*U1i+complex(-0.5,sqrt(3.0)/2)*U2i+U0i;Uci=complex(-0.5,sqrt(3.0)/2)*U1i+complex(-0.5,-sqrt(3.0)/2)*U2i+U0i;ofstream file13(G:单相对地短路.txt);file13A相短路电流幅值sqrt(If.real()*If.real()+If.im

31、ag()*If.imag() 相角atan(If.imag()/If.real()*180/PIendl;file13A相电压 B相电压 C相电压endl;for(int i=0;i9;i+)file13Uai Ubi Uciendl;file13.close();/两相短路 If1=complex(e4,f4)/(Z14+Z24); If2=-If1; If0=0; If=complex(-0.5,-sqrt(3.0)/2)*If1+complex(-0.5,sqrt(3.0)/2)*If2+If0;/故障相为b相 /各序电压for(int i=0;i9;i+)U1i=complex(ei,

32、fi)-Z1i*If1;U2i=-Z2i*If2;U0i=0; /各相电压for(int i=0;i9;i+)Uai=U1i+U2i+U0i;Ubi=complex(-0.5,-sqrt(3.0)/2)*U1i+complex(-0.5,sqrt(3.0)/2)*U2i+U0i;Uci=complex(-0.5,sqrt(3.0)/2)*U1i+complex(-0.5,-sqrt(3.0)/2)*U2i+U0i;ofstream file14(G:两相短路.txt);file14B相短路电流幅值sqrt(If.real()*If.real()+If.imag()*If.imag() 相角at

33、an(If.imag()/If.real()*180/PIendl;file14A相电压 B相电压 C相电压endl;for(int i=0;i9;i+)file14Uai Ubi Uciendl;file14.close();/两相接地短路 If1=complex(e4,f4)/(Z14+Z24*Z04/Z24+Z04); If2=-If1*Z04/(Z24+Z04); If0=If1*Z24/(Z24+Z04); If=complex(-0.5,-sqrt(3.0)/2)*If1+complex(-0.5,sqrt(3.0)/2)*If2+If0; /故障相为b相/各序电压for(int

34、i=0;i9;i+)U1i=complex(ei,fi)-Z1i*If1;U2i=-Z2i*If2;U0i=-Z0i*If0; /各相电压for(int i=0;i9;i+)Uai=U1i+U2i+U0i;Ubi=complex(-0.5,-sqrt(3.0)/2)*U1i+complex(-0.5,sqrt(3.0)/2)*U2i+U0i;Uci=complex(-0.5,sqrt(3.0)/2)*U1i+complex(-0.5,-sqrt(3.0)/2)*U2i+U0i;ofstream file15(G:两相接地短路.txt);file15B相短路电流幅值sqrt(If.real()*

35、If.real()+If.imag()*If.imag() 相角atan(If.imag()/If.real()*180/PIendl;file15A相电压 B相电压 C相电压endl;for(int i=0;i9;i+)file15Uai Ubi Uciendl;file15.close();return 0;(2)潮流计算结果:-节点导纳矩阵:Y11=(0,-17.3611)Y12=(0, 0)Y13=(0, 0)Y14=(0, 17.3611)Y15=(0, 0)Y16=(0, 0)Y17=(0, 0)Y18=(0, 0)Y19=(0, 0)Y21=(0, 0)Y22=(0, -16)Y

36、23=(0, 0)Y24=(0, 0)Y25=(0, 0)Y26=(0, 0)Y27=(0, 16)Y28=(0, 0)Y29=(0, 0)Y31=(0, 0)Y32=(0, 0)Y33=(0,-17.0648)Y34=(0, 0)Y35=(0, 0)Y36=(0, 0)Y37=(0, 0)Y38=(0, 0)Y39=(0, 17.0648)Y41=(0, 17.3611)Y42=(0, 0)Y43=(0, 0)Y44=(3.30738,-39.3089)Y45=(-1.36519, 11.6041)Y46=(-1.94219, 10.5107)Y47=(0, 0)Y48=(0, 0)Y49=

37、(0, 0)Y51=(0, 0)Y52=(0, 0)Y53=(0, 0)Y54=(-1.36519, 11.6041)Y55=(2.55279,-17.3382)Y56=(0, 0)Y57=(-1.1876, 5.97513)Y58=(0, 0)Y59=(0, 0)Y61=(0, 0)Y62=(0, 0)Y63=(0, 0)Y64=(-1.94219, 10.5107)Y65=(0, 0)Y66=(3.2242,-15.8409)Y67=(0, 0)Y68=(0, 0)Y69=(-1.28201, 5.58824)Y71=(0, 0)Y72=(0, 16)Y73=(0, 0)Y74=(0, 0

38、)Y75=(-1.1876, 5.97513)Y76=(0, 0)Y77=(2.80473,-35.4456)Y78=(-1.61712, 13.698)Y79=(0, 0)Y81=(0, 0)Y82=(0, 0)Y83=(0, 0)Y84=(0, 0)Y85=(0, 0)Y86=(0, 0)Y87=(-1.61712, 13.698)Y88=(2.77221,-23.3032)Y89=(-1.15509, 9.78427)Y91=(0, 0)Y92=(0, 0)Y93=(0, 17.0648)Y94=(0, 0)Y95=(0, 0)Y96=(-1.28201, 5.58824)Y97=(0, 0)Y98=(-1.15509, 9.78427)Y99=(2.4371,-32.1539)-第1次迭代后雅克比矩阵:-第2次迭代后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论