一種大規(guī)模電網(wǎng)潮流修正方程并行求解方法
【專利摘要】本發(fā)明提供一種大規(guī)模電網(wǎng)潮流修正方程并行求解方法,根據(jù)因子表求解線性程方程運(yùn)算過(guò)程的特點(diǎn)及潮流修正方程系數(shù)矩陣的稀疏性,將可以同時(shí)進(jìn)行規(guī)格化的行分組,并行完成規(guī)格化運(yùn)算和消去運(yùn)算,同時(shí),利用求因子表過(guò)程中得到的行分組信息,完成并行前代運(yùn)算,從而提高大規(guī)模電網(wǎng)潮流求解效率,滿足電網(wǎng)調(diào)度員潮流、安全分析、AVC等在線分析應(yīng)用對(duì)潮流計(jì)算的實(shí)時(shí)性要求,便于調(diào)度員更快發(fā)現(xiàn)電網(wǎng)運(yùn)行的潛在風(fēng)險(xiǎn),從而保障電網(wǎng)的安全穩(wěn)定運(yùn)行。
【專利說(shuō)明】一種大規(guī)模電網(wǎng)潮流修正方程并行求解方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種求解方法,具體涉及一種大規(guī)模電網(wǎng)潮流修正方程并行求解方 法。
【背景技術(shù)】
[0002] 當(dāng)前,在國(guó)家電網(wǎng)公司的領(lǐng)導(dǎo)下,智能電網(wǎng)調(diào)度控制系統(tǒng)在線分析軟件實(shí)用化工 作已取得了階段性成果,并在各級(jí)調(diào)度機(jī)構(gòu)的調(diào)度技術(shù)支持系統(tǒng)中推廣試用,為各調(diào)度中 心的日常分析和調(diào)度工作起到了非常重要的支撐作用。從在線分析軟件計(jì)算速度上來(lái)看, 需要研究適合大電網(wǎng)實(shí)時(shí)在線分析軟件的并行計(jì)算技術(shù)和手段,進(jìn)一步提升在線分析軟件 的計(jì)算速度,滿足大電網(wǎng)全模型實(shí)時(shí)分析計(jì)算的實(shí)時(shí)性要求。而潮流計(jì)算是大電網(wǎng)實(shí)時(shí)在 線分析軟件的重要功能,隨著電力系統(tǒng)的發(fā)展和電網(wǎng)規(guī)模的擴(kuò)大,在線潮流軟件的計(jì)算規(guī) 模越來(lái)越大,同時(shí)智能電網(wǎng)精細(xì)化調(diào)度對(duì)大電網(wǎng)在線潮流計(jì)算的實(shí)時(shí)性要求越來(lái)越高,使 得傳統(tǒng)串行潮流軟件不能很好的滿足未來(lái)智能電網(wǎng)調(diào)度需求。為提高大電網(wǎng)在線潮流軟件 的計(jì)算速度,除了采用高性能服務(wù)器及先進(jìn)算法外,還可以采用分布式計(jì)算技術(shù)和并行計(jì) 算技術(shù)來(lái)提升軟件計(jì)算性能。目前各調(diào)控中心的調(diào)度自動(dòng)化系統(tǒng)一般使用高性能服務(wù)器, CPU個(gè)數(shù)在4個(gè)以上,單個(gè)CPU -般為6核及以上,內(nèi)存一般大于16G,具有良好的并行處理 能力。因此,通過(guò)對(duì)智能電網(wǎng)調(diào)度控制系統(tǒng)現(xiàn)有應(yīng)用軟件進(jìn)行并行化改造,使得硬件資源得 到充分利用,可以提高系統(tǒng)計(jì)算性能。
[0003] 在共享內(nèi)存模型中,一個(gè)并行程序由多個(gè)共享內(nèi)存的并行任務(wù)組成,數(shù)據(jù)的交換 通過(guò)隱含地使用共享數(shù)據(jù)來(lái)完成。此編程模式一般僅需指定可以并行執(zhí)行的循環(huán),而不需 考慮計(jì)算與數(shù)據(jù)如何劃分,以及如何進(jìn)行任務(wù)間通信,編譯器會(huì)自動(dòng)完成上述功能。目前流 行的共享內(nèi)存模型開(kāi)發(fā)標(biāo)準(zhǔn)是OpenMP。OpenMP定義了一套編譯指導(dǎo)語(yǔ)句,用于指定程序的 并行性、數(shù)據(jù)的共享/私有等信息,同時(shí)OpenMP提供一個(gè)支持函數(shù)庫(kù)。目前OpenMP得到了 廣泛的支持和使用。微軟的VC,linux操作系統(tǒng)上廣泛使用的GCC編譯器均支持OpenMP編 程模型,此外,IBM、HP、Sun、SGI、Intel等硬件廠商均有支持OpenMP的編譯器產(chǎn)品。OpenMP 是一種標(biāo)準(zhǔn)的并行模式fork/join式并行模式,其基本思想是,程序開(kāi)始時(shí)只有一個(gè)主線 程,程序中的串行部分都由主線程執(zhí)行,并行的部分是通過(guò)派生其他線程來(lái)執(zhí)行,但是如果 并行部分沒(méi)有結(jié)束時(shí)是不會(huì)執(zhí)行串行部分的。利用編譯指導(dǎo)語(yǔ)句可將程序分為多個(gè)線程并 行執(zhí)行。
[0004] C++定義了一個(gè)內(nèi)容豐富的抽象數(shù)據(jù)類型標(biāo)準(zhǔn)庫(kù)。其中最重要的標(biāo)準(zhǔn)庫(kù)類型是 string、vector和map,它們分別定義了大小可變的字符串、集合和鍵-值對(duì)的集合。string 和vector往往將迭代器用作配套類型,用于訪問(wèn)string中的字符或者vector中的元素。 map類型為關(guān)聯(lián)數(shù)組,可使用鍵作為下標(biāo)來(lái)獲取一個(gè)值,正如內(nèi)置數(shù)組類型一樣。其關(guān)聯(lián)的 本質(zhì)在于元素的值與某個(gè)特定的鍵相關(guān)聯(lián),并非通過(guò)元素在數(shù)組中的位置來(lái)獲取。map容器 提供begin和end運(yùn)算,以生產(chǎn)用于遍歷整個(gè)容器的迭代器。這些標(biāo)準(zhǔn)庫(kù)類型是語(yǔ)言組成 部分中更基本的那些數(shù)據(jù)類型(如數(shù)組和指針)的抽象。
[0005] 現(xiàn)有技術(shù)中,線性方程組求解主要包括三個(gè)步驟:因子分解生成因子表、前代、回 代。線性方程Bx = z的求解過(guò)程如下所述:
[0006] (1)因子分解生成因子表
[0007] 因子分解過(guò)程包括規(guī)格化運(yùn)算和消去運(yùn)算兩個(gè)主要步驟。
[0008] ①規(guī)格化運(yùn)算:對(duì)于ηΧη階矩陣,第i行的規(guī)格化只需要對(duì)上三角部分中的第i 行非零元進(jìn)行計(jì)算,若第i行j列元素為非零元,則i行對(duì)角元bn = Ι/by i行非零對(duì)角 兀 bij - bijXbii。
[0009] ②消去運(yùn)算:利用完成規(guī)格化運(yùn)算的第i行,對(duì)i行上三角非零元列號(hào)對(duì)應(yīng)的行進(jìn) 行消去運(yùn)算,即對(duì)第j行進(jìn)行消去運(yùn)算,則消去行對(duì)角元b"_ = + 。若bu為非 零元,則還需對(duì)元素 b#進(jìn)行消去運(yùn)算,= 。在規(guī)格化過(guò)程中會(huì)有注入元 素,需要通過(guò)節(jié)點(diǎn)優(yōu)化排序進(jìn)行優(yōu)化。
[0010] ⑵前代運(yùn)算
[0011] 將獨(dú)立矢量Z賦值到工作矢量X中。前代計(jì)算從小號(hào)節(jié)點(diǎn)到大號(hào)節(jié)點(diǎn)依次進(jìn)行, 利用因子表上三角參與消去運(yùn)算,若上三角第i行,第k列元素為非零元,0?(i-Ι)行已完 成消去運(yùn)算,則x k = xk-bikXi,前代運(yùn)算的串行程序可以用以下偽代碼表示:
[0012] for i=0 Ιο η//循環(huán)節(jié)點(diǎn),從0到/卜1 iter-即],begin()//|/J 始化迭代器 iter++/7迭代器 Ijlll while^terHBpj.cndOH+z/判斷迭代器是超出范Μ k一iter->first//將鍵值賦給變.? k x[k]= x[k]-iler->second*x[i】//根據(jù)公式;=.υ4 - .Φ-:新 if·算 x* iter++//迭代器 1
[0013] }
[0014] 規(guī)格化算法可用以下偽代碼表示:
[0015] for i = Oto η// 循環(huán)節(jié)點(diǎn),從 0 到 n-1
[0016] iter - B[i]· begin ()// 初始化迭代器
[0017] x[i] = iter->second*x[i]//對(duì)非零元Xi進(jìn)行規(guī)格化計(jì)算
[0018] (3)回代運(yùn)算。
[0019] 回代運(yùn)算從大節(jié)點(diǎn)號(hào)到小節(jié)點(diǎn)號(hào),若i?(η-I)行已完成消去運(yùn)算,i-Ι行記為k, k行的第j列元素為非零元,則xk = xk_bkjXj,回代運(yùn)算的串行程序可用以下偽代碼表示:
[0020] Γοι· Mm-1 to (V/掀壞 T/點(diǎn),從/i-l 到() k-i-\"k=i-\ iter-B[/].begin〇//初始化迭代器 iier++//迭代器加1 whi ilcr! =B [/] ,ctid〇 ).| //判斷作超出范 _ itcr->firse//將鍵值賦治變.Μ:/ x[A,]= x[Ar]-iter->sceond*x|)·]//根公式=? -\.ν; Φ:新?Η?:Λ? iter++//選代器加1 }
[0021] 其中:i,j,k e {〇, 1,2…η}。B為對(duì)稱系數(shù)矩陣,b為對(duì)稱矩陣非零元,X為解矢 量,z為獨(dú)立矢量。
【發(fā)明內(nèi)容】
[0022] 為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種大規(guī)模電網(wǎng)潮流修正方程并行求 解方法,根據(jù)因子表求解線程方程運(yùn)算過(guò)程的特點(diǎn)及潮流修正方程系數(shù)矩陣的稀疏性,將 可以同時(shí)進(jìn)行規(guī)格化的行分組,并行完成規(guī)格化運(yùn)算和消去運(yùn)算,同時(shí),利用求因子表過(guò)程 中得到的行分組信息,完成并行前代運(yùn)算,從而提高大規(guī)模電網(wǎng)潮流求解效率,滿足電網(wǎng)調(diào) 度員潮流、安全分析、AVC等在線分析應(yīng)用對(duì)潮流計(jì)算的實(shí)時(shí)性要求,便于調(diào)度員更快發(fā)現(xiàn) 電網(wǎng)運(yùn)行的潛在風(fēng)險(xiǎn),從而保障電網(wǎng)的安全穩(wěn)定運(yùn)行。
[0023] 為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案:
[0024] 本發(fā)明提供一種大規(guī)模電網(wǎng)潮流修正方程并行求解方法,所述方法包括以下步 驟:
[0025] 步驟1 :稀疏矩陣存儲(chǔ);
[0026] 步驟2 :并行因子分解生成因子表;
[0027] 步驟3 :進(jìn)行并行前代運(yùn)算;
[0028] 步驟4:回代運(yùn)算;
[0029] 步驟5 :潮流迭代運(yùn)算。
[0030] 所述步驟1中,在P-Q分解法的電網(wǎng)潮流修正方程并行求解過(guò)程中完成節(jié)點(diǎn)導(dǎo)納 矩陣、修正方程系數(shù)矩陣B'和B",以及B'和B"因子分解后生成的因子表的存儲(chǔ);修正 方程系數(shù)矩陣B'和B"均為稀疏矩陣。
[0031] 采用P-Q分解法的電網(wǎng)潮流修正方程表示為:
[0032] ΔΡ/υ = -Β,ΙΙΔΘ (1)
[0033] AQ/U = _B" AU (2)
[0034] 其中,ΛΡ為計(jì)算節(jié)點(diǎn)有功修正量矢量,AQ為計(jì)算節(jié)點(diǎn)無(wú)功修正量矢量,Λ θ為 相角修正量矢量,AU為電壓修正量矢量,U為節(jié)點(diǎn)電壓幅值,Θ為節(jié)點(diǎn)電壓相角,Ρ為節(jié)點(diǎn) 注入有功功率,Q為節(jié)點(diǎn)注入無(wú)功功率,稀疏矩陣元素為對(duì)應(yīng)支路電抗倒數(shù)取負(fù),稀疏 矩陣B"元素為對(duì)應(yīng)節(jié)點(diǎn)導(dǎo)納矩陣虛部,i、j為節(jié)點(diǎn)編號(hào)。
[0035] 所述步驟1具體包括以下步驟:
[0036] 步驟1-1 :利用C++抽象數(shù)據(jù)類型標(biāo)準(zhǔn)庫(kù)提供的順序容器vector和關(guān)聯(lián)容器map 實(shí)現(xiàn)P-Q分解法的電網(wǎng)潮流修正方程系數(shù)矩陣的存儲(chǔ);
[0037] 定義對(duì)象vector〈map〈int, double?Bl,B2, Y分別保存稀疏矩陣B' , B"和節(jié)點(diǎn) 導(dǎo)納矩陣;其中map〈int,double〉用于保存行元素,列號(hào)由int型的鍵索引表示,稀疏矩陣 非零元素由double型的關(guān)聯(lián)值表示;
[0038] 步驟1-2 :節(jié)點(diǎn)優(yōu)化排序;
[0039] 統(tǒng)計(jì)節(jié)點(diǎn)關(guān)聯(lián)支路數(shù),按節(jié)點(diǎn)支路數(shù)由少到多對(duì)節(jié)點(diǎn)進(jìn)行靜態(tài)排序;且按照PQ節(jié) 點(diǎn)、PV節(jié)點(diǎn)、平衡節(jié)點(diǎn)的順序依次排序;在排序的同時(shí),形成內(nèi)部節(jié)點(diǎn)和計(jì)算母線編號(hào)的對(duì) 照表;
[0040] 步驟1-3 :計(jì)算節(jié)點(diǎn)導(dǎo)納矩陣;
[0041] 根據(jù)節(jié)點(diǎn)導(dǎo)納矩陣維數(shù)初始化vector對(duì)象Y維數(shù);節(jié)點(diǎn)i自導(dǎo)納即對(duì)角元元素等 于該節(jié)點(diǎn)直接連接的所有支路導(dǎo)納的總和,節(jié)點(diǎn)i、j之間的互導(dǎo)納等于連接節(jié)點(diǎn)i、j支路 導(dǎo)納的負(fù)值;將計(jì)算完的節(jié)點(diǎn)導(dǎo)納陣元素保存到對(duì)象Y中,完成節(jié)點(diǎn)導(dǎo)納矩陣的稀疏矩陣 存儲(chǔ),且僅保存節(jié)點(diǎn)導(dǎo)納矩陣上三角;
[0042] 步驟1-4 :稀疏矩陣B'和B "保存到對(duì)象B1和B2中。
[0043] 所述步驟2包括以下步驟:
[0044] 步驟2-1 :指定并行處理進(jìn)程數(shù);
[0045] 步驟2-2 :首先通過(guò)稀疏矩陣非零元素的遍歷,統(tǒng)計(jì)每行元素被消去次數(shù), k行元素被消去次數(shù)保存在整型數(shù)組變量count [k]中;同時(shí)在map〈int, double?B 中增加注入元數(shù)位置,將最大被消去次數(shù)記為max ;定義變量vector〈int>muster和 vector〈vector〈int>>vec_muster (muster, max)用于收集被消去次數(shù)相同的行;vec_ muster[m]中保存被消去次數(shù)為m次的所有行號(hào);將被消去0次的行存入vec_master[0] 中;
[0046] 步驟2-3 :根據(jù)并行進(jìn)程數(shù)將vec_muster[m]中的行號(hào)分成N組,被消去次數(shù)m = m+1 ;
[0047] 步驟 2-4 :利用編譯指導(dǎo)語(yǔ)句 #pragma omp parallel for num_threads (N)將主 進(jìn)程分成N個(gè)線進(jìn)程,用多個(gè)線程進(jìn)行并行規(guī)格化運(yùn)算和消去運(yùn)算,被消去行被消去次數(shù) 減1,即count[k]-l,收集被消去次數(shù)變成0的行號(hào),并保存在vec_muster[m]中;
[0048] 步驟2-5 :判斷VeC_mUster[m]數(shù)組是否為空,若為空則并行因子分解結(jié)束;否則 返回步驟2-3,繼續(xù)并行規(guī)格化運(yùn)算和消去運(yùn)算。
[0049] 所述步驟3包括以下步驟:
[0050] 步驟3-1 :根據(jù)潮流有功殘差方程和潮流無(wú)功殘差方程計(jì)算可得有功修正量矢量 ΛΡ和無(wú)功修正量矢量AQ ;
[0051] 潮流有功殘差方程和潮流無(wú)功殘差方程分別表示為:
[0052]
【權(quán)利要求】
1. 一種大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述方法包括以下步 驟: 步驟1 :稀疏矩陣存儲(chǔ); 步驟2 :并行因子分解生成因子表; 步驟3 :進(jìn)行并行前代運(yùn)算; 步驟4:回代運(yùn)算; 步驟5 :潮流迭代運(yùn)算。
2. 根據(jù)權(quán)利要求1所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述 步驟1中,在P-Q分解法的電網(wǎng)潮流修正方程并行求解過(guò)程中完成節(jié)點(diǎn)導(dǎo)納矩陣、修正方程 系數(shù)矩陣B'和B",以及B'和B"因子分解后生成的因子表的存儲(chǔ);修正方程系數(shù)矩陣 和B"均為稀疏矩陣。
3. 根據(jù)權(quán)利要求2所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:采用 P-Q分解法的電網(wǎng)潮流修正方程表示為: ΔΡ/U = -B/ UA θ (1) AQ/U = _B" AU (2) 其中,ΛΡ為計(jì)算節(jié)點(diǎn)有功修正量矢量,AQ為計(jì)算節(jié)點(diǎn)無(wú)功修正量矢量,Λ θ為相角 修正量矢量,AU為電壓修正量矢量,U為節(jié)點(diǎn)電壓幅值,Θ為節(jié)點(diǎn)電壓相角,Ρ為節(jié)點(diǎn)注入 有功功率,Q為節(jié)點(diǎn)注入無(wú)功功率,稀疏矩陣Β'元素為對(duì)應(yīng)支路電抗倒數(shù)取負(fù),稀疏矩陣 Β"元素為對(duì)應(yīng)節(jié)點(diǎn)導(dǎo)納矩陣虛部,i、j為節(jié)點(diǎn)編號(hào)。
4. 根據(jù)權(quán)利要求2所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述 步驟1具體包括以下步驟: 步驟1-1 :利用C++抽象數(shù)據(jù)類型標(biāo)準(zhǔn)庫(kù)提供的順序容器vector和關(guān)聯(lián)容器map實(shí)現(xiàn) P-Q分解法的電網(wǎng)潮流修正方程系數(shù)矩陣的存儲(chǔ); 定義對(duì)象vector〈map〈int, double?Bl,B2, Y分別保存稀疏矩陣Β',B"和節(jié)點(diǎn)導(dǎo)納 矩陣;其中map〈int,double〉用于保存行元素,列號(hào)由int型的鍵索引表示,稀疏矩陣非零 元素由double型的關(guān)聯(lián)值表示; 步驟1-2 :節(jié)點(diǎn)優(yōu)化排序; 統(tǒng)計(jì)節(jié)點(diǎn)關(guān)聯(lián)支路數(shù),按節(jié)點(diǎn)支路數(shù)由少到多對(duì)節(jié)點(diǎn)進(jìn)行靜態(tài)排序;且按照PQ節(jié)點(diǎn)、 PV節(jié)點(diǎn)、平衡節(jié)點(diǎn)的順序依次排序;在排序的同時(shí),形成內(nèi)部節(jié)點(diǎn)和計(jì)算母線編號(hào)的對(duì)照 表; 步驟1-3 :計(jì)算節(jié)點(diǎn)導(dǎo)納矩陣; 根據(jù)節(jié)點(diǎn)導(dǎo)納矩陣維數(shù)初始化vector對(duì)象Y維數(shù);節(jié)點(diǎn)i自導(dǎo)納即對(duì)角元元素等于該 節(jié)點(diǎn)直接連接的所有支路導(dǎo)納的總和,節(jié)點(diǎn)i、j之間的互導(dǎo)納等于連接節(jié)點(diǎn)i、j支路導(dǎo)納 的負(fù)值;將計(jì)算完的節(jié)點(diǎn)導(dǎo)納陣元素保存到對(duì)象Y中,完成節(jié)點(diǎn)導(dǎo)納矩陣的稀疏矩陣存儲(chǔ), 且僅保存節(jié)點(diǎn)導(dǎo)納矩陣上三角; 步驟1-4 :稀疏矩陣K和B"保存到對(duì)象B1和B2中。
5. 根據(jù)權(quán)利要求1所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述 步驟2包括以下步驟: 步驟2-1 :指定并行處理進(jìn)程數(shù); 步驟2-2 :首先通過(guò)稀疏矩陣非零元素的遍歷,統(tǒng)計(jì)每行元素被消去次數(shù),k行 元素被消去次數(shù)保存在整型數(shù)組變量count [k]中;同時(shí)在map〈int, double?B中 增加注入元數(shù)位置,將最大被消去次數(shù)記為max ;定義變量vector〈int>muster和 vector〈vector〈int>>vec_muster (muster, max)用于收集被消去次數(shù)相同的行;vec_ muster[m]中保存被消去次數(shù)為m次的所有行號(hào);將被消去0次的行存入vec_master[0] 中; 步驟2-3 :根據(jù)并行進(jìn)程數(shù)將vec_muster[m]中的行號(hào)分成N組,被消去次數(shù)m = m+l ; 步驟2-4:利用編譯指導(dǎo)語(yǔ)句#pragma omp parallel for num_threads(N)將主進(jìn)程 分成N個(gè)線進(jìn)程,用多個(gè)線程進(jìn)行并行規(guī)格化運(yùn)算和消去運(yùn)算,被消去行被消去次數(shù)減1, 即count[k]-l,收集被消去次數(shù)變成0的行號(hào),并保存在vec_muster[m]中; 步驟2-5 :判斷vec_muster[m]數(shù)組是否為空,若為空則并行因子分解結(jié)束;否則返回 步驟2-3,繼續(xù)并行規(guī)格化運(yùn)算和消去運(yùn)算。
6.根據(jù)權(quán)利要求1所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述 步驟3包括以下步驟: 步驟3-1 :根據(jù)潮流有功殘差方程和潮流無(wú)功殘差方程計(jì)算可得有功修正量矢量Λ P 和無(wú)功修正量矢量Λ Q ; 潮流有功殘差方程和潮流無(wú)功殘差方程分別表示為:
(3) (4) 其中,Λ Pi為節(jié)點(diǎn)i有功修正量,Λ Qi為節(jié)點(diǎn)i無(wú)功修正量;Λ Θ為相角修正量矢量, Λ U為電壓修正量矢量;%和%分別為節(jié)點(diǎn)i和j電壓幅值;Θ u為節(jié)點(diǎn)i和j的相位差即 θ υ = Θ Θ yPi為節(jié)點(diǎn)i注入有功功率,Qi為節(jié)點(diǎn)i注入無(wú)功功率;為節(jié)點(diǎn)導(dǎo)納矩陣 實(shí)部,節(jié)點(diǎn)導(dǎo)納矩陣虛部; 步驟3-2 :將獨(dú)立矢量z賦值到工作矢量X中,指定進(jìn)程數(shù)N ; 獨(dú)立矢量z表示方程組(1)、(2)的常數(shù)項(xiàng)Λ P/U和Λ Q/U,工作矢量X表示方程組(1)、 ⑵的待求項(xiàng)Λ Θ和AU ; 步驟3-3 :初始化被消去次數(shù)m = 0 ; 步驟3-4 :取數(shù)組vecjnuster [m]中的行,若行數(shù)大于進(jìn)程數(shù)N則分成N組,否則不分 組,進(jìn)行并行前代消去運(yùn)算,被消去次數(shù)m = m+Ι ; 步驟3-5:前代計(jì)算從小號(hào)節(jié)點(diǎn)到大號(hào)節(jié)點(diǎn)依次進(jìn)行,利用因子表上三角參與并 行前代消去運(yùn)算,若上三角第i行,第k列元素為非零元素,0?(i-1)行已完成并行 前代消去運(yùn)算,則xk = xk-bikXi ;前代的消去過(guò)程和生成因子表的消去過(guò)程一致,利用 vector〈vector〈int?vec_muster中的行分組信息進(jìn)行并行前代消去運(yùn)算; 步驟3-6 :被消去次數(shù)m = m+Ι,判斷被消去次數(shù)是否等于最大消去次數(shù),若相等則前代 消去運(yùn)算結(jié)束,若小于則返回步驟3-4繼續(xù)進(jìn)行并行前代消去運(yùn)算; 步驟3-7 :前代規(guī)格化運(yùn)算; 工作矢量X的第i個(gè)元素Xi = Xi/bii,前代規(guī)格化運(yùn)算用編譯指導(dǎo)語(yǔ)句#pragma omp parallel for完成for循環(huán)的前代規(guī)格化運(yùn)算,即根據(jù)CPU最大并行處理線程數(shù)前代規(guī)格 化運(yùn)算。
7. 根據(jù)權(quán)利要求1所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述 步驟4中,回代運(yùn)算從大節(jié)點(diǎn)號(hào)到小節(jié)點(diǎn)號(hào),若i?(n-1)行已完成回代消去運(yùn)算,i-Ι行 記為k,k行的第j列元素為非零元素,則x k = xk-bkjXj ;按式xk = xk-bkjXj,k由大到小逐個(gè) 對(duì)工作矢量的元素進(jìn)行求解,最終的到方程組(1)、(2)的解。
8. 根據(jù)權(quán)利要求1所述的大規(guī)模電網(wǎng)潮流修正方程并行求解方法,其特征在于:所述 步驟5包括以下步驟: 步驟5-1 :根據(jù)得到的相角修正量矢量Λ Θ和電壓修正量矢量AU,對(duì)節(jié)點(diǎn)電壓幅值U 和節(jié)點(diǎn)電壓相角Θ進(jìn)行修正,即θ = θ+ΛΘ,υ = υ+Λυ; 步驟5-2 :按式(3)、(4)計(jì)算各節(jié)點(diǎn)的有功修正量和無(wú)功修正量; 步驟5-3 :若有功修正量小于有功收斂精度,且無(wú)功修正量小于無(wú)功收斂精度,則計(jì)算 完成;否則,返回步驟3和4重新進(jìn)行并行前代運(yùn)算和回代運(yùn)算,并求解式(1)、(2)。
【文檔編號(hào)】H02J3/00GK104158182SQ201410405872
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】李靜, 羅雅迪, 徐杰, 賈育培, 郎燕生, 郭子明, 鄒昱, 施貴榮, 竇成龍, 張 浩, 陳利杰, 王磊, 王淼, 王少芳 申請(qǐng)人:國(guó)家電網(wǎng)公司, 中國(guó)電力科學(xué)研究院, 國(guó)網(wǎng)冀北電力有限公司