华电潮流上机程序完整版

上传人:woxinch****an2018 文档编号:39598386 上传时间:2018-05-17 格式:DOC 页数:12 大小:77.50KB
返回 下载 相关 举报
华电潮流上机程序完整版_第1页
第1页 / 共12页
华电潮流上机程序完整版_第2页
第2页 / 共12页
华电潮流上机程序完整版_第3页
第3页 / 共12页
华电潮流上机程序完整版_第4页
第4页 / 共12页
华电潮流上机程序完整版_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《华电潮流上机程序完整版》由会员分享,可在线阅读,更多相关《华电潮流上机程序完整版(12页珍藏版)》请在金锄头文库上搜索。

1、/ flow.cpp : Defines the entry point for the console application. /#include “stdafx.h“ #include #include #include “NEquation.h“ #include “math.h“ #include “config.h“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)=5; ob1.V

2、alue(1)=4; ob1.Run();printf(“x1=%fn“,ob1.Value(0); printf(“x2=%fn“,ob1.Value(1); void GetData()/数据读入 FILE *fp; int i;if(fp=fopen(“E:新建文件夹flowdatadata.txt“,“r“)=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“,for(i=0;i=Line_N

3、um-1;i+) fscanf(fp,“%d,%d,%d,%f,%f,%f,%f“, fclose(fp); void GetYMatrix() int i,j; FILE *fp;/ calculate the Y matrixint bus1,bus2;float r,x,d,g,b;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+) bus1=gLinei.No_I-1; bus2=gLinei.No_J-1; r=gLinei.R; /支路中的阻抗电

4、阻 x=gLinei.X; /支路中的阻抗电纳 d=r*r+x*x; g=r/d; /阻抗转化为导纳表示时的电导 b=-x/d; /阻抗转化为导纳表示时的电纳 if(gLinei.k=0) /不带变压器的普通支路 gY_Gbus1bus1=gY_Gbus1bus1+g; /下标相同的为自导纳,不同的 为互导纳 gY_Gbus2bus2=gY_Gbus2bus2+g; gY_Gbus1bus2=-g; /由于互导纳只涉及一个导纳,故直接等于支路导纳负值 gY_Gbus2bus1=-g; gY_Bbus1bus1=gY_Bbus1bus1+b+gLinei.B; gY_Bbus2bus2=gY_B

5、bus2bus2+b+gLinei.B; gY_Bbus1bus2=-b; gY_Bbus2bus1=-b; else /带理想变压器的支路 gY_Gbus1bus1=gY_Gbus1bus1+g/gLinei.k/gLinei.k; gY_Gbus2bus2=gY_Gbus2bus2+g; gY_Gbus1bus2=-g/gLinei.k; gY_Gbus2bus1=-g/gLinei.k; gY_Bbus1bus1=gY_Bbus1bus1+b/gLinei.k/gLinei.k; gY_Bbus2bus2=gY_Bbus2bus2+b; gY_Bbus1bus2=-b/gLinei.k;

6、 gY_Bbus2bus1=-b/gLinei.k; / output the Y matrix if(fp=fopen(“E:新建文件夹flowymatrix.txt“,“w“)=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); fcl

7、ose(fp); void SetInitial() int i;for(i=0;i=Bus_Num-1;i+) gfi=gBusi.Voltage*sin(gBusi.Phase); gei=gBusi.Voltage*cos(gBusi.Phase); void GetUnbalance() FILE *fp; int i,j; for(i=0;i=Bus_Num-2;i+) /由于平衡节点不参与迭代,故循环次数为节点数-1 gDelta_Pi=gBusi+1.GenP-gBusi+1.LoadP; /计算节点的有功功 率 if(gBusi+1.Type=2) /PV 节点的电压幅值不平衡

8、量 gDelta_Qi=gBusi+1.Voltage*gBusi+1.Voltage- (gei+1*gei+1+gfi+1*gfi+1); else /PQ 节点无功功率的无功功率 gDelta_Qi=gBusi+1.GenQ-gBusi+1.LoadQ; for(j=0;j=Bus_Num-1;j+) /平衡节点要作为下标 j 参与入其他节点的不 平衡量计算中,故 j 的下标从 0 到节点数-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);

9、 /PQ 和 PV 节点有功功率的不平衡量 if(gBusi+1.Type=1) /PQ 节点的无功功率不平衡量(由于 PV 节点的 电压幅值的不平衡量已经在之前的计算中得出,故这里无须再计算) 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; /用 PQ 数组来存储不平衡量,下标为偶数存储有 功功率不平衡量 gDelta_PQ2*i+1=gDelta_Qi; /下标为奇

10、数存储 PQ 节点的无功功率不平衡量 和 PV 节点的电压幅值不平衡量 if(fp=fopen(“E:新建文件夹flowunbalance.txt“,“w“)=NULL) printf(“Can not open the file named 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 g

11、aBus_Num-1,gbBus_Num-1; FILE *fp; for(i=0;i=Bus_Num-2;i+) gai=0; /节点注入电流的实部和虚部初始值都为 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; /G 和 B 的下标都为 i+1j的原因是平衡节点不要求计算 a+jb,而平衡节点要作为下标 j 参与入其他节点的注入 电流计算中 for(i=0;i=Bus_Num-2;i+) for(j=

12、0;j=Bus_Num-2;j+) if(i!=j) /i 不等于 j 时的雅可比矩阵的计算 gJaccobi2*i2*j=-gY_Bi+1j+1*gei+1+gY_Gi+1j+1*gfi+1; /偶数偶数存储 H gJaccobi2*i2*j+1=gY_Gi+1j+1*gei+1+gY_Bi+1j+1*gfi+1; /偶数奇数存储 N if(gBusi+1.Type=2) /PV 节点 gJaccobi2*i+12*j=0; /奇数偶数存储 R=0gJaccobi2*i+12*j+1=0; /奇数奇数存储 S=0 else /PQ 节点 gJaccobi2*i+12*j=-gJaccobi2*i2*j+1; /奇数偶数存储 J gJaccobi2*i+12*j+1=gJaccobi2*i2*j; /奇数奇数存储 L else /i 等于 j 时的雅可比矩阵的计算 gJaccobi2*i2*j=-gY_Bi+1j+1*gei+1+gY_Gi+1j+1*gfi+1+gbi; /偶数偶数存储 Hg

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号