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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

华电 通用潮流上机程序.docx

1、华电 通用潮流上机程序#include stdafx.h#include #include #include NEquation.h#include math.h#include config.husing namespace std;void GetData(int& nBus, int& nBranch)/Read the data FILE *fp; int i; if(fopen_s(&fp,datadata5.txt,r)!=0) printf(Can not open the file named data.txt n); return; fscanf_s(fp,%d,%d,&nB

2、us,&nBranch,100); for(i=0;inBus;i+) fscanf_s(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,100); for(i=0;inBranch;i+) fscanf_s(fp,%d,%d,%d,%f,%f,%f,%f,&gBranchi.No,&gBranchi.No_I,&gBranchi.No_J, &gBranchi.R,&gBranchi.X

3、,&gBranchi.B,&gBranchi.k,100); fclose(fp);void GetYMatrix(int& nBus, int& nBranch) int i,j,bus1,bus2; float r,x,d,g,b,k; FILE *fp; for(i=0;inBus;i+) for(j=0;jnBus;j+) gY_Gij=0; gY_Bij=0; for(i=0; inBranch; i+) bus1=gBranchi.No_I-1; bus2=gBranchi.No_J-1; r=gBranchi.R; x=gBranchi.X; d=r*r+x*x; g=r/d;

4、b=-x/d; if(gBranchi.k=0) if(bus1 != bus2) 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+gBranchi.B; gY_Bbus2bus2=gY_Bbus2bus2+b+gBranchi.B; gY_Bbus1bus2=gY_Bbus1bus2-b; gY_Bbus2bus1=gY_Bbus2bus1-b; else

5、 break; else / add your codes / output the Y matrix if(fopen_s(&fp,dataymatrix1.txt,w)!=0) printf(Can not open the file named ymatrix.txt n); return ; fprintf(fp,-Y Matrix-n); for(i=0;inBus;i+) for(j=0;jnBus;j+) fprintf_s(fp,Y(%d,%d)=(%10.5f,%10.5f)n,i+1,j+1,gY_Gij,gY_Bij); fclose(fp); void SetIniti

6、al(int& nBus) int i; for(i=0;inBus;i+) if(gBusi.Type=2) gfi=gBusi.Voltage*sin(gBusi.Phase); gei=gBusi.Voltage*cos(gBusi.Phase); else gfi=0; gei=1; void GetUnbalance(int& nBus) int i,j; float sum1=0,sum2=0; FILE *fp; for(i=0;inBus;i+) if (gBusi.Type!=2) sum1=0; sum2=0; for(j=0;jnBus;j+) sum1=sum1+gei

7、*(gY_Gij*gej-gY_Bij*gfj)+gfi*(gY_Gij*gfj+gY_Bij*gej); /chuqu balance point add your codes sum2=sum2+gfi*(gY_Gij*gej-gY_Bij*gfj)-gei*(gY_Gij*gfj+gY_Bij*gej); gDelta_Pi= gBusi.GenP-gBusi.LoadP-sum1; gDelta_Qi= gBusi.GenQ-gBusi.LoadQ-sum2; if (gBusi.Type=1) gDelta_Qi= gBusi.Voltage* gBusi.Voltage-(gfi*

8、gfi+gei*gei); for (i=0;inBus;i+) j=2*i; gDelta_PQj=gDelta_Pi; gDelta_PQj+1=gDelta_Qi; void GetJaccobi(int& nBus) int i,j,k; float s1=0,s2=0; FILE *fp; for (i=0;i2*nBus;i=i+2) / add your codes for(j=0;j2*nBus;j=j+2) if (i/2=j/2) / i is or not=j. s1=0; s2=0; for (k=0;knBus;k+) s1=s1+gY_Gi/2k*gfk+gY_Bi

9、/2k*gek; s2=s2+gY_Gi/2k*gek-gY_Bi/2k*gfk; gJaccobiij=gY_Gi/2j/2*gfj/2-gY_Bi/2j/2*gej/2+s1; gJaccobiij+1=gY_Gi/2j/2*gej/2+gY_Bi/2j/2*gfj/2+s2; if (gBusi/2.Type=0) /PQ pioint and PV Point difference. gJaccobii+1j=-(gY_Gi/2j/2*gej/2+gY_Bi/2j/2*gfj/2)+s2; gJaccobii+1j+1=gY_Gi/2j/2*gfj/2-gY_Bi/2j/2*gej/2

10、-s1; else /pv bus. gJaccobii+1j=2*gfi/2; gJaccobii+1j+1=2*gei/2; else gJaccobiij=gY_Gi/2j/2*gfi/2-gY_Bi/2j/2*gei/2; gJaccobiij+1=gY_Gi/2j/2*gei/2+gY_Bi/2j/2*gfi/2; if (gBusi/2.Type=0) gJaccobii+1j=-gJaccobiij+1; gJaccobii+1j+1=gJaccobiij; else gJaccobii+1j=0; gJaccobii+1j+1=0; / output Jaccobimatrix

11、. if(fopen_s(&fp,dataJaccobimatrix.txt,w)!=0) printf(Can not open the file named Jaccobimatrix.txt n); return ; fprintf(fp,-JaccobiMatrix-n); for(i=0;i2*nBus;i+) fprintf_s(fp,%d ,i+1); for(j=0;j2*nBus;j+) fprintf_s(fp,%10.5f,gJaccobiij); fprintf_s(fp,n); fclose(fp); void GetRevised(int& nBus) int i,

12、j; NEquation ob1; FILE *fp; ob1.SetSize(2*nBus); for(i=0;i2*nBus;i+) for(j=0;j2*nBus;j+) ob1.Data(i,j)=gJaccobiij; ob1.Value(i)=gDelta_PQi; ob1.Run(); for(i=0;i2*nBus;i+) gDelta_fei=ob1.Value(i); for (i=0;inBus;i+) gDelta_fi=gDelta_fe2*i; gDelta_ei=gDelta_fe2*i+1; / output delta_f and delta_e. if(fo

13、pen_s(&fp,dataDelta_f and Delta_e matrix.txt,w)!=0) printf(Can not open the file named Delta_f and Delta_e matrix.txt n); return ; fprintf(fp,-Delta_f and Delta_e Matrix-n); for(i=0;i2*nBus;i+) fprintf(fp, Delta %d=%10.8f n,i+1,gDelta_fei); fprintf_s(fp,n); fclose(fp); void GetNewValue(int& nBus) in

14、t i; FILE *fp; for (i=0;inBus;i+) if(gBusi.Type!=2) gfi=gfi+gDelta_fi; gei=gei+gDelta_ei; if(fopen_s(&fp,datagf and ge matrix.txt,w)!=0) printf(Can not open the file named gf and ge matrix.txt n); return ; fprintf(fp,-gf and ge Matrix-n); for(i=0;inBus;i+) fprintf(fp, gf%d=%10.6f, ge%d=%10.6fn,i+1,g

15、fi,i+1,gei); fprintf_s(fp,n); fclose(fp); int main(int argc, char* argv) int i,Count_Num,j,n,nBus,nBranch; float maxValue,s1,s2,k,su1,su2,deltalinep1212=0,0,deltalineq1212=0,0,deltap1212=0,0,deltaq1212=0,0; FILE *fp; float g,b,d,r,x; GetData(nBus,nBranch); GetYMatrix(nBus,nBranch); SetInitial(nBus);

16、 for(Count_Num=0;Count_Num=20;Count_Num+) GetUnbalance(nBus); GetJaccobi(nBus); GetRevised(nBus); GetNewValue(nBus); maxValue=fabs(gDelta_fe0); for(i=1;i=2*(nBus-1)-1;i+) if(maxValuefabs(gDelta_fei) maxValue=fabs(gDelta_fei); if(maxValuePrecision) break; printf(countnumber %dn,Count_Num); for(i=0;in

17、Bus;i+) printf(bus(%d).voltage=%10.6f,angle=%.6f , e=%.6f,f=%.6fn,i+1,sqrt(gei*gei+gfi*gfi),atan(gfi/gei)/3.1415926*180,gei,gfi); /output zhuru power. for (i=0;inBus;i+) if(gBusi.Type!=0) su1=0; su2=0; for(j=0;jnBus;j+) su1=su1+gei*(gY_Gij*gej-gY_Bij*gfj)+gfi*(gY_Gij*gfj+gY_Bij*gej); su2=su2+gfi*(gY

18、_Gij*gej-gY_Bij*gfj)-gei*(gY_Gij*gfj+gY_Bij*gej); gBusi.GenP=su1; gBusi.GenQ=su2; printf(zhurup%d=%10.7f zhuruq%d=%10.7f n,i+1,gBusi.GenP,i+1,gBusi.GenQ); for(n=0; nnBranch; n+) i=gBranchn.No_I-1; j=gBranchn.No_J-1; r=gBranchn.R; x=gBranchn.X; d=r*r+x*x; g=r/d; b=-x/d; if(gBranchn.k=0) if(i!=j) delt

19、apij= (gei*(gei-gej)+gfi*(gfi-gfj)*g+(gei*gfj-gej*gfi)*b; deltaqij=-(gei*gei+gfi*gfi)*gBranchn.B+(gei*gfj-gej*gfi)*g-(gei*(gei-gej)+gfi*(gfi-gfj)*b; deltapji=(gej*(gej-gei)+gfj*(gfj-gfi)*g+(gej*gfi-gei*gfj)*b; deltaqji=-(gej*gej+gfj*gfj)*gBranchn.B+(gej*gfi-gei*gfj)*g-(gej*(gej-gei)+gfj*(gfj-gfi)*b;

20、 else break; else k=gBranchn.k; deltapij= (gei*gei+gfi*gfi)*k*(k-1)*g+(gei*(gei-gej)+gfi*(gfi-gfj)*g*k+(gei*gfj-gej*gfi)*b*k; deltaqij=-(gei*gei+gfi*gfi)*k*(k-1)*b+(gei*gfj-gej*gfi)*g*k-(gei*(gei-gej)+gfi*(gfi-gfj)*b*k; deltapji=(gej*gej+gfj*gfj)*(1-k)*g+(gej*(gej-gei)+gfj*(gfj-gfi)*g*k+(gej*gfi-gei

21、*gfj)*b*k; deltaqji=-(gej*gej+gfj*gfj)*(1-k)*b+(gej*gfi-gei*gfj)*g*k-(gej*(gej-gei)+gfj*(gfj-gfi)*b*k; for (i=0;inBus-1;i+) for(j=i+1;jnBus;j+) deltalinepij=deltapij+deltapji; deltalineqij=deltaqij+deltaqji; printf(deltalinep%d%d= %10.7f, deltalineq%d%d=%10.7f n,i+1,j+1,deltalinepij,i+1,j+1,deltalin

22、eqij); s1=0;s2=0; for(i=0;inBus;i+) for(j=0;jnBus;j+) s1=s1+deltalinepij; s2=s2+deltalineqij; printf(totallineP=%10.7f, totallineQ=%10.7fn,s1,s2); if(fopen_s(&fp,databus voltage and zhuru power.txt,w)!=0) printf(Can not open the file named bus voltage and zhuru power.txt n); return 0; fprintf(fp,-bu

23、s voltage and zhuru power-n); for(i=0;inBus;i+) fprintf_s(fp,zhurup%d=%10.7f, zhuruq%d=%10.7f n,i+1,gBusi.GenP-gBusi.LoadP,i+1,gBusi.GenQ-gBusi.LoadQ); fprintf_s(fp,n); for(i=0;inBus;i+) fprintf_s(fp,bus(%d).voltage=%10.5f,angle=%10.5fn,i+1,sqrt(gei*gei+gfi*gfi),atan(gfi/gei); fprintf_s(fp,n); for(i

24、=0;inBus;i+) for(j=i+1;jnBus;j+) fprintf_s(fp,deltalinep%d%d= %10.5f, deltalineq%d%d=%10.5f n,i+1,j+1,deltalinepij,i+1,j+1,deltalineqij); fprintf_s(fp,n); fclose(fp); return (0);4,41,1.00,0.00,0.00,0.00,0.30,0.18,02,1.00,0.00,0.00,0.00,0.55,0.13,03,1.10,0.00,0.50,0.00,0.00,0.00,14,1.05,0.00,0.00,0.00,0.00,0.00,21,1,2,0.10,0.41,0.01528,0.02,1,3,0.00,0.30,0.00000,1.13,1,4,0.12,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2