基于Matpower的电力系统潮流计算设计原理
基于Matpower的電力系統潮流計算設計原理
- 第一部分 前言
- 第二部分 牛頓-拉夫遜算法潮流計算的基本原理
- 1.牛頓-拉夫遜計算法潮流計算原理
- 2.牛頓-拉夫遜計算法潮流直角坐標計算原理
- 3.牛頓-拉夫遜計算法潮流計算流程
- 第三部分 Matpower仿真軟件
- 1.Matpower軟件簡介
- 2.Matpower矩陣參數
- 第四部分 電力系統節點導納矩陣
- 1.節點導納矩陣簡介
- 2.節點導納矩陣仿真運算
第一部分 前言
??電力系統分析中, 潮流計算的意義十分重大,它是在電網正常或故障情況下的穩定運行狀態的計算,為了更加深入地理解潮流計算,本文基于牛頓-拉夫遜潮流計算原理,設計出一個8機28節點的電力系統網絡結構,然后基于Matlab進行仿真運行分析。
??各類配電網潮流算法性能通常從以下幾個方面進行分析: 算法的收斂速度、穩定性、算法的復雜程度。潮流計算的穩定性對于維護電力系統穩定潮流計算。它根據給定的初始值和網絡結構確定整個系統的運行狀態, 確定各個母線上的電壓幅值及相角、網絡中的功率分布以及網絡損耗等。潮流計算的基本方程是由電力系統的網絡方程得到的。在電力系統中都存在一些靜態裝置, 例如變壓器、輸電線路、并聯電容器和電抗器等, 它們可以由電阻、電感和電容等基礎元件構成的等值電路來模擬。
第二部分 牛頓-拉夫遜算法潮流計算的基本原理
??牛頓-拉夫遜法實質上就是切線法,是逐步線性化的方法。牛頓-拉夫遜計算法不僅用于求解單變量方程,還可以求解多變量非線性代數方程。
1.牛頓-拉夫遜計算法潮流計算原理
??設有單變量非線性方程
??在求解此方程的時候,需要先給出解的近似值x(0)x^{(0)}x(0),它的與真解的誤差將滿足下列方程式
??將上述式子左邊的函數在x(0)x^{(0)}x(0)附近展開成泰勒級數得到:
??如果差值 的值很小,差值的二次及以上階次的各項均可以省去,于是可以簡化成:
??這是對于變量的修正量線性方程式(修正方程式),據此可以得到修正量
??但是修正后的近似解x(1)x^{(1)}x(1)與真解仍然存在誤差,為了進一步逼近真解,可以一直迭代下去,最終可以得到迭代計算通式:
??而迭代過程中的收斂判據為:
??由此可見,牛頓-拉夫遜法實質上就是切線法,是逐步線性化的方法。牛頓-拉夫遜計算法不僅用于求解單變量方程,還可以求解多變量非線性代數方程。
設有n個聯立的非線性代數方程
??假定已經給出各變量的初值x1(0)x1^{(0)}x1(0),x2(0)x2^{(0)}x2(0),…,xn(0)x n^{(0)}xn(0),令
??分別為各個變量的修正量,使其滿足方程組,即
??將n個多元函數在初始值附近分別展開成泰勒級數,并略去二次及以上階次的各項,可以得到牛頓-拉夫遜法的修正方程式
??利用高斯消去法或者三角分解法可以解出修正量,然后對初始值近似解進行修正
??如此反復迭代,在進行第k+1次迭代時,從而求出修正方程式:
??得到修正量
??并對各變量進行修正,最終可以表示為
??其中,**XXX**是由n個變量組成的n維矩陣列向量,F(X)F(X)F(X),是由n個多元函數組成的n維向量:JJJ是n*n階方陣,稱為雅可比矩陣。迭代過程一直進行到滿足收斂判據
2.牛頓-拉夫遜計算法潮流直角坐標計算原理
??由于節點電壓可以采用不同的坐標系表示,牛頓-拉夫遜潮流計算也將相應地采用不同的計算公式。
??采用直角坐標時,節點電壓可以表示為
??導納矩陣元素可以表示為
??假定系統中的第1,2,…,m號節點為PQ節點,第i個節點的給定功率設為 PisPisPis和QisQisQis,對于該節點可以寫出如下方程
??假定系統中的第m+1,m+2,…,n-1號節點為PU節點,對于其中每一個節點可以寫出如下方程
??第n號節點為平衡節點,其中電壓
??是給定的,所以不參加迭代,對于PQ節點方程式和PU節點方程式來說,總共包含2(n-1)個方程式,帶求的變量也是2(n-1)個,因此,我們可以得到如下的修正方程式
??其中修正方程式還可以寫成分塊矩陣的形式
??其中,
??對于PQ節點
??對于PU節點
??雅可比矩陣各元素都是節點電壓的函數,它們的數值將在迭代的過程中不斷地改變,因此在用牛頓-拉夫遜法計算潮流首先要輸入網絡的原始數據以及各節點的給定值并且形成節點導納矩陣,輸入節點電壓初值,設置迭代計數k=0,然后開始進入牛頓-拉夫遜算法的迭代過程。
3.牛頓-拉夫遜計算法潮流計算流程
第三部分 Matpower仿真軟件
1.Matpower軟件簡介
?? MATPOWER是基于 Matlab 語言的m文件組建包,作為電力系統潮流計算仿真軟件。潮流計算仿真中,按照MATPOWER中潮流計算程序的格式修改或重新編寫一個新的程序“caseX.m”,在MATLAB軟件中的命令窗口輸入runpf(‘程序名’)就可以通過MATPOWER已經編好的程序進行潮流計算,而通過調用函數runpf的參數計算潮流。2.Matpower矩陣參數
(1) baseMVA
??baseMVA是一個標量,用來設置基準容量。對于計算中采用有名值,可以根據實際情況設置,在本文設計中設置為100MVA。
(2) bus data矩陣
??bus矩陣是關于電網母線節點參數設計的矩陣,通過設置母線的參數來達到計算的目的,如表3.1所示,bus data有如下參數
| 1 | 1 | 97.6 | 44.2 | 0 | 0 | 1 | 1.0393896 | -13.5366 | 311 | 1 | 1.06 | 0.94 |
??其中,各項參數的含義為:
- bus_i用來設置母線編號,范圍為1~29997。
- type用來設置母線類型,1為PQ節點,2為PV節點,3為平衡節點;
- Pd用來設置母線注入負荷的有功功率
- Qd用來設置母線注入負荷的無功功率
- Gs用來設置與母線并聯的電導
- Bs用來設置與母線并聯的電納
- area 用來設置電網斷面號,可設置范圍為1~100,一般設置為1
- Vm用來設置母線電壓的幅值初值
- Va用來設置母線電壓的相角初值
- baseKV用來設置該母線的基準電壓
- zone用來設置省耗分區號,可設置范圍為1~999,一般設置為1
- Vmax用來設置工作時母線電壓最高幅值
- Vmin用來設置工作時母線電壓最低幅值
(3) generator data矩陣
??generator data矩陣是用來設置電網中發電機的參數,各項參數名稱如表3.2所示:
| 17 | 650 | 207 | 300 | 150 | 1.05256 | 100 | 1 | 725 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
??
??其中,
-
bus用來設置接入發電機的母線編號
-
Pg用來設置接入發電機的有功功率,注意功率輸入的是有名值
-
Qg用來設置接入發電機的無功功率
-
Qmax用來設置接入發電機的無功功率的最大允許值
-
Qmin用來設置接入發電機的無功功率的最小允許值
-
Vg用來設置接入發電機的工作電壓,注意輸入的是標幺值
-
mBase用來設置接入發電機的功率基準
-
status用來設置發電機的工作狀態,1表示投入運行,2表示投出運行
-
Pmax用來設置接入發電機的無功功率的最大允許值
-
Pmin用來設置接入發電機的無功功率的最小允許值
-
其余的Pc1,Pc2,Qc1min,Qc1max,Qc2min,Qc2max,ramp_agc,ramp_10,ramp_30,ramp_q,apf均表示發電機其他特征量,在實際計算中可以設置為0
(4) branch data矩陣
??brach data是一個矩陣,用來設置電網中各個支路之間的參數,矩陣參數名稱如表3.3所示:
| 1 | 2 | 0.0035 | 0.0411 | 0.6987 | 600 | 600 | 600 | 0 | 0 | 1 | -360 | 360 |
??其中,
- fbus用來設置支路起始節點編號
- tbus用來設置支路終止節點編號
- r用來設置該支路電阻,注意阻抗導納等參數輸入的都是標幺值
- x用來設置該支路電抗
- b用來設置該支路電納
- rateA用來設置該支路長期允許功率
- rateB用來設置該支路短期允許功率
- rateC用來設置該支路緊急允許功率
- ratio用來設置該支路變比,若該支路僅僅為導線則設置為0,若含有變壓器,則該變比為fbus側母線基準電壓與tbus側基準變壓之比
- angle用來設置支路的相位角度,如果支路元件為變壓器,則就是變壓器的轉角,如果支路元件不是變壓器,則相位角度為0度
- status用來設置支路工作狀態,1表示投入運行,0表示退出運行
(5) generator cost data矩陣
??一般來說,generator cost data矩陣保持原有默認的設計,不作修改。
??基于Matpower的潮流計算矩陣的設計,需要改變如上矩陣的參數,使其滿足收斂條件,最終得到相應的計算結果,因此熟悉Matpower矩陣的編寫對于最終的仿真結果有著極其重要的意義。
第四部分 電力系統節點導納矩陣
1.節點導納矩陣簡介
??電力網絡中的運行狀態可以用節點方程或者回路方程進行描述,節點方程以母線電壓作為待求量,節點方程的求解結果對于潮流計算應用廣泛。
??一般地,對于有n個獨立節點的網絡,可以列寫出n個節點方程
??可以寫成矩陣形式
??矩陣Y稱為節點導納矩陣,其對角線元素Y稱為節點i的自導納,等于接于節點i的所有支路導納之和,非對角線元素成為節點ij之間的互導納,等于直接連接于節點ij之間的支路導納的負值,如果節點ij之間不存在直接支路,則導納為0,因此,節點導納矩陣是一個稀疏的對稱矩陣。
2.節點導納矩陣仿真運算
??基于上述原理,編寫出電力系統的節點導納矩陣的計算代碼
N1=input('輸入節點數,N1='); L1=input('輸入支路數,L1='); Y=zeros(N1);G=zeros(N1);B=zeros(N1); B1=[ 1 2 0.0035 0.0411 0.6987 600 600 600 0 0 1 -360 360; 1 14 0.0023 0.0353 0.3804 900 900 900 0 0 1 -360 360;1 27 0.0014 0.025 0.75 1000 1000 1000 0 0 1 -360 360;2 3 0.0013 0.0213 0.2214 500 500 500 0 0 1 -360 360;2 28 0.0067 0.0086 0.146 500 500 500 0 0 1 -360 360; 3 4 0.0013 0.0151 0.2572 500 500 500 0 0 1 -360 360; 3 12 0.0011 0.0133 0.2138 500 500 500 0 0 1 -360 360; 4 5 0.0004 0.0046 0.078 900 900 900 0 0 1 -360 360;4 20 0.0022 0.035 0.361 600 600 600 0 0 1 -360 360;5 6 0 0.025 0 1800 1800 1800 1.07 0 1 -360 360;5 25 0.002 0.0353 0.3804 900 900 900 0 0 1 -360 360;5 12 0.004 0.0232 0.531 600 600 600 0 0 1 -360 360;6 7 0.0016 0.0435 0 500 500 500 1.06 0 1 -360 360;6 18 0.0004 0.043 0.729 600 600 600 0 0 1 -360 360;7 8 0.0009 0.0094 0.171 600 600 600 0 0 1 -360 360;7 13 0.0016 0.0435 0 500 500 500 1.06 0 1 -360 360;8 23 0.0018 0.0217 0.366 600 600 600 0 0 1 -360 360;9 10 0.0007 0.0089 0.1342 600 600 600 0 0 1 -360 360;9 19 0.0003 0.0059 0.068 600 600 600 0 0 1 -360 360;10 11 0.0007 0.0082 0.1319 600 600 600 0 0 1 -360 360;10 18 0.0013 0.0173 0.3216 600 600 600 0 0 1 -360 360;11 12 0.0008 0.014 0.2565 900 900 900 0 0 1 -360 360;12 16 0.0032 0.0323 0.531 600 600 600 0 0 1 -360 360;13 17 0.0006 0.0232 0 900 900 2500 0 0 1 -360 360;14 20 0.0057 0.0625 1.029 600 600 600 0 0 1 -360 360;15 19 0.0043 0.0474 0.7802 600 600 600 0 0 1 -360 360;20 17 0.0014 0.0151 0.249 600 600 600 1.032 0 1 -360 360;21 22 0.0014 0.0147 0.2396 600 600 600 0 0 1 -360 360;22 23 0.0008 0.0156 0 1200 1200 2500 1.25 0 1 -360 360;23 18 0.0006 0.0096 0.1846 0 0 0 0 0 1 -360 360;23 24 0 0.0143 0 900 900 2500 1.25 0 1 -360 360;24 25 0.0032 0.0323 0.531 600 600 600 0 0 1 -360 360;25 26 0.0005 0.0272 0 900 900 2500 0 0 1 -360 360;26 27 0.0006 0.0232 0 900 900 2500 1.25 0 1 -360 360;27 28 0.0043 0.0474 0.7802 600 600 600 0 0 1 -360 360;]; for m1=1:N1I=B1(m1,1);J=B1(m1,2);R=B1(m1,3);X=B1(m1,4);k=B1(m1,5);if I*J==0if I==0G(j,J)=G(J,J)+R;B(J,J)=B(J,J)+X;elseG(I,I)=G(I,I)+R;B(I,I)=B(I,I)+X;endelseif I*J>0B(I,I)=B(I,I)+k;B(J,J)=B(J,J)+k;k=1;elseif I<0t=I;I=J;J=t;endJ=abs(J); 36if k<0k=-1/k;endendG(I,J)=-(1.0/k)*R/(R^2+X^2);B(I,J)=(1/k)*X/(R^2+X^2);G(J,I)=G(I,J);B(J,I)=B(I,J);G(I,I)=G(I,I)+R/(R^2+X^2);B(I,I)=B(I,I)-X/(R^2+X^2);G(J,J)=G(J,J)+1/(k^2)*R/(R^2+X^2);B(J,J)=B(J,J)-1/(k^2)*R/(R^2+X^2);Y=G+i.*B end Y得到如下所示的結果
??第1—8行節點導納矩陣
??第9—16行節點導納矩陣
??第17—24行節點導納矩陣
??第25—28行節點導納矩陣
??根據圖示結果可以看出,導納矩陣是稀疏矩陣,它的對角線元素一般不為0,但在非對角線元素中會存在0,在電力系統的接線圖中,一般每個節點同平均不超過3到4個其他節點有直接連接的支路,因此在導納矩陣中的非對角線元素中每行平均僅有3到4個非0元素,其余都是零元素,第1-28列數據大部分都為零元素,每行僅有少數是非零元素,符合節點導納矩陣規律。
??最終基于上述原理并結合Matpower,可以得到以下仿真結果
??以上就是本次要講的內容,本文僅僅簡單介紹了潮流計算的相關理論知識,而利用Matpower能使我們快速便捷地處理數據,最終得到想要的結果。
?? 具體的仿真結果可以繼續參照文章——基于Matpower的電力系統潮流計算仿真
?? 根據這篇文章可以得到基于Matpower的電力系統潮流計算仿真結果,與本文相結合可以加深對于潮流計算的理解。
?? 同樣的,可以參考網址——https://blog.csdn.net/Gentleheng/article/details/112782403
總結
以上是生活随笔為你收集整理的基于Matpower的电力系统潮流计算设计原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人手眼标定原理介绍(含详细推导过程)
- 下一篇: SM3算法的C++实现(代码)