完整版潮流计算C++程序_第1页
完整版潮流计算C++程序_第2页
完整版潮流计算C++程序_第3页
完整版潮流计算C++程序_第4页
完整版潮流计算C++程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

程序为计算书3-4的过程程序可以解决开式单直网络和树状网络的计算.树状网络计算时要自己先设定好支路的起始节点和终止节点标号以及计算顺序源代码:#include<iostream>#include<fstream>#include<iomanip>#include<math.h>usingnamespacestd;structnode{〃节点类inti;//节点编号doubleU,P,Q,delta;//额定电压计算负荷电压相角};structline{〃线路类连接父节点子节点nodefnode,s_node;//父节点子节点doublestructline{〃线路类连接父节点子节点nodefnode,s_node;//父节点子节点doubleR,X,B;//线路参数RXB/2doubleP_in,Q_in,P_out,Q_out,d_P,d_Q,D_U,d_U;〃线路输入输出功率以及线路消耗功率voidSet_node(nodenod1,nodenod2){f_node=nod1;s_node=nod2;};voidfun1(line&lin){〃由后往前递推功率doublep=lin.P_out;doubleq=lin.Q_out;doubleu=lin.s_node.U;lin.d_P=(p*p+q*q)/u/u*lin.R;lin.d_Q=(p*p+q*q)/u/u*lin.X;lin.P_in=lin.d_P+lin.P_out;lin.Q_in=lin.d_Q+lin.Q_out;};voidfun2(line&lin){//由前往后推电压doublep=lin.P_in;doubleq=lin.Q_in;doubleu=lin.f_node.U;lin.D_U=(p*lin.R+q*lin.X)/u;子节点电压lin.d_U=(p*lin.X-q*lin.R)/u;lin.s_node.U=sqrt(pow(lin.f_node.U-lin.D_U,2)+pow(lin.d_U,2));//lin.s_node.delta=lin.f_node.delta-atan(lin.d_U/(lin.f_node.U-lin.D_U));};voidfun3(line&lin){//由前往后推电压不计横向分量doublep=lin.P_in;doubleq=lin.Q_in;doubleu=lin.f_node.U;lin.D_U=(p*lin,R+q*lin.X)/u;lin.d_U=(p*lin.X-q*lin.R)/u;lin.s_node.U=lin.f_node.U-lin.D_U,2;//子节点电压

lin.s_node.delta=lin.f_node.delta-atan(lin.d_U/(lin.f_node.U-lin.D_U));};voidmain(){intnum_l;intnum_n;//支路数节点数ifstreamfin;fin.open("E:\\data.txt");fin>>num_n>>num_l;〃输入节点数支路数ofstreamfout;fout.open("E:\\databak.txt");node*nod;子节点电压nod=newnode[num_n];//节点数目line*lin;lin=newline[num_l];//线路数目nod[0].delta=0;double*u;//节点额定电压u=newdouble[num_n];for(inti=0;i<num_n;i++){fin>>u[i];};double*p;//节点有功功率p=newdouble[num_n];for(inti=0;i<num_n;i++){fin>>p[i];};double*q;//节点无功功率q=newdouble[num_n];for(inti=0;i<num_n;i++){fin>>q[i];};for(inti=0;i<num_n;i++){//设定节点标号参数nod[i].i=i;nod[i].P=p[i];nod[i].Q=q[i];nod[i].U=u[i];};double*r;//线路电阻r=newdouble[num_l];for(inti=0;i<num_l;i++){fin>>r[i];);double*x;//线路电抗x=newdouble[num_l];for(inti=0;i<num_l;i++){fin>>x[i];);double*b;//线路电纳b=newdouble[num_l];for(inti=0;i<num_l;i++){);for(inti=0;i<num_l;i++){//设定线路参数lin[i].R=r[i];lin[i].X=x[i];lin[i].B=b[i];);for(inti=0;i<num_l;i++){//确定线路节点关系fin>>lin[i].f_node.i;fin>>lin[i].s_node.i;);for(inti=0;i<num_l;i++){//计算节点运算负荷nod[lin[i].f_node.i].Q-=lin[i].B*nod[lin[i].f_node.i].U*nod[lin[i].f_node.i].U;nod[lin[i].s_node.i].Q-=lin[i].B*nod[lin[i].s_node.i].U*nod[lin[i].s_node.i].U;);double*P_c,*Q_c;〃保存运算负荷数据P_c=newdouble[num_n];Q_c=newdouble[num_n];for(inttc=0;tc<num_n;tc++){P_c[tc]=nod[tc].P;Q_c[tc]=nod[tc].Q;);for(inti=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]););for(intre=0;re<3;re++){//迭代运算开始fout<<"第'’<<re+1<<"次迭代"<<endl;doubleto_P(0),to_dP(0);for(inti=1;i<num_n;i++){to_P+=nod[i].P;);for(inttc=0;tc<num_n;tc++){//重置运算负荷nod[tc].P=P_c[tc];nod[tc].Q=Q_c[tc];);for(intts=0;ts<num_l;ts++){//置各线路初始输出功率为子节点运算负荷lin[ts].P_out=lin[ts].s_node.P;lin[ts].Q_out=lin[ts].s_node.Q;);for(inti=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]););intj=num_l-1;//反向求各支路功率损耗和功率分布for(j=num_l-1;j>0;j--){fun1(lin[j]);nod[lin[j].f_node.i].P+=lin[j].P_in;nod[lin[j].f_node.i].Q+=lin[j].Q_in;for(inti=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]););for(intts=0;ts<num_l;ts++){lin[ts].P_out=lin[ts].s_node.P;lin[ts].Q_out=lin[ts].s_node.Q;););fun1(lin[j]);for(inti=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]););intt=0;//求线路各点电压for(t=0;t<num_l-1;t++){fun2(lin[t]);nod[lin[t].s_node.i].U=lin[t].s_node.U;nod[lin[t].s_node.i].delta=lin[t].s_node.delta;for(inti=0;i<num_l;i++){//设定线路节点数据lin[i].Set_node(nod[lin[i].f_node.i],nod[lin[i].s_node.i]);););fun2(lin[t]);nod[lin[t].s_node.i].U=lin[t].s_node.U;nod[lin[t].s_node.i].delta=lin[t].s_node.delta;fout<<"支路信息:"<<endl;for(inti=0;i<num_l;i++){//输出线路信息fout<<"支路〃<<lin[i].f_node.i+1<<"-'<<lin[i].s_node.i+1<〈":"<<endl;fout<<"始端功率:"<<lin[i].P_in<<"+j"<<lin[i].Q_in<<endl;fout<<"末端功率:"<<lin[i].P_out<<"+j"<<lin[i].Q_out<<endl;fout«〃功率损耗:"«lin[i].d_P«"+j"«lin[i],d_Q«endl;fout<<"电压损耗”《lin[i].f_node.U-lin[i].s_node.U«endl;};foutvv"节点信息:"«endl;for(inti=0;i<num_n;i++){//输出节点信息fout«"节点"«i+1«endl;fout«"电压:〃《nod[i].U«〃相角:"«nod[i].delta*180/3.14«endl;};double*lu;〃求最低电压及最低电压点lu=newdouble[num_n];int*lua;lua=newint[num_n];for(inti=0;i<num_n;i++){lu[i]=nod[i].U;lua[i]=i;};for(inti=0;i<num_n-1;i++){if(lu[i]<lu[i+1]){doublest;inta;st=lu[i];a=lua[i];lu[i]=lu[i+1];lua[i]=lua[i+1];lu[i+1]=st;lua[i+1]=a;};};for(inti=0;i<num_l;i++){to_dP+=lin[i].d_P;);foutvv"全网信息:"«endl;foutvv"总电源有功:"«lin[0].P_in«endl;foutvv"总负荷有功:"«to_P«endl;foutvv"总有功损耗:"«to_dP«endl;fout«"网损率:"《to_dP/(to_P+lin[0].P_in)«endl;"vvlua[num_n-1]+1〈vendl;foutvv"最低电压:"«lu[num_nT]«〃最低电压点:delete[]lu;delete[]lua;};delete[]nod;delete[]lin;delete[]u;delete[]p;delete[]q;delete[]r;delete[]x;delete[]b;)附:3-4的data文件3211311010000,172001,7151.2220,20.00028200112输出为:第1次迭代支路信息:"vvlua[num_n-1]+1〈vendl;支路1-2:始端功率:1.02165+j0.693296末端功率:1.00434+j0.658675功率损耗:0.0173106+j0.0346211电压损耗0.274063支路2-3:始端功率:0.5034+j0.3068末端功率:0.5+j0.3功率损耗:0.0034+j0.0068电压损耗0.109支路2-4:始端功率:0.202138+j0.151875末端功率:0.2+j0.15功率损耗:0.0009375+j0.001875电压损耗0.0739643节点信息:节点1电压:10.5相角:0节点2电压:10.2259相角:-0,864932节点3电压:10.1169相角:-1,25281节点4电压:10,152相角:-1,072全网信息:总电源有功:1.02165总负荷有功:1总有功损耗:0.0216481网损率:0.0107081最低电压:10.1169最低电压点:3第2次迭代支路信息:支路1-2:始端功率:1.02078+j0.69156末端功率:1.00423+j0.658463功率损耗:0.0165484+j0.0330969电压损耗0.273567支路2-3:

始端功率:0.503322+j0.306644末端功率:0.5+j0.3功率损耗:0.00332186+j0.00664371电压损耗0.108957支路2-4:始端功率:0.20211+j0.151819末端功率:0.2+j0.15功率损耗:0.000909642+j0.00181928电压损耗0.0739403节点信息:节点1电压:10.5相角:0节点2电压:10.2264相角:-0.86489节点3电压:10.1175相角:-1.25273节点4电压:10.1525相角:-1.07194全网信息:总电源有功:1.02078总负荷有功:1.70434总有功损耗:0.0207799网损率:0.00762533最低电压:10.1175最低电压点:3第3次迭代支路信息:支路1-2:始端功率:1.02078+j0.691556末端功率:1.00423+j0.658462功率损耗:0.0165468+j0.0330936电压损耗0.273566支路2-3:始端功率:0.503322+j0.306643末端功率:0.5+j0.3功率损耗:0.0033215+j0.00664301电压损耗0.108957支路2-4:始端功率:0.20211+j0.151819末端功率:0.2+j0.15功率损耗:0.000909549+j0.0018191电压损耗0.0739402节点信息:节点1电压:10.5相角:0节点2电压:10.2264相角:-0.86489节点3电压:10.1175相角:-1.25273节点4电压:10.1525相角:-1.07194全网信息:总电源有功:1.02078总负荷有功:1.70423总有功损耗:0.0207778网损率:0.00762487最低电压:10.1175最低电压点:3例3-2的data:4310101000.30.50.200.20.30.151.211.52.423000011213输出:第1次迭代支路信息:支路1-2:始端功率:1.02165+j0.693296末端功率:1.00434+j0.658675功率损耗:0.0173106+j0.0346211电压损耗0.275227支路2-3:始端功率:0.5034+j0.3068末端功率:0.5+j0.3功率损耗:0.0034+j0.0068电压损耗0.109244支路2-4:始端功率:0.202138+j0.151875末端功率:0.2+j0.15功率损耗:0.0009375+j0.001875电压损耗0.0740389节点信息:节点1电压:10.5相角:0节点2电压:10.2248相角:-0.864932节点3电压:10.1155相角:-1.2529节点4电压:10.1507相角:-1.07205全网信息:总电源有功:1.02165总负荷有功:1总有功损耗:0.0216481网损率:0.0107081最低电压:10.1155最低电压点:3第2次迭代支路信息:支路1-2:始端功率:1.02078+j0.69157末端功率:1.00423+j0.658465功率损耗:0.0165523+j0.0331045电压损耗0.274734支路2-3:始端功率:0.503323+j0.306646末端功

温馨提示

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

评论

0/150

提交评论