




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗?zāi)康母鶕?jù)所給的電力系統(tǒng),編制潮流計算程序,通過計算機進行調(diào)試,最后完成一個切實可行的電力系統(tǒng)計算應(yīng)用程序。通過自己設(shè)計電力系統(tǒng)計算程序使同學(xué)對電力系統(tǒng)分析有進一步理解,同時加強計算機實際應(yīng)用能力的訓(xùn)練。程序計算原理1、概述應(yīng)用計算機進行電力系統(tǒng)計算,首先要掌握電力系統(tǒng)相應(yīng)計算的數(shù)學(xué)模型;其次是運用合理的計算方法;第三則是選擇合適的計算機語言編制計算程序。建立電力系統(tǒng)計算的相關(guān)數(shù)學(xué)模型,就是建立用于描述電力系統(tǒng)相應(yīng)計算的有關(guān)參數(shù)間的相互關(guān)系的數(shù)學(xué)方程式。該數(shù)學(xué)模型的建立往往要突出問題的主要方面,即考慮影響問題的主要因素,而忽略一些次要因素,使數(shù)學(xué)模型既能正確地反映實際問題,又使計算不過于復(fù)雜。運用合理的計算方法,就是要求所選用的計算方法能快速準確地得出正確結(jié)果,同時還應(yīng)要求在解算過程中占用內(nèi)存少,以利提高計算機的解題規(guī)模。選擇合適的語言編寫程序,就是首先確定用什么計算機語言來編制程序;其次是作出計算的流程圖;第三根據(jù)流程圖用選擇的語言編寫計算程序。然后上機調(diào)試,直到語法上無錯誤。本程序采用C語言進行編程。所編制的程序難免存在邏輯錯誤,因此先用一個已知結(jié)果的系統(tǒng)作為例題進行計算。用程序計算的結(jié)果和已知結(jié)果相比較,如果結(jié)果相差甚遠就要逐步分析程序的計算步驟,查出問題的出處;如果結(jié)果比較接近,則逐步分析誤差來源;直到結(jié)果正確為止。2、電力系統(tǒng)潮流計算的程序算法潮流計算是電力系統(tǒng)分析中的一種最基本的計算,它的任務(wù)是對給定的運行條件確定系統(tǒng)的運行狀態(tài),如母線上的電壓(幅值及相角)、網(wǎng)絡(luò)中的功率分布及功率損耗等。目前計算機潮流計算的方法主要有牛頓-拉夫遜算法和PQ分解法。牛頓-拉夫遜算法是數(shù)學(xué)上求解非線形方程組的有效方法,具有較好的收斂性,曾經(jīng)是潮流計算中應(yīng)用比較普遍的方法。PQ快速分解法是從牛頓-拉夫遜算法演變而來的,是將純數(shù)學(xué)的牛頓-拉夫遜算法與電力系統(tǒng)具體特點相結(jié)合并進行簡化與改進而得出的。PQ快速分解法比牛頓-拉夫遜算法大大提高了計算速度和節(jié)省了內(nèi)存,故而本程序以PQ快速分解法進行潮流計算。1)形成節(jié)點導(dǎo)納矩陣(1)自導(dǎo)納的形成對節(jié)點i其自導(dǎo)納Yii是節(jié)點i以外的所有節(jié)點都接地時節(jié)點i對地的總導(dǎo)納。顯然,Yii應(yīng)等于與節(jié)點i相接的各支路導(dǎo)納之和,即Y二y+Xyiii0 ijj式中,yi0為節(jié)點i與零電位節(jié)點之間的支路導(dǎo)納;yij為節(jié)點i與節(jié)點j之間的支路導(dǎo)納。2)互導(dǎo)納的形成對節(jié)點i與節(jié)點k之間的互導(dǎo)納是節(jié)點i、k之間的支路導(dǎo)納的負值,即y二-yikik不難理解Y二Y。若節(jié)點i和k沒有支路直接相連時,便有Yik=°kiik(3)含變壓器支路的處理若節(jié)點p、q間接有變壓器,如下圖所示,則可作出其n型等值電路為:圖1變壓器口型等值電路則p、q的自導(dǎo)納和節(jié)點間的互導(dǎo)納分別為2) 計算不平衡功率AP'AQ并形成修正方程式對每一個PQ節(jié)點或每一個PV節(jié)點都可以根據(jù)下列公式計算出有功功率增量AP而對于每一個PQ節(jié)點還可以根據(jù)下面的公式計算出無功功率增量AQ在有功功率增量和無功功率增量不滿足如下約束條件時利用PQ分解法則可以形成如下修正方程3) 利用因子表法求解修正方程在電網(wǎng)計算中經(jīng)常遇到這樣的問題,對方程組需要反復(fù)多次求解,而每次求解僅改變常數(shù)項F,系數(shù)矩陣保持不變。按照一般的高斯消去法,對每一改變的常數(shù)項,形成包括常數(shù)項及系數(shù)矩陣在內(nèi)的增廣矩陣,然后消去回代求出其解??梢钥闯觯看螌υ鰪V矩陣中A矩陣元素的消元都是重復(fù)的,為了避免這種重復(fù),我們把對相同的系數(shù)矩陣重復(fù)進行的消去與對不同的常數(shù)項進行的消去分開進行,因此對系數(shù)矩陣的消去只需進頁腳內(nèi)容2行一次,并在消去的過程中將對常數(shù)項進行消去運算的運算因子保存下來,形成所謂因子表,這就是因子表法。因為因子表記錄了高斯消去法對常數(shù)項進行消去的全部信息,利用它便可對不同常數(shù)項進行消去,形成上三角矩陣,最后求出全部未知數(shù)。在使用PQ分解法時,其系數(shù)矩陣是在迭代過程中保持不變的,所以為了節(jié)省內(nèi)存和縮短運算時間我們采取了因子表法。同時由于電網(wǎng)的節(jié)點導(dǎo)納矩陣矩陣是稀疏陣和對稱陣,于是我們可以采取只保存系數(shù)矩陣的上三角陣來使運算更為簡化。aaaLa111213L1naaa22232naLa333nOM其中A=nn稱為系數(shù)矩陣,其中A=nn稱為系數(shù)矩陣,aX=[xxxLxA稱為未知數(shù)向量,123nF=[fffLf}稱為常數(shù)項向量。將矩陣A的元素進行如下處理:123n得到因子表其中D=1a(i-i),U=a(i)(i<j);ii ii ijij再利用因子表進行前代過程,求出每次迭代后的常數(shù)項。其前代公式是求得向量F=rf⑴f⑵f⑶Lf(n)T;1 2 3 n再由因子表與前代得到的向量F,得到方程組求解出此方程即可得到線性方程組的解向量X=[xxxLxb。1 2 3n4)多次迭代最終求得V和6以及全線路功率利用上面所介紹的方法求解修正方程組可以求得VV二[vvVVVVLVV]T和V6=[v6V6V6LV6]T。12 3 m 1 23 n-1再利用6(k+1)=6(k)+V6仏),V(k+1)=V(k)+VV(k)求得每次迭代后的結(jié)果。多次迭代當其滿足iiiiii約束條件max{P(k)}<e和max[vQ(k)}<e時,迭代結(jié)束。迭代結(jié)束后即可得到各節(jié)點的Vi P i Q和6,再根據(jù)V、6來計算PV節(jié)點的無功功率Q和平衡節(jié)點的功率以及網(wǎng)絡(luò)中的功率分布。PV節(jié)點及平衡節(jié)點無功功率計算公式為:平衡節(jié)點有功功率計算公式為:以下圖所標示的正方向,輸電線路功率的計算公式如下圖2支路功率計算對其進行實部虛部進行分解可得P、Q計算公式為:程序及說明1、主要變量說明1)結(jié)構(gòu)體類型說明1)節(jié)點功率結(jié)構(gòu)體structNodetype{floatP,Q}其中,P為節(jié)點的有功功率,Q為無功功率。節(jié)點功率不區(qū)分負荷功率和發(fā)電機功率,其值為本節(jié)點連接的各支路輸入功率及節(jié)點所接負荷、發(fā)電機功率之和,且規(guī)定功率流入節(jié)點為正,流出為負。詳細說明參見下一章“算例及結(jié)果”的第二節(jié)“源數(shù)據(jù)格式說明”。(2)線路參數(shù)結(jié)構(gòu)體structLinetype{floatG,B,B0,k}其中,G、B為線路的導(dǎo)納和容納;B0為線路的考慮變壓器n型等值電路后的對地充電容納的一半Bc/2;k為折算到標準變壓器支路后的變壓器變比。詳細說明參見下一章“算例及結(jié)果”的第二節(jié)“源數(shù)據(jù)格式說明”。2)變量說明
表2程序主要變量說明主要變量類型含義Nodeint系統(tǒng)總節(jié)點數(shù)NPintPV+PQ節(jié)點數(shù),即非平衡節(jié)點數(shù)NQintPQ節(jié)點數(shù)Numint*原始節(jié)點編號與程序表示編號映射數(shù)組NostructNodetype*節(jié)點功率數(shù)組Vfloat*節(jié)點電壓有效值數(shù)組Ditafloat*節(jié)點電壓相角數(shù)組YstructLinetype**線路參數(shù)矩陣BP、BQfloat**有功、無功簡化雅克比矩陣B、B”countunsignedintPQ迭代次數(shù)eP、eQconst有功、無功迭代精度控制kp、kqint有功、無功迭代結(jié)束標志dP、dQfloat*有功、無功不平衡量數(shù)組3、程序流程圖圖3程序主流程圖圖4迭代部分流程圖4、程序代碼/*FUNCTION:POWERFLOW*//*WRITTENBY:HUANG&YANG&TONG*//*LASTEDITED:2008-11-24*/#include<stdio.h>#include<math.h>/***宏定義***/#defineeP0.00001#defineeQ0.00001#defineY_(i,j)(*(*(Y+i)-i+j))#defineYij(*(Yi+j))#defineYji(*(*(Y+j)-j+i))#definePjiYji.G*cos(tmp)+Yji.B*sin(tmp)#definePijYij.G*cos(tmp)+Yij.B*sin(tmp)#defineQjiYji.G*sin(tmp)-Yji.B*cos(tmp)#defineQijYij.G*sin(tmp)-Yij.B*cos(tmp)/***結(jié)構(gòu)體變量定義***/structNodetype/*節(jié)點功率*/{floatP,Q}structLinetype/*線路類型*/{floatG,B,B0,k}/***子函數(shù)聲明***/voidin_node()/*讀節(jié)點功率*/voidin_line()/*讀線路參數(shù)*/voidB_Form()/*生成BP、BQ矩陣*/voidfactor()/*求因子表*/voidsolve(float**B,float*X,intN)/*解方程組*/voidPrtNode()/*打印節(jié)點參數(shù)*/voidErrorMsg(intFlag)/*錯誤提示信息*//***全局變量聲明***/intNode/*節(jié)點數(shù)*/int*Num/*保存原始節(jié)點序號*/intNP,NQ=0/*PV+PQ、PQ節(jié)點數(shù)*/structNodetype*No/*節(jié)點數(shù)據(jù)*/structLinetype**Y/*線路參數(shù)*/float**BP,**BQ/*有功、無功簡化雅克比矩陣B*/float*V/*節(jié)點電壓有效值*/float*Dlta/*節(jié)點電壓相角值*/unsignedintcount=0/*迭代計數(shù)*/inti,j,k,m/*通用下標值*/floattmp/*臨時數(shù)據(jù)暫存*/char*Type/*節(jié)點類型*/FILE*in,*out/*輸入、輸出文件指針*//**I****I****I**主函數(shù)**I****I****I**/intmain(void){intkp=1,kq=1/*P、Q精度判斷:1-不滿足,0-滿足精度要求*/float*dP,*dPi,*dQ,*dQi/*AP、AQ*/floatDltaistructLinetype*YistructNodetype*NoifloattP,tQif((in=fopen("Data.txt","r"))==NULL)ErrorMsg(1)if((out=fopen("out.txt","w"))==NULL)ErrorMsg(2)in_node()/*讀取節(jié)點參數(shù)并統(tǒng)計PQ、PV節(jié)點數(shù)*/in_line()/*讀取線路參數(shù)并形成Y矩陣*/B_Form()/*形成B(BP&BQ)矩陣*/factor。/*求B因子式(仍保存于BP&BQ)*/for(i=Oi<NQi++)*(V+i)=l/*對PQ節(jié)點電壓V賦初值*/dP=(float*)malloc(sizeof(float)*NP)/*AP*/dQ=dP/*AQ*//*AP、AQ不同時存在,故而可共用空間*/loop:/****開始迭代****/if(kp==O&&kq==O)gotoloopEndcount++/*迭代次數(shù)加一*/if(count==65535)ErrorMsg(99)/*不收斂,退出*/kp=Ofor(i=Oi<NPi++){dPi=dP+iYi=*(Y+i)-iDltai=*(Dlta+i)*dPi=0for(j=0j<Nodej++){tmp=Dltai-*(Dlta+j)/*tmp即§ij*/if(i>j)*dPi+=*(V+j)*(Pji)else*dPi+=*(V+j)*(Pij)}/*注意到Y(jié)矩陣為上三角矩陣,i>j時要交換下標*/*dPi*=*(V+i)*dPi=(*(No+i)).P-*dPi/*求得APi*/if(fabs(*dPi)>0x8fffffff)ErrorMsg(99)/*不收斂,退出*/if(fabs(*dPi)>eP)kp=l/*有不滿足精度的AP即令kp=1*/*dPi/=*(V+i)/*求得常數(shù)項APi/Vi*/}if(kp==0)gotoloopQsolve(BP,dP,NP)for(i=Oi<NPi++)*(Dlta+i)+=(*(dP+i)/(*(V+i)))/*修正相角6+=AS*/loopQ:if(kp==O&&kq==O)gotoloopEndkq=Ofor(i=Oi<NQi++){dQi=dQ+iYi=*(Y+i)-iDltai=*(Dlta+i)*dQi=Ofor(j=Oj<Nodej++){tmp=Dltai-*(Dlta+j)/*tmp即6ij*/if(i>j)*dQi+=*(V+j)*(Qji)else*dQi+=*(V+j)*(Qij)}/*注意到y(tǒng)矩陣為上三角矩陣,i>j時要交換下標*/*dQi*=*(V+i)*dQi=(*(No+i)).Q-*dQi/*求得AQi*/if(fabs(*dQi)>0x8fffffff)ErrorMsg(99)/*不收斂,退出*/f(fabs(*dQi)>eQ)kq=l/*有不滿足精度的AQ即令kq=l*/*dQi/=*(V+i)/*求得常數(shù)項AQi/Vi*/}if(kq==0)gotoloopsolve(BQ,dQ,NQ)for(i=0i<NQi++)*(V+i)+=*(dQ+i)/*修正PQ節(jié)點電壓V+=AV*/gotoloop/*無功迭代,則必定需要下一輪回迭代判斷*/loopEnd:/****迭代結(jié)束****/free(dP)/*釋放內(nèi)存空間*//****計算PV節(jié)點和平衡節(jié)點的無功功率Q****/for(i=NQi<Nodei++){Noi=No+iYi=*(Y+i)-iDltai=*(Dlta+i)for(j=0j<Nodej++){tmp=Dltai-*(Dlta+j)/*tmp即§ij*/if(i>j)(*Noi).Q+=*(V+j)*(Qji)else(*Noi).Q+=*(V+j)*(Qij)}/*注意到Y(jié)矩陣為上三角矩陣,i>j時要交換下標*/(*Noi).Q*=*(V+i)}/****計算平衡節(jié)點的有功功率P****/i=NPNoi=No+iDltai=*(Dlta+i)for(j=0j<Nodej++){tmp=Dltai-*(Dlta+j)/*tmp即§ij*/(*Noi).P+=*(V+j)*(Pji)}/*注意到Y(jié)矩陣為上三角矩陣,i>j時要交換下標*/(*Noi).P*=*(V+i)/****輸出最終結(jié)果****/fprintf(out,"\n\n【潮流計算結(jié)果(節(jié)點)】(迭代次數(shù)k=%3d)\n",count-l)PrtNode()/****計算全部線路功率****/fprintf(out,"\n\n【潮流計算結(jié)果(線路)】\n")fprintf(out,"線路PQ\n")for(k=0k<Nodek++){i=*(Num+k)Yi=*(Y+i)-iDltai=*(Dlta+i)Noi=No+ifor(m=0m<Nodem++){j=*(Num+m)if(j==i)continuetmp=Dltai-*(Dlta+j)/*tmp即§ij*/if(j<i){f(Yji.B==0)continue/*若Bij=O,則節(jié)點i、j無直接聯(lián)系*/tP=*(V+j)*(Pji)tP=*(V+i)*Yji.G-tPtP*=*(V+i)tQ=-*(V+j)*(Qji)tQ-=*(V+i)*(Yji.B-Yji.B0/Yji.k)tQ*=*(V+i)}else{f(Yij.B==0)continue/*若Bij=O,則節(jié)點i、j無直接聯(lián)系*/tP=*(V+j)*(Pij)tP=*(V+i)*Yij.G-tPtP*=*(V+i)tQ=-*(V+j)*(Qij)tQ-=*(V+i)*(Yij.B-Yij.B0)tQ*=*(V+i)fprintf(out,"S[%d,%d]=(%10.6f,%10.6f)\n",k+1,m+1,-tP,-tQ)}}fclose(out)system("cmd/cstartout.txt")return(0)/**f****f****f**主函數(shù)**f****f****f**//******************主函數(shù)******************//****************子函數(shù):讀節(jié)點數(shù)據(jù)****************/voidin_node(){structNodetype*Noi/*臨時變量*/fscanf(in,"%d%d",&Node,&k)/*讀取節(jié)點數(shù)Node*/NP=Node-1/*PV+PQ節(jié)點數(shù),即非平衡節(jié)點數(shù)目*/Num=(int*)malloc(sizeof(int)*Node)/*開Node個空間,每節(jié)點一個*/V=(float*)malloc(sizeof(float)*Node)/*電壓*/Dlta=(float*)malloc(sizeof(float)*Node)/*電壓相角*/No=(structNodetype*)malloc(sizeof(structNodetype)*Node)/*節(jié)點功率*/j=1while(k!=O)/*若k=0,表明節(jié)點數(shù)據(jù)讀取完畢*/{switch(k){case1:k=NQNQ++break/*NQ統(tǒng)計PQ節(jié)點個數(shù)*/case2:k=NP-jj++break/*從NP-1個空間倒著保存PV節(jié)點*/case3:k=NPbreak/*平衡節(jié)點*/default:ErrorMsg(3)}Noi=No+kfscanf(in,"%d%f%f%f%f",&i,&(*Noi).P,&(*Noi).Q,V+k,Dlta+k)i--/*節(jié)點編號減一,以和程序表達方式兼容*/*(Num+i)=k/*第i個Num元素中存放i節(jié)點在No中的下標*/fscanf(in,"%d",&k)/*讀取節(jié)點類型*/}if(NQ+j!=Node)ErrorMsg(4)/*檢驗節(jié)點數(shù)據(jù)個數(shù)是否夠Node個*/fprintf(out,"【節(jié)點參數(shù)表】\n")PrtNode()fprintf(out,"總節(jié)點:%d\nPQ節(jié)點:%d\nPV節(jié)點:%d\n",Node,NQ,NP-NQ)}/************子函數(shù):讀線路數(shù)據(jù),并形成節(jié)點導(dǎo)納矩陣Y************/voidin_line(){structLinetype*YifloatR,X,k,Bm=sizeof(structLinetype)Y=(structLinetype**)malloc(m*Node)/*先開Node行,每一個節(jié)點一行*/for(i=0i<Nodei++)/*再在第i行上面開辟Node-i列*/{/*即以上三角存儲Y矩陣*/*(Y+i)=(structLinetype*)malloc(m*(Node-i))Yi=*(Y+i)-ifor(j=ij<Nodej++){Yij.G=Yij.B=Yij.B0=Yij.k=0}/*初始化*/}while(feof(in)==0)/*文件指針到文件末*/{fscanf(in,"%d%d%f%f%f%f",&i,&j,&R,&X,&k,&B)i--j--i=*(Num+i)/*轉(zhuǎn)換節(jié)點號為該節(jié)點在程序中的儲存編號*/j=*(Num+j)(*(*(Y+i))).B+=B/*將對地充電導(dǎo)納累加到自導(dǎo)納*/(*(*(Y+j))).B+=Bif(k!=1.0){X*=kR=0tmp=(1-k)/X(*(*(Y+i))).B+=tmp/*將變壓器的對地充電容納累加到自導(dǎo)納*/(*(*(Y+j))).B+=-(tmp/k)B=tmpk=-k}if(i>j){tmp=ii=jj=tmpk=1/kB*=k}Yi=*(y+i)-i/*以Yi代替*(Y+i)-i,簡化表達式并避免重復(fù)計算*/Yij.BO二B/*保存ijO、jiO對地充電電容到BijO*/Yij.k=k/*且有B0ji=B0ij/k*/tmp=R*R+X*XR/=tmpX/=tmpYij.G=-R/*生成互導(dǎo)納*/Yij.B=X(*(*(Y+i))).G+=R/*將線路互導(dǎo)納累加到自導(dǎo)納*/(*(*(Y+i))).B+=-X(*(*(Y+j))).G+=R(*(*(Y+j))).B+=-X}fclose(in)fprintf(out,"\n【節(jié)點導(dǎo)納矩陣Y】\n")for(k=0k<Nodek++){i=ki=*(Num+i)/*查取第i節(jié)點在程序中存儲序號*/for(j=0j<kj++)fprintf(out,"\t\t\t")for(m=km<Nodem++){j=*(Num+m)/*查取第j節(jié)點在程序中存儲序號*/if(i<j)fprintf(out,"(%10.6f,%10.6f)",Y_(i,j).G,Y_(i,j).B)elsefprintf(out,"(%10.6f,%10.6f)",Y_(j,i).G,Y_(j,i).B)}fprintf(out,"\n")}/****************子函數(shù):生成BP、BQ矩陣****************/voidB_Form()float*BPi,*BQistructLinetype*Yiintsize=sizeof(float)BP=(float**)malloc(size*NP)/*以上三角存儲*/for(i=0i<NPi++)*(BP+i)=(float*)malloc(size*(NP-i))for(i=0i<NPi++){BPi=*(BP+i)-i/*以BPi代替*(BP+i)-i,避免重復(fù)計算*/Yi=*(Y+i)-ifor(j=ij<NPj++)*(BPi+j)=Yij.B/*(BPi+j)即相當于BP[i][j]*/}BQ=BP/*BP包含BQ,BP左上角的NQ*NQ子陣即BQ*//****************子函數(shù):求因子表****************/voidfactor(){float*BPi,*BPk,*BQifor(i=0i<NPi++){BPi=*(BP+i)-ifor(k=0k<ik++){BPk=*(BP+k)-ktmp=(*(BPk+i))/(*(BPk+k))for(j=ij<NPj++)(*(BPi+j))-=tmp*(*(BPk+j))}*(BPi+i)=1/(*(BPi+i))for(j=i+1j<NPj++)*(BPi+j)*=*(BPi+i)}/****************子函數(shù):解方程組****************/voidsolve(float**B,float*X,intN){float*Bi,*Xifor(i=0i<Ni++)*(X+i)=-*(X+i)/*對常數(shù)項取負*//****對常數(shù)列進行前代****/for(i=0i<Ni++){Bi=*(B+i)-iXi=X+ifor(j=i+1j<Nj++)*(X+j)-=*(Bi+j)**Xi*Xi*=*(Bi+i)}/****回代以求解方程組****/for(i=N-1i>=0i--){Bi=*(B+i)-iXi=X+ifor(j=N-1j>ij--)*Xi-=*(Bi+j)**(X+j)}}/****打印節(jié)點參數(shù)****/voidPrtNode(){structNodetype*Noifprintf(out,"節(jié)點類型PQV6\n")for(i=0i<Node){j=*(Num+i)/*查取第i節(jié)點在程序中存儲序號*/Noi=No+jif(j<NQ)Type="PQ"elseType="PV"if(j==NP)Type="BS"fprintf(out,"%3d%s%10.6f%10.6f%10.6f%10.6f\n",++i,Type,(*Noi).P,(*Noi).Q,*(V+j),*(Dlta+j)/0.017453)}/****************子函數(shù):錯誤信息****************/voidErrorMsg(intFlag){switch(Flag){case1:printf("\n\tError(1):FailedtoOpenFile\"Data.txt\"!")breakcase2:printf("\n\tError(2):FailedtoCreatFile\"out.txt\"!")breakcase3:printf("\n\tError(3):NodeDataError,PleaseCheck!")breakcase4:printf("\n\tError(4):LackNodeData,PleaseCheck!")breakcase99:printf("k=%d\n\tError(99):It'sEmanative!",count)break}getch()fclose(out)exit(Flag)}算例及結(jié)果1、原始數(shù)據(jù)程序編寫過程中,采用了《電力系統(tǒng)分析》教材的4節(jié)點、IEEE9節(jié)點參數(shù)進行了驗證。本說明書中僅列出4節(jié)點驗算過程。4節(jié)點測試數(shù)據(jù)來源于參考文獻中的《電力系統(tǒng)分析》(下冊)第61頁例11-5,用于檢驗程序正確性的參考計算結(jié)果見67頁。對其基本情況總結(jié)如下。網(wǎng)絡(luò)連接圖圖6算例電力系統(tǒng)網(wǎng)絡(luò)圖節(jié)點參數(shù)表4算例節(jié)點參數(shù)表
節(jié)點類型節(jié)點編號有功功率P無功功率Q電壓V電壓相角811-0.30-0.180012-0.55-0.1300230.501.10034001.0503)線路參數(shù)表5算例線路參數(shù)表節(jié)點1節(jié)點2阻抗R感抗X變壓器變比k充電容納Bc/2120.10.410.01528140.120.510.01920240.080.410.014133100.30.90909104)數(shù)據(jù)文件data.txt434001.050230.501.10011-0.30-0.1800圖7數(shù)據(jù)文件格式2、源數(shù)據(jù)格式說明源數(shù)據(jù)有功功率、無功功率、電壓、阻抗、感抗、對地充電容納均以標幺值表示。數(shù)據(jù)文件必須命名為data.txt且與潮流計算程序放置于同一個文件中。數(shù)據(jù)文件data.txt包含兩類參數(shù):節(jié)點參數(shù)和線路參數(shù)。節(jié)點數(shù)據(jù)塊與線路數(shù)據(jù)塊之間用數(shù)字0作為間隔,即在節(jié)點數(shù)據(jù)塊結(jié)束后,另起一行輸入0,然后再在后面按格式要求錄入線路參數(shù)1)節(jié)點參數(shù)節(jié)點參數(shù)包括:系統(tǒng)節(jié)點數(shù)Node、節(jié)點功率(有功P、無功Q),節(jié)點電壓(有效值頁腳內(nèi)容35V、相角Delta)參數(shù)組織格式:(1)節(jié)點數(shù)Node節(jié)點數(shù)Node寫在參數(shù)文件的開頭,如:4表明為四節(jié)點系統(tǒng)。(2) 功率和電壓P/Q/V/Delta首先給出節(jié)點參數(shù)示例:230.501.100第一列數(shù)字2表明該節(jié)點的類型為2-PV節(jié)點;第二列數(shù)字3表明該行數(shù)據(jù)為節(jié)點3的參數(shù);后面三列依次為P、Q、V的給定值,給定值為0,表明該項參數(shù)未知;第六列為相角非平衡節(jié)點的§即為PQ迭代的初始相角值,平衡節(jié)點的即為給定的相角值。節(jié)點功率為各支路輸入功率之和,且規(guī)定功率流入節(jié)點為正,流出為負。故而負荷功率為負值,發(fā)電機功率為正值。(3) 節(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園師生消防知識培訓(xùn)課件
- 絕食減肥測試題及答案
- 甲乳外科考試題及答案
- 自律作息測試題及答案
- 桂林社工面試題及答案
- 胰腺炎考試試題及答案
- 鎖骨護理試題及答案
- 茶藝綠茶考試題及答案
- 危重護理考試題及答案
- 餐飲標準考試題及答案
- 2022工程設(shè)計資質(zhì)標準
- 人員密集場所火災(zāi)撲救
- 2023混凝土板樁支護技術(shù)規(guī)程
- 高中物理-科學(xué)探究:感應(yīng)電流的方向教學(xué)設(shè)計學(xué)情分析教材分析課后反思
- 公路工程施工招標文件
- 電力市場交易體系規(guī)則培訓(xùn)PPT
- 小學(xué)六年級下冊數(shù)學(xué)校本教材
- 三非承諾書(共5篇)
- WHO兒童身高體重參考值及評價標準
- GB/T 4909.7-2009裸電線試驗方法第7部分:卷繞試驗
- GB/T 39255-2020焊接與切割用保護氣體
評論
0/150
提交評論