FEKO中內存消耗的預估方法

問題背景

FEKO的核心算法為矩量法(MOM)以及多層快速多級子(MLFMA),通常情況下,模型剖分網格數目<1萬的時候,選擇MOM居多,此時你的8GB或16GB內存的筆記本電腦還能順利的完成計算;當網格數~[1萬,10萬]的時候,如果不是模型的結構特別復雜或是收斂性較差,選擇MLFMA,16GB內存的筆記本應該還可以勝任;當網格數>10萬的時候,通常就需要服務器(內存通常為512GB、1TB及以上)的介入了。如果你經常使用FEKO進行仿真計算,對于結構相對簡單,不含有復雜精細結構的電磁模型的網格與內存消耗之間的對應關系,應該有著大致的概念。

FEKO中內存消耗的預估方法的圖1

然而,對于模型比較復雜(如金屬-介質混合,多層介質,含有FSS結構、陣列天線、腔體或波導結構等令FEKO頭痛的模型),上面的對應關系通常情況是不適用的,就會出現這樣的情況:明明模型的網格數目也不多,但是就連內存以TB計的服務器也報錯說“內存不夠”。

FEKO中內存消耗的預估方法的圖2

解決方法

下面介紹兩種內存預估的方法,可以幫助設計師提前預估計算所需的內存大小,避免盲目計算。

方法1:軟件自動預估(支持預估的算法:MLFMM, MoM, PO and FEM  )

想要查看方法1的視頻講解的可以去觀看如下視頻。下面詳細介紹利用軟件自動預估內存消耗的操作方法。

step1:首先建2個文本文件project.txt(名稱隨意)和hosts.txt,兩種文件的內容為:

FEKO中內存消耗的預估方法的圖3

FEKO中內存消耗的預估方法的圖4

step2:分別將project和hosts文本文件另存為project.bat和hosts.list格式

FEKO中內存消耗的預估方法的圖5

step3:打開feko terminal,運行project.bat程序,運行完成后,可以在out文件里查看內存消耗。

FEKO中內存消耗的預估方法的圖6

FEKO中內存消耗的預估方法的圖7

FEKO中內存消耗的預估方法的圖8

方法2:利用理論公式計算

隨意搜索一篇關于矩量法(MOM)或者多層快速多級子(MLFMA)的學位論文,都會針對兩種算法的內存消耗以及計算量的理論計算公式進行詳細說明,這也是計算電磁學(CEM)研究領域最為關注的兩個參量,想要通俗易懂的了解兩種算法的原理區別的,可以參考往期文章CAE設計師的你,有必要了解計算電磁學嗎?》。

FEKO中內存消耗的預估方法的圖9

MOM的計算內存消耗正比于N2,MLFMM的內存消耗正比于NlogN,此處的N為未知量數目,由于MOM和MLFMA算法采用的三角網格,因此N=1.5*網格數。此處如果采用單精度計算(8位),則MOM的實際內存消耗為N2*8(bit),MLFMM則正比于NlogN*8(bit);如果為雙精度型(16位),則MOM的實際內存消耗為N2*16(bit),MLFMM則正比于NlogN*16(bit),由下圖曲線對比可知,隨著未知量數目N的增大,MOM的內存消耗將會遠遠大于MLFMA。

FEKO中內存消耗的預估方法的圖10

FEKO中內存消耗的預估方法的圖11

需要說明的是,MOM的計算由于不存在分區和迭代,為純計算,因此,內存消耗可以直接按照這個公式計算,但是MLFMM的內存消耗則需要看分區的質量,對于結構比較復雜的模型(如含有許多薄介質層的微帶天線),導致每個box里面含有太多未知量,近區使用MOM算法的未知量太多(超過full MOM的20%),計算效果還不如用full MOM,因此也經常會報錯,提示使用MOM 進行計算,利用FEKO的內存預估,也的確發現MLFMM的計算內存消耗為38GB,超過的MOM的25GB。

FEKO中內存消耗的預估方法的圖12

FEKO中內存消耗的預估方法的圖13

總結

對于相對簡單的電磁模型,依據工程經驗,設計師通產能建立起網格數目和內存消耗之間大致的關系,但是對于結構比較復雜的模型,則不太適用,全文介紹兩種內存預估的方法:1)軟件自動預估;2)理論計算,可以幫助設計師更為準確的預估電磁模型的內存消耗。


文章來源電磁CAEer

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1