2022年潮流程序 .pdf
《2022年潮流程序 .pdf》由会员分享,可在线阅读,更多相关《2022年潮流程序 .pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 电力系统分析潮流计算潮流计算框图:输入电网节点注入数据计算节点导纳矩阵参数设置节点电压初值设置 k=0 及最大迭代次数kmax 计算 fi(x(k)以及雅各比矩阵x(k+1)=x(k)+dx(k) 求解修正方程获得dx max|fi(x(k)|kmax? 输出潮流不收敛信息结束N Y N Y 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 18 页 - - - - - - - - - 2 程序部分:#include #include #include FuShu.h
2、#include #include using namespace std; double Function1(PowerGrid &y,double *e,double *f,double *w,double *P,double *Q,double *U,int n,int m); void Function2(int n,double *pa); void Function3(int n,int m,double *Ya,PowerGrid &Y,double *e,double *f); void Function4(int &n); void Function5(int k,doubl
3、e *ya,int n,PowerGrid &y,FuShu *z); void Function6(double *e,double *f,double *P,double *Q,PowerGrid &y,int n); void Function7(double *e,double *f,double *P,double *Q,PowerGrid &y,int n,int m); void Function8(PowerGrid &y,double *e,double *P,double *Q,double *U,int n,int m); void Function9(FuShu &If
4、,int &k,double *U,FuShu *z,FuShu zf,double *e,double *f,int n); void main() int n(0),m; int shuliang(0); double MAX(0.0); int i,j; int kmax(4); double *e,*de,*f,*df,*P,*dP,*Q,*dQ,*U,*dU2; double h=1e-5; double *w,*ef,*Ya; int tell(1); FuShu *Z; int k(4); FuShu If(0,0),Zf(0,0); char nomeaning; Functi
5、on4(n); P=new double n+1; Q=new double n+1; U=new double n+1; Z=new FuShu n+1; PowerGrid Y(n); Y.FromFile(Data1.txt); Y.FromFile(Data4.txt); coutnn节点导纳矩阵实部G 为:endl; Y.PrintG(); coutnn节点导纳矩阵虚部B 为:endl; Y.PrintB(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 1
6、8 页 - - - - - - - - - 3 coutiPjQjUj; if(Uj=0) m+; j+; fin2.close(); e=new double n+1; f=new double n+1; de=new double n+1; df=new double n+1; dU2=new double n+1; dP=new double n+1; dQ=new double n+1; ifstream fin3; fin3.open(Data3.txt); while(!fin3.eof() for(i=1;iei; dU2i=dPi=dQi=0.0; for(i=1;ifi; f
7、or(i=1;in+1;i+) dei=dfi=0.0; fin3.close(); w=new double 2*n-1; ef=new double 2*n-1; Ya=new double*2*n+1; for(i=1;i2*n+1;i+) *(Ya+i)=new double 2*n+1; if(ih) shuliang+; fout.open(out.txt); Function3(n,m,Ya,Y ,e,f); for(i=1;i2*n-1;i+) for(j=1;j2*n-1;j+) foutYaij ; coutendl; fout.close(); i=1; fin4.ope
8、n(out.txt); while(i2*n-1) for(j=1;jYaij; i+; fin4.close(); Function2(2*n-2,Ya); for(i=1;i2*n-1;i+) for(j=1;j2*n-1;j+) efi+=Yaij*wj; for(i=1;i2*n-1;i+) efi=-efi; for(i=2;in+1;i+) dei=efi-1; dfi=efi-1+n-1; for(i=1;in+1;i+) ei=ei+dei; fi=fi+dfi; MAX=Function1(Y,e,f,w,P ,Q,U,n,m); for(i=1;ikmax-1) break
9、; cout迭代次数为 :shuliangendl; cout各节点电压为:endl; for(i=1;in+1;i+) cout 节点 i: e= setw(10)eisetw(10)f= fiendl; Function6(e,f,P,Q,Y ,n); Function7(e,f,P,Q,Y ,n,m); cout极坐标形式为 :endl; for(i=1;in+1;i+) ei=sqrt(ei*ei+fi*fi); fi=atan(fi/ei); for(i=1;in+1;i+) cout节点i: 幅值: setw(10)ei 相角: setw(10)fiendl; cout各节点功率为
10、:endl; for(i=1;in+1;i+) cout 节 点 i: 有 功 功 率 :setw(10)Pi 无 功 功 率 : setw(10)Qiendl; Function8(Y,e,P,Q,U,n,m); Function5(k,Ya,n,Y ,Z); cout节电阻抗矩阵的第k列为 :endl; for(i=1;in+1;i+) coutsetw(5); Zi.Print(); coutendl; coutendl; Function9(If,k,U,Z,Zf,e,f,n); coutnn短路电流为: ; If.Print(); coutendl; cout短路后各节点电压为:n;
11、 for(i=1;in+1;i+) cout节点i: 幅值: setw(12)ei 相角: setw(10)fiendl; cout短路点为 :kendl; delete P; delete dP; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 18 页 - - - - - - - - - 6 delete Q; delete dQ; delete e; delete de; delete f; delete df; delete U; delete dU2; dele
12、te w; delete ef; delete Z; Y.Deletep(); for(i=1;inomeaning; double Function1(PowerGrid &y,double *e,double *f,double *w,double *P,double *Q,double *U,int n,int m) int i,j; double temp2(0),temp3(0.0),temp(0); for(i=2;in+1;i+) for(j=1;jn+1;j+) temp2+=(y.pij.shibu*ej-y.pij.xubu*fj); temp3+=(y.pij.shibu
13、*fj+y.pij.xubu*ej); temp=Pi-ei*temp2-fi*temp3; wi-1=temp; temp3=temp2=0.0; temp2=temp3=0.0; for(i=n-m+1;in+1;i+) for(j=1;jn+1;j+) temp2+=(y.pij.shibu*ej-y.pij.xubu*fj); temp3+=(y.pij.shibu*fj+y.pij.xubu*ej); temp=Qi-fi*temp2+ei*temp3; wi+m-1=temp; temp3=temp2=0.0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
14、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 18 页 - - - - - - - - - 7 temp2=temp3=0.0; for(i=2;in-m+1;i+) temp=Ui*Ui-ei*ei-fi*fi; wn+m+i-2=temp; temp2=0; for(i=1;itemp2) temp2=fabs(wi); return temp2; void Function2(int n,double *pa) int i; double *pb; pb=new double*n+1; for(i=1;in+1;i+) *(pb+i
15、)=new doublen+1; double *pe; pe=new double*n+1; for(i=1;in+1;i+) *(pe+i)=new doublen+1; int j,k,l; double m(1.0),h(1.0); for(i=1;in+1;i+) for(j=1;jn+1;j+) if(j!=i) peij=0; else peij=1; for(i=1;in+1;i+) for(j=1;jn+1;j+) if(paij!=0.000) m=paij; k=j; break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
16、- - - - - - 名师精心整理 - - - - - - - 第 7 页,共 18 页 - - - - - - - - - 8 if(j=(n+1) k=n+1; break; for(j=1;jn+1;j+) paij/=m; peij/=m; for(l=1;ln+1;l+) h=palk; if(l!=i) for(j=1;jn+1;j+) palj-=(h*paij); pelj-=(peij*h); if(kn+1) for(i=1;in+1;i+) for(j=1;jn+1;j+) if(paij!=0.0) k=j; break; for(j=1;jn+1;j+) pbkj=
17、peij; else cout矩阵不可逆!endl; for(i=1;in+1;i+) for(j=1;jn+1;j+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 18 页 - - - - - - - - - 9 paij=pbij; for(i=1;in+1;i+) delete *(pb+i); delete *(pe+i); delete pb; delete pe; void Function3(int n,int m,double *Ya,PowerGri
18、d &Y,double *e,double *f) int i,j,k; double temp1=0,temp2=0; double *H,*N,*M,*L,*R,*S; H=new double*n; N=new double*n; for(i=1;in;i+) *(H+i)=new doublen; *(N+i)=new doublen; M=new double*m+1; L=new double*m+1; for(i=1;im+1;i+) *(M+i)=new doublen; *(L+i)=new doublen; R=new double*n-m; S=new double*n-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年潮流程序 2022 潮流 程序
限制150内