ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:40.01KB ,
资源ID:24130405      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24130405.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华北电力大学潮流上机课程设计报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、华北电力大学潮流上机课程设计报告课程设计报告( 20142015年度第一学期)名 称:电力系统潮流上机 院 系:电气与电子工程学院 班 级: 电气1215 学 号: 学生姓名: 指导教师: 王莉丽 设计周数: 两周 成 绩: 日期: 2015年1月4日一、课程设计的目的与要求培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识二、设计正文(详细内容见附录)1 手算2 计算机计算3 思考题三、课程设计总结或结论四、参考文献1. 电力系统分析基础,李庚银,机械工业出版社,2011年,第一版;2. 电力系统稳态分析,陈珩,中国电力出版社,2007年,第三版;附录(包括:1.手算过程及结

2、果;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;gBusBus_Num;struct Line int No,No_I,No_J; float R,X,B,k;gLineLine_Num;float gY_GBus_NumBus_Num,gY_BBus

3、_NumBus_Num;float gDelta_PBus_Num-1,gDelta_QBus_Num-1,gDelta_PQ2*(Bus_Num-1);float gJaccobi2*(Bus_Num-1)2*(Bus_Num-1);float gDelta_fBus_Num-1,gDelta_eBus_Num-1,gDelta_fe2*(Bus_Num-1);float gfBus_Num,geBus_Num;主程序:/ flow.cpp: 主项目文件#include stdafx.h#include NEquation.h#include math.h#include stdio.h#i

4、nclude config.husing 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=%fn,ob1.Value(0); printf(x2=%fn,ob1.Value(1);void GetData()/Read the data FILE *fp; int i; fp=fopen(E

5、:1121960726flowdatadata.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,&gBusi.No,&gBusi.Voltage,&gBusi.Phase, &gBusi.GenP,&gBusi.GenQ,&gBusi.LoadP,&gBusi.LoadQ,&gBusi.Type); for(i=0;i=Line_Num-1;i+) fscanf(fp,%d,%

6、d,%d,%f,%f,%f,%f,&gLinei.No,&gLinei.No_I,&gLinei.No_J, &gLinei.R,&gLinei.X,&gLinei.B,&gLinei.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_Gij=0; gY_Bij=0; for(i=0; i=Line_Num-1; i+) if(gLinei.k=0)

7、bus1=gLinei.No_I-1; bus2=gLinei.No_J-1; r=gLinei.R; x=gLinei.X; d=r*r+x*x; g=r/d; b=-x/d; gY_Gbus1bus1=gY_Gbus1bus1+g; gY_Gbus2bus2=gY_Gbus2bus2+g; gY_Gbus1bus2=gY_Gbus1bus2-g; gY_Gbus2bus1=gY_Gbus2bus1-g; gY_Bbus1bus1=gY_Bbus1bus1+b+gLinei.B; gY_Bbus2bus2=gY_Bbus2bus2+b+gLinei.B; gY_Bbus1bus2=gY_Bb

8、us1bus2-b; gY_Bbus2bus1=gY_Bbus2bus1-b; else bus1=gLinei.No_I-1; bus2=gLinei.No_J-1; x=gLinei.X; d=r*r+x*x; g=r/d; b=-x/d; g1=g/gLinei.k; b1=b/gLinei.k; g2=g*(1-gLinei.k)/(gLinei.k*gLinei.k); b2=b*(1-gLinei.k)/(gLinei.k*gLinei.k); g3=g*(gLinei.k-1)/gLinei.k; b3=b*(gLinei.k-1)/gLinei.k; gY_Gbus1bus1=

9、gY_Gbus1bus1+g1+g2; gY_Gbus2bus2=gY_Gbus2bus2+g1+g3; gY_Gbus1bus2=gY_Gbus1bus2-g1; gY_Gbus2bus1=gY_Gbus2bus1-g1; gY_Bbus1bus1=gY_Bbus1bus1+b1+b2; gY_Bbus2bus2=gY_Bbus2bus2+b1+b3; gY_Bbus1bus2=gY_Bbus1bus2-b1; gY_Bbus2bus1=gY_Bbus2bus1-b1; / output the Y matrix fp=fopen(E:1121960726flowdataymatrix.tx

10、t,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_Gij,gY_Bij); fclose(fp); void SetInitial() int i; for(i=0;i=Bus_Num-1;i+) if(gBusi.Type=3) gfi=gBusi.

11、Voltage*sin(gBusi.Phase); gei=gBusi.Voltage*cos(gBusi.Phase); else gfi=0; gei=1; void GetUnbalance() int i,j; FILE *fp; for(i=0;i=Bus_Num-2;i+) gDelta_Pi=gBusi+1.GenP-gBusi+1.LoadP; if(gBusi+1.Type=2) /PV节2点 gDelta_Qi=gBusi+1.Voltage*gBusi+1.Voltage-(gei+1*gei+1+gfi+1*gfi+1); else gDelta_Qi=gBusi+1.

12、GenQ-gBusi+1.LoadQ; for(j=0;j=Bus_Num-1;j+) gDelta_Pi=gDelta_Pi-gei+1*(gY_Gi+1j*gej-gY_Bi+1j*gfj)-gfi+1*(gY_Gi+1j*gfj+gY_Bi+1j*gej); if(gBusi+1.Type=1) /PQ节2点 gDelta_Qi=gDelta_Qi-gfi+1*(gY_Gi+1j*gej-gY_Bi+1j*gfj)+gei+1*(gY_Gi+1j*gfj+gY_Bi+1j*gej); for(i=0;i=Bus_Num-2;i+) /合并? gDelta_PQ2*i=gDelta_Pi;

13、 gDelta_PQ2*i+1=gDelta_Qi; fp=fopen(E:1121960726flowdataunbalance.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.5fn,i+1,gDelta_PQi); fclose(fp); void GetJaccobi() int i,j; float gaBus_Num-1,gbBus_Num-1; FI

14、LE *fp; for(i=0;i=Bus_Num-2;i+) /计算注入电流 gai=0; gbi=0; for(j=0;j=Bus_Num-1;j+) gai=gai+gY_Gi+1j*gej-gY_Bi+1j*gfj; gbi=gbi+gY_Gi+1j*gfj+gY_Bi+1j*gej; for(i=0;i=Bus_Num-2;i+) for(j=0;j=Bus_Num-2;j+) if(i!=j) gJaccobi2*i2*j=-gY_Bi+1j+1*gei+1+gY_Gi+1j+1*gfi+1; gJaccobi2*i2*j+1=gY_Gi+1j+1*gei+1+gY_Bi+1j+1

15、*gfi+1; if(gBusi+1.Type=2) /PV节2点 gJaccobi2*i+12*j=0; gJaccobi2*i+12*j+1=0; else /PQ gJaccobi2*i+12*j=-gJaccobi2*i2*j+1; gJaccobi2*i+12*j+1=gJaccobi2*i2*j; else gJaccobi2*i2*j=-gY_Bi+1j+1*gei+1+gY_Gi+1j+1*gfi+1+gbi; gJaccobi2*i2*j+1=gY_Gi+1j+1*gei+1+gY_Bi+1j+1*gfi+1+gai; if(gBusi+1.Type=2) /PV节2点 gJ

16、accobi2*i+12*j=2*gfi+1; gJaccobi2*i+12*j+1=2*gei+1; else /PQ节点 gJaccobi2*i+12*j=-gY_Gi+1j+1*gei+1-gY_Bi+1j+1*gfi+1+gai; gJaccobi2*i+12*j+1=-gY_Bi+1j+1*gei+1+gY_Gi+1j+1*gfi+1-gbi; 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

17、+) for(j=0;j=2*Bus_Num-3;j+) fprintf(fp,jaccobi(%d,%d)=%10.5fn,i+1,j+1,gJaccobiij); 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)=gJaccobiij; for(i=0;i=2*Bus_Num-3;i+) ob1.Value(i)=gD

18、elta_PQi; ob1.Run(); for(i=0;i=Bus_Num-2;i+) gDelta_fi=ob1.Value(2*i); gDelta_ei=ob1.Value(2*i+1); gDelta_fe2*i=gDelta_fi; gDelta_fe2*i+1=gDelta_ei; fp=fopen(E:1121960726flowdatarevised.txt,w); if(fp=NULL) printf(无法打开文件:” revised.txt n); return ; fprintf(fp,-Revised-n); for(i=0;i=2*Bus_Num-3;i+) fpr

19、intf(fp,revised%d=%10.5fn,i+1,gDelta_fei); fclose(fp);void GetNewValue() int i; FILE *fp; for(i=0;i=Bus_Num-2;i+) gfi+1=gfi+1+gDelta_fi; gei+1=gei+1+gDelta_ei; fp=fopen(E:1121960726flowdatanewvalue.txt,w); if(fp=NULL) printf(无法打开文件:”newvalue.txt n); return ; fprintf(fp,-New Value-n); for(i=0;i=Bus_N

20、um-2;i+) fprintf(fp,f(%d)=%10.5f,e(%d)=%10.5fn,i+1,gfi+1,i+1,gei+1); fclose(fp);int main(array 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(gDe

21、lta_fe0); for(i=1;i=2*(Bus_Num-1)-1;i+) if(maxValuefabs(gDelta_fei) maxValue=fabs(gDelta_fei); if(maxValuePrecision) break; printf(%dn,Count_Num); for(i=0;i=Bus_Num-1;i+) printf(%10.5fn,sqrt(gei*gei+gfi*gfi); while(true) return 0;计算结果:(1)原始数据:(2)节点导纳矩阵:(3)Jacobi矩阵:(4)NewVoltageValue:(5)不平衡量:(6)修正量:(6)结果:3. 回答思考题1. 潮流计算的方法有哪些?各有何特点?2. 如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析)3. 设计中遇到的问题和解决的办法。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1