一種基于稀疏矩陣技術快速形成電力系統潮流計算中雅可比矩陣的方法
【技術領域】
[0001] 本發明屬于電力系統分析計算領域。
【背景技術】
[0002] 在大型電力系統的潮流計算中,經常需根據節點導納矩陣Y形成雅可比矩陣J。但 由于Y陣中具有大量零元素,如不考慮利用Y陣元素的稀疏性、J陣與Y陣元素結構的相似 性以及J陣元素自身結構的特點,會導致J陣形成過程中由于Y陣數據文件較大而嚴重影 響J陣的形成效率以及大量無效J陣元素計算,使J陣形成時間過長。
[0003] 傳統方法形成J陣的過程中,有以下幾點不足:
[0004] (1) 一般形成J陣所用Y陣數組的形式是Y(n,2n),而Y(n,2n)數組由于大量零元 素的存貯不但需要較大的存貯單元,且數據文件的讀取速度也不高。一般情況下,讀取Y 陣數據文件所需的時間遠遠高于用Y陣元素形成J陣的時間,且讀取Y(n,2n)數組數據文 件的時間在整個J陣形成過程中所占比例較大。所以快速形成J陣的關鍵在于Y陣數組的 存貯和讀取方式。
[0005] (2)由于Y陣和J陣元素的稀疏性結構極為相似,如果不考慮Y陣元素稀疏性直接 根據Y陣形成J陣,則對J陣有大量零元素的無效計算,導致形成J陣的計算效率極低。
[0006] (3)如果根據Y陣元素的稀疏性形成J陣,在利用Y(n,2n)數組形成J陣時可對 Y(n,2n)數組的每個元素進行非零判斷(可同時判斷實部和虛部元素或僅判斷虛部元素, 后者速度快,本文采用后者),僅計算Yu辛0時的J ^子陣(H ^ I、Mp 或H ^ Si:j)兀素,且同時利用同組兀素之間的關系,即利用Hi』=L i:j,_M i:j和RS u = 0的 關系。雖然計算效率比(2)略有提高,如對IEEE-118節點系統可提高約27%,大量的判斷 語句仍然使得形成J陣時的計算效率不高。
[0007] (4)如果考慮Y陣元素的稀疏性進行按坐標存貯、按順序存貯或按鏈表存貯,盡管 可以省去不少貯存單元,但在這些存貯方式中,Y陣元素與J陣元素沒有明顯的對應關系, 不但數據文件的讀取所需時間較長,也不便于直接用來計算J陣元素。
[0008] (5)如果利用Y陣元素的對稱稀疏性只存貯Y陣上三角的非零元素,則在計算形成 J陣元素的過程中,根據上三角的非零元素按對稱性獲得下三角的非零元素時很不方便,且 計算程序中過多的下標轉換及賦值語句也使得計算J陣元素速度等受到影響。此外,在節 點電流Ii、節點功率Pi、Qi等連續求和的計算過程中,下三角非零元素的快速獲取也會受到 影響。
[0009] (6)如果不能同時兩行/次計算J陣元素、利用同組元素之間的關系以及0 時有Jij# 〇和子Jji# 〇陣的關系,形成J陣的計算效率仍然較低。
【發明內容】
[0010] 為了克服上述現有技術的不足,本發明在一種快速存貯及讀取電力系統稀疏矩陣 數據方法的基礎上,提出一種基于稀疏矩陣技術快速形成電力系統潮流計算中雅可比矩陣 的方法。
[0011] 本發明方法是建立在一種快速存貯及讀取電力系統稀疏矩陣數據方法的基礎之 上。該數據存貯方法是將Y陣中的節點分為主節點和子節點。僅存貯主節點的行號、節點 數Si (包括主節點和子節點)、主節點以及相連的具有非零元素子節點的列號和參數(自導 納和互導納)。
[0012] 這種存貯方式簡單明了,易于數據的檢索、修改和計算應用。與傳統的不考慮元素 稀疏性的Y陣元素存貯形式相比,大大減少了 Y陣數據的存貯單元,以及Y陣數據文件的存 貯和讀取時間。與按坐標存貯、按順序存貯、按鏈表存貯等等方案相比,也較多地減少了存 貯空間,并提高了數據的讀取速度,且后續數據的計算處理等更為方便。與考慮對稱性僅存 貯上三角非零元素的方式相比,幾乎不需增加任何存貯單元,且獲得下三角的非零元素更 方便、快捷。
[0013] 這種Y陣元素存貯方式完全反映了網絡結構的特征和數組元素的稀疏性,并且利 用了 Y陣與J陣元素結構相似、非零元素對應的特點,在形成J陣和計算1111、〇1時,可快速 獲取Y陣上下三角的所有非零元素,免去對非零元素的判斷以及大量零元素的無效計算, 從而大大的減少了形成J陣的時間。
[0014] 由于程序的模塊化,在建立J陣之前,首先建立快速存貯及讀取電力系統稀疏矩 陣數據的數據文件。該數據文件將系統中Y陣的節點分為主節點和子節點。假設主節點 最多連接7個子節點,則行號和節點數以及一行中主節點和子節點的列號及參數(實部、 虛部)共需26個存貯單元。因此,可定義Y陣數據文件的數組為Y(n,26),將其每行分為3 組,分別存貯該行的行號、與行號對應的節點數、主節點和所有非零元素子節點的列號及參 數,具體方式如下。
[0015] 第1組:"主節點行號i",位于第1列,為主節點對應的行號,為檢驗數據之用;
[0016] 第2組:"節點數S/',位于第2列,為主節點及與該主節點連接的子節點數之和,S 值由程序自動累加以保證快速讀取對應主節點和子節點的參數;
[0017] 第3組:"主節點、子節點列號j及參數",位于第3~26列;按遞增順序存貯主節 點及與該主節點連接的子節點的列號j,分別位于第3*k列;相應主節點或子節點的自導納 和互導納(均分實部、虛部)分別位于3*k+l、3*k+2列,k的取值為:1~S i;
[0018] 其元素的存貯方式如下表所示:
[0020]
[0021] 如果主節點最多連接的子節點數超過或少于7個,則可根據超過的個數將 Y(n,26)數組改為Y(n,26±3m)數組,m為超過或少于7個子節點后的子節點個數。對 Y(n,26)形式數據文件的讀取時間遠遠低于對Y(n,2n)數據文件的讀取時間。一般情況下, 出現子節點數超過7個的情況極少。即使超過7個,對Y(n,26+3m)形式數據文件的讀取時 間也仍然遠遠低于對Y(n,2n)數據文件的讀取時間。
[0022] 在形成Y(n,26)數據文件的基礎上,再應用本發明提出的基于稀疏矩陣技術快速 形成電力系統潮流計算中J陣的方法。本發明方法利用了 Y陣與J陣元素結構相似、非零 元素對應、以及&子陣同組元素之間的關系等特點,在形成J陣時可以免去對大量Y陣元 素的非零判斷以及對J陣元素的無效計算,從而大大加快形成J陣的速度。
[0023] 本發明是通過以下技術方案實現的,主要包括以下步驟:
[0024] 步驟1 :打開數據文件,讀取Y陣數據文件到Y(n,26)數組;
[0025] 與讀取Y(n,2n)數組形式的數據文件相比,讀取Y(n,26)數組形式的數據文件可 節省了大量的時間。另外根據Y(n,26)數組中的節點數&,還能進一步改善對Y(n,26)數 組元素的讀取效率。
[0026] 步驟2 :根據Y(n,26)數組計算各個節點的Ipi、、或AP^AQi;
[0027] (1)由于Ipi、Iqi、APp AQi的計算過程中也涉及到大量零元素,而Y(n,26)數組 僅存貯上下三角的非零元素,因此可直接根據Y (n,26)數組計算各個節點的Ipi、、或A P p A Qp不但可免去對所有元素的非零判斷,還可省去對所有Y陣零元素的無效計算。
[0028] (2)Y(n,26)數組中主節點的行號便于對數據的檢索和檢驗,節點數51可保證更有 效地減少對Y(n,26)數組不必要的循環和計算。
[0029] 步驟3 :根據Y(n,26)數組和&子陣中元素的關系初步形成J陣;
[0030] (1)根據Y(n,26)數組中的每行元素對應兩行/次形成J陣中的元素、并利用Ju 子陣元素化=L u,-M ^和R S 0的關系僅計算J陣中基數行的非零元素,即 僅