FEKO計算中減少內存的方法
用FEKO軟件進行電磁仿真時,由于電磁仿真對計算資源的強烈需求,計算資源尤其是內存的大小極大的成為決定求解問題規(guī)模的約束條件。為了在已有的硬件計算條件下,解決盡量大的電磁問題,FEKO提供了一些減少內存的途徑,主要可分為二個層面,其一是算法層面的節(jié)約內存,其二是技巧層面的節(jié)約內存。
本文引用地址:http://www.ex-cimer.com/article/259796.htm算法
從算法上面來講,FEKO提供的有MoM,MLFMM,PO,UTD,FEM。矩量法占用內存最多,存儲量級為O(N2)。MLFMM為基于MoM的快速算法,將存儲量成功將到O(NlogN)量級。PO和UTD屬于高頻方法,PO只考慮一次場的貢獻,存儲量為O(N),UTD不需要對目標表面剖分,所以內存不是求解的困難。當然,各種方法有其適用的范圍,如果精確方法不能求解的問題,可考慮采用近似的方法降低對內存的需求以解決。
1、對稱性:
在矩量法求解和物理光學求解中,利用對稱性可大大減少內存需求和求解的復雜度,節(jié)省求解時間。
矩量法求解中,如所求解的問題存在電磁對稱性,求解的過程可簡化成求解部分模型,將結果復制到對稱的部分即得到全部結構的解。電磁對稱性分為兩種,電對稱和磁對稱,分別用到不同的邊界條件實現對稱所帶來的簡便性。幾何對稱可以方便建模,然而卻不能節(jié)省計算和內存需求。
物理光學計算中,也可以利用電磁對稱節(jié)省內存開銷,同時可選擇對稱射線尋跡選項,加速計算。
2、預條件:
眾所周知,算法的內存需求絕大部分是矩陣方程所占用的內存,如何降低這部分內存需求,將是減少整個算法內存需求的關鍵。對于多層快速多極子這樣的迭代算法,其內存的需求主要包括三部分:近區(qū)阻抗矩陣元素,轉移矩陣和預條件矩陣。近區(qū)阻抗矩陣元素的內存需求是跟MLFMM算法所確定的最細層盒子尺寸決定的,FEKO中,如果想通過調整該盒子尺寸來減少內存,可通過FM卡手動設置其尺寸,不過一般不推薦這樣做,FEKO默認尺寸為0.23個波長,縮小尺寸將導致多極子模式數增大,從而導致計算復雜度增大。
預條件矩陣是整個迭代過程占用內存最多的部分,為了減少此部分內存,可通過CG卡調節(jié)預條件的種類或者改變其參數。對于MLFMM,FEKO提供了2種預條件技術,不完全LU分解預條件和稀疏近似逆預條件。FEKO默認采用完全LU分解,填充級別為12,為了減少內存,可將ILU預條件的填充級別改為低于12的值,值越低,預條件占用內存越少,但預條件效果越差。稀疏近似逆占用內存較ILU少很多,當然效果也要差一些。目前,只有稀疏近似逆支持MLFMM的并行。
另外,值得一提的是MLFMM計算過程中,EG卡中默認選擇的單精度選項,數據采用單精度存儲,將減少一半的內存需求,對于一般情況,單精度已足夠滿足計算的精度要求。
評論