本發(fā)明涉及計(jì)算電磁學(xué)領(lǐng)域,具體是一種基于并行高階矩量法的核外區(qū)域分解方法。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷發(fā)展,從天氣預(yù)報(bào)到導(dǎo)彈發(fā)射、再到各種飛機(jī)的設(shè)計(jì),幾乎所有領(lǐng)域問題的解決都離不開數(shù)值計(jì)算。目前國際上針對電磁計(jì)算領(lǐng)域主要集中在三個(gè)方面進(jìn)行研究,即復(fù)雜結(jié)構(gòu)、電大問題、混合金屬及介質(zhì)問題。常用的數(shù)值方法有:矩量法、有限元方法和時(shí)域有限差分方法等,早在1968年由Harrington提出的矩量法MoM已得到廣泛應(yīng)用,與其他方法相比,矩量法能夠精確計(jì)算電磁輻射和散射問題。低階矩量法通常采用RWG基函數(shù),為了達(dá)到一定的計(jì)算精度,每個(gè)面片的每條邊的長度都在λ/10的數(shù)量級(jí)上,這就導(dǎo)致未知量數(shù)目非常大,求解矩陣方程時(shí)的復(fù)雜度和內(nèi)存需求達(dá)到O(N3)和O(N2),其中N為未知量的數(shù)目。因此,在很長一段時(shí)間內(nèi),矩量法無法處理電大尺寸目標(biāo)問題,1993年,美國的L.R.Hamilton等提出高階基函數(shù)的概念,高階基函數(shù)是建立在雙線性面片基礎(chǔ)上的,能夠靈活地逼近任意的曲面和任意電流分布。它使得求解矩陣的大小減小至少十倍,減少了計(jì)算復(fù)雜度和內(nèi)存需求。與此同時(shí),各種快速算法和區(qū)域分解算法相繼涌現(xiàn),例如,快速算法有快速多極子、多層快速多極子和自適應(yīng)積分方法等。區(qū)域分解算法包括重疊型區(qū)域分解和非重疊型區(qū)域分解等,這些方法可將規(guī)模大到單臺(tái)計(jì)算機(jī)不能處理的問題,劃分成若干個(gè)小問題進(jìn)行求解,允許各個(gè)子區(qū)域采用不同的數(shù)學(xué)模型和不同疏密程度的網(wǎng)格或者布點(diǎn),且各個(gè)子區(qū)域問題可以同步求解。但隨著軍事需求和電磁工程問題復(fù)雜性的不斷增加,使得所求解問題消耗的資源不斷增加,尤其是計(jì)算時(shí)間和內(nèi)存資源方面的限制使其無法求解更大規(guī)模的電磁問題,例如大型天線陣列及機(jī)載天線布局等。因此,如何在消耗較少計(jì)算資源的基礎(chǔ)上比較精確的模擬電大尺寸目標(biāo)仍需要進(jìn)一步研究。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于并行高階矩量法的核外區(qū)域分解方法,以解決上述背景技術(shù)中提出的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于并行高階矩量法的核外區(qū)域分解方法,包括如下步驟:
步驟1,根據(jù)求解目標(biāo)的實(shí)際特征將其分成n個(gè)子區(qū)域進(jìn)行建模;對于不連續(xù)問題,則不需要延伸到相鄰區(qū)域,只需將各個(gè)子區(qū)域的電流分別計(jì)算然后進(jìn)行適當(dāng)?shù)牡茨芮蟪稣麄€(gè)目標(biāo)的場分布;對于連續(xù)問題,則進(jìn)行下一步;
步驟2,分別對各個(gè)子區(qū)域進(jìn)行剖分,提取模型信息;
步驟3,對于每個(gè)子區(qū)域,用高階矩量法分別進(jìn)行求解,填充阻抗矩陣時(shí)引入核外求解技術(shù),使用硬盤來存儲(chǔ)數(shù)據(jù);當(dāng)各個(gè)子區(qū)域結(jié)構(gòu)相同時(shí),則只需要填充一次,在后面的迭代過程中重復(fù)使用;
步驟4,初始化電流值,設(shè)定一個(gè)迭代誤差范圍和最大迭代次數(shù),根據(jù)上述迭代方法依次進(jìn)行迭代,求得各個(gè)子區(qū)域的電流;
步驟5,根據(jù)上一步得到的電流求出整個(gè)區(qū)域的場分布。
作為本發(fā)明進(jìn)一步的方案:步驟3中高階矩量法采用高階基函數(shù)和雙線性面片來逼近任意曲面,同時(shí)利用SKALAPACK數(shù)據(jù)庫對程序進(jìn)行并行化。
作為本發(fā)明進(jìn)一步的方案:步驟4中對某個(gè)區(qū)域電流進(jìn)行迭代時(shí)僅利用非重疊區(qū)域的電流,消除了相鄰區(qū)域強(qiáng)的互作用對迭代收斂性的影響;且當(dāng)區(qū)域數(shù)n≥3時(shí)的迭代表達(dá)式,對于第l個(gè)子區(qū)域有其中[Ii]′為區(qū)域i中的非重疊區(qū)域的電流系數(shù)矩陣,[Z′li]為區(qū)域i中的非重疊區(qū)域與區(qū)域l的互阻抗矩陣;當(dāng)||[V]-[Z][I′]||/||[V]||<ε時(shí),迭代結(jié)束,其中ε為迭代誤差。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
1)將以上三種方法有效地結(jié)合起來,并應(yīng)用于大規(guī)模電磁計(jì)算中??朔爽F(xiàn)有技術(shù)對計(jì)算時(shí)間和計(jì)算資源方面的限制,為電大尺寸問題的求解提供了一種高效的方法。該方法具有較高的精確性和可靠性。
2)將求解目標(biāo)劃分成若干區(qū)域,各個(gè)區(qū)域可以根據(jù)各自的特點(diǎn)靈活采用不同的方法進(jìn) 行計(jì)算,最后采用迭代方法得到整個(gè)問題的解。
3)對于有些問題,需要改變某一部分進(jìn)行多次計(jì)算,例如機(jī)載天線,需要分析不同類型天線架設(shè)的電磁特性,這是我們并不需要重新計(jì)算整個(gè)目標(biāo),只要對改變的部分進(jìn)行計(jì)算,然后參與迭代就可以很快得到所要的結(jié)果。
附圖說明
圖1是重疊型區(qū)域分解示意圖;
圖2是核外求解方法示意圖;
圖3是區(qū)域分解計(jì)算流程圖;
圖4是傘形微帶陣列模型圖;
圖5是微帶偶極子天線陣列模型圖;
圖6是機(jī)載波導(dǎo)縫隙天線陣模型圖;
圖7是OOC-DDM與MoM計(jì)算結(jié)果對比圖;
圖8是機(jī)載天線陣計(jì)算結(jié)果圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的目的在于針對上述已有技術(shù)的不足,提出一種基于并行高階矩量法和核外求解技術(shù)的重疊型區(qū)域分解方法,它將之前提出的高階矩量法和區(qū)域分解技術(shù)相結(jié)合,并利用并行求解來實(shí)現(xiàn)。高階矩量法采用高階基函數(shù)和雙線性面片,保證了任意金屬和介質(zhì)分介面上電流的連續(xù)性。
對于不連續(xù)問題,將其適當(dāng)?shù)姆殖蒼個(gè)子區(qū)域,由于各個(gè)子區(qū)域之間不存在電流的連續(xù)性問題,只需將各個(gè)子區(qū)域的電流分別計(jì)算然后進(jìn)行適當(dāng)?shù)牡涂梢郧蟪稣麄€(gè)目標(biāo)的場分布。但當(dāng)求解連續(xù)目標(biāo),進(jìn)行迭代時(shí),由于相鄰區(qū)域的相互作用比較強(qiáng),在迭代中造 成累進(jìn)迭代誤差比較大,使得最終迭代結(jié)果往往不收斂。
為了更好地處理連續(xù)性問題,本文采用一種前后向重疊分解方法,如圖1所示,第n個(gè)子區(qū)域與其相鄰的子區(qū)域之間有一部分重疊區(qū)域。以n=3為例進(jìn)行說明:假設(shè)初始迭代值[I1](0)=[I2](0)=[I3](0)=0進(jìn)行迭代,對于區(qū)域1有
[I1]=[Z11]-1[V1]
假設(shè)1,2兩個(gè)區(qū)域的重疊區(qū)域的基函數(shù)個(gè)數(shù)為p,總共區(qū)域1的基函數(shù)為m。在利用區(qū)域1的電流迭代區(qū)域2的電流時(shí),為了消除相鄰區(qū)域比較強(qiáng)的互作用對迭代的影響,只選取區(qū)域1的(m-p)個(gè)基函數(shù)電流對區(qū)域2電流進(jìn)行迭代。即
[I2]=-[Z22]-1[Z′21][I1]′+[Z22]-1[V2]
其中,[I1]′為區(qū)域1中的非重疊區(qū)域的電流系數(shù)矩陣,[Z′21]為區(qū)域1中的非重疊區(qū)域與區(qū)域2的互阻抗矩陣。
這樣依此方法進(jìn)行迭代,對于區(qū)域3有
[I3]=-[Z33]-1[Z′31][I1]′-[Z33]-1[Z′32][I2]′+[Z33]-1[V3]
利用[I1]′[I2]′[I3]求得的表面電流求解整個(gè)散射場。
根據(jù)以上分析,可以求得當(dāng)區(qū)域數(shù)n>3時(shí)的迭代表達(dá)式,對于第l個(gè)子區(qū)域有
其中[Ii]′為區(qū)域i中的非重疊區(qū)域的電流系數(shù)矩陣,[Z′li]為區(qū)域i中的非重疊區(qū)域與區(qū)域l的互阻抗矩陣。
當(dāng)||[V]-[Z][I′]||/||[V]||<ε時(shí),迭代結(jié)束,其中ε為迭代誤差。
“并行計(jì)算”是當(dāng)前的一個(gè)熱門話題,區(qū)域分解本身也非常適合并行。即利用多處理器或多計(jì)算機(jī),將進(jìn)程相對獨(dú)立的分配于不同的節(jié)點(diǎn)上,由各自獨(dú)立的操作系統(tǒng)調(diào)度,享有獨(dú)立的CPU和內(nèi)存資源。矩量法求解的并行分為兩個(gè)步驟。首先建立一個(gè)矩陣方程, 然后求解該矩陣方程。并行算法結(jié)合矩量法時(shí)可以對矩陣填充和矩陣求解過程實(shí)現(xiàn)高效計(jì)算。這樣就可以利用集群系統(tǒng),從而可大大減少硬件開銷和計(jì)算時(shí)間。為了并行大規(guī)模稠密矩陣方程的求解,通常需要把矩陣在進(jìn)程上以下面這種方式劃分:每個(gè)進(jìn)程存儲(chǔ)數(shù)量相當(dāng)?shù)臄?shù)據(jù),計(jì)算負(fù)載要平均地分配在各個(gè)節(jié)點(diǎn)上。并行矩量法的一種有效地方式就是將大規(guī)模稠密矩陣在所有的參與進(jìn)程上分配。為了保證良好的負(fù)載平衡,不同的矩陣方程求解器如直接解法和迭代解法,對應(yīng)著不同的矩陣劃分方式。
另外,本發(fā)明還采用了核外求解技術(shù),當(dāng)我們得到的矩陣過大時(shí),由于計(jì)算機(jī)內(nèi)存容量的限制,就需要將數(shù)據(jù)存儲(chǔ)到硬盤。核外求解的最大優(yōu)點(diǎn)是在矩陣填充時(shí),將全部數(shù)據(jù)寫入硬盤,而在矩陣求解時(shí),一次只需將一部分元素寫入內(nèi)存參與計(jì)算,計(jì)算完成后再將其寫回到硬盤,這樣反復(fù)讀寫,直到計(jì)算出整個(gè)矩陣元素,具體過程如圖2所示。該技術(shù)大幅度減少計(jì)算機(jī)的內(nèi)存需求,顯著提高了對電大尺寸目標(biāo)的分析能力。
實(shí)施例1
參照圖3,本發(fā)明實(shí)施例中,基于并行高階矩量法的核外區(qū)域分解方法,包括如下步驟:
步驟1,根據(jù)求解目標(biāo)的實(shí)際特點(diǎn)將其分成幾個(gè)子區(qū)域進(jìn)行建模。對于不連續(xù)問題,則不需要延伸到相鄰區(qū)域。
步驟2,分別對各個(gè)子區(qū)域表面進(jìn)行四邊形剖分,提取模型信息。
步驟3,對于每個(gè)子區(qū)域,用矩量法和核外技術(shù)分別進(jìn)行求解,填充阻抗矩陣時(shí),當(dāng)各個(gè)子區(qū)域結(jié)構(gòu)相同時(shí),則只需要填充一次,在后面的迭代過程中重復(fù)使用。這樣可以節(jié)省大量的矩陣填充時(shí)間。
步驟4,初始化電流值,設(shè)定一個(gè)迭代誤差范圍和最大迭代次數(shù),根據(jù)上面提到的迭代方法依次進(jìn)行迭代,最終求得各個(gè)子區(qū)域的電流。
步驟5,根據(jù)上一步得到的電流求出整個(gè)區(qū)域的場分布。
本實(shí)例計(jì)算方法的有效性可以通過以下仿真結(jié)果進(jìn)一步說明:
仿真條件
仿真計(jì)算平臺(tái)一:單節(jié)點(diǎn)塔式工作站,配置2顆6核INTEL XEON E5-2620處理器,64GB DDR3內(nèi)存,6T總?cè)萘坑脖P。
仿真計(jì)算平臺(tái)二:HP BL460c高性能刀片服務(wù)器集群1套,包含1個(gè)管理節(jié)點(diǎn)和16個(gè)計(jì)算節(jié)點(diǎn)。管理節(jié)點(diǎn):兩顆4核Intel Xeon E5310 1.6GHz CPU,18GB內(nèi)存,1.8TB硬盤。計(jì)算節(jié)點(diǎn):16個(gè)刀片節(jié)點(diǎn)(2011),每節(jié)點(diǎn)配置兩顆6核Intel Xeon E5650 2.66GHz CPU,24GB內(nèi)存,600GB硬盤。CPU總核數(shù)192,內(nèi)存總?cè)萘?84GB,硬盤總?cè)萘?TB。網(wǎng)絡(luò)連接:高速交換機(jī)。
仿真計(jì)算平臺(tái)三:高性能集群系統(tǒng)136個(gè)CPU節(jié)點(diǎn),浪潮NX5440每個(gè)節(jié)點(diǎn)配置E5-2692v2(2.20GHz)*2,64GB內(nèi)存,900GB SAS*2硬盤,
實(shí)例一:單元數(shù)為30×14的傘形微帶天線陣列,模型如附圖4所示。各單元之間均不連續(xù),單元間距為:x方向0.065m,z方向0.065m,單極子激勵(lì),頻率為2.5GHz。沿z方向?qū)⑵浞殖?4個(gè)區(qū)域。總體模型使用仿真計(jì)算平臺(tái)二,區(qū)域分解使用仿真計(jì)算平臺(tái)一。
實(shí)例二:單元數(shù)為1×96的微帶偶極子陣列,模型如附圖5所示,各單元間連續(xù)。單極子激勵(lì),頻率為3GHz。沿y方向?qū)⑵浞譃?個(gè)區(qū)域,每個(gè)區(qū)域分別向相鄰區(qū)域延伸兩個(gè)單元??傮w模型使用仿真計(jì)算平臺(tái)一,區(qū)域分解使用仿真計(jì)算平臺(tái)一。
實(shí)例三:Ka波段波導(dǎo)陣列天線加載在飛機(jī)上,計(jì)算其輻射特性。天線陣列和飛機(jī)如圖6所示,尺寸為:70λ×17.1λ。飛機(jī)的尺寸為471λ×420λ。飛機(jī)分為6個(gè)區(qū)域,天線為1個(gè)區(qū)域,天線陣列距離機(jī)頭為207個(gè)波長,架設(shè)高度為47波長。天線的主波束方向指向機(jī)尾。仿真計(jì)算平臺(tái)為平臺(tái)三。
2.仿真內(nèi)容
在所述仿真條件下,進(jìn)行如下實(shí)驗(yàn):
將上述模型分成若干個(gè)區(qū)域,表面剖分成四邊形網(wǎng)格,提取點(diǎn)和邊的信息。用上面所述的算法程序計(jì)算出該目標(biāo)的輻射場,并與矩量法整體計(jì)算結(jié)果進(jìn)行對比。實(shí)例一結(jié)果如附圖6所示,實(shí)例二結(jié)果如附圖7所示。從圖中可以看出兩種方法求出的結(jié)果吻合良好。實(shí)例三為大型機(jī)載天線陣,一體化仿真就現(xiàn)有的硬件資源是無法實(shí)現(xiàn)的,因此利用本發(fā)明 的方法,將其分解為7個(gè)區(qū)域,所得的結(jié)果如附圖8所示。內(nèi)存和時(shí)間消耗如表1所示,從表1中可看出,區(qū)域分解節(jié)省了大量的時(shí)間和存儲(chǔ)空間。
表1
綜上,本仿真驗(yàn)證了本發(fā)明的正確性、可實(shí)現(xiàn)性和可靠性。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。
此外,應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將 說明書作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。