新闻中心

EEPW首页 > 设计应用 > FEKO计算中减少内存的方法

FEKO计算中减少内存的方法

作者:时间:2013-07-01来源:网络收藏

软件进行时,由于对计算资源的强烈需求,计算资源尤其是的大小极大的成为决定求解问题规模的约束条件。为了在已有的硬件计算条件下,解决尽量大的电磁问题,提供了一些减少的途径,主要可分为二个层面,其一是算法层面的节约,其二是技巧层面的节约内存。

本文引用地址:http://www.eepw.com.cn/article/259796.htm

算法
从算法上面来讲,提供的有MoM,MLFMM,PO,UTD,FEM。矩量法占用内存最多,存储量级为O(N2)。MLFMM为基于MoM的快速算法,将存储量成功将到O(NlogN)量级。PO和UTD属于高频方法,PO只考虑一次场的贡献,存储量为O(N),UTD不需要对目标表面剖分,所以内存不是求解的困难。当然,各种方法有其适用的范围,如果精确方法不能求解的问题,可考虑采用近似的方法降低对内存的需求以解决。

技巧
主要有两点,一是,二是的预条件的设置。

1、
在矩量法求解和物理光学求解中,利用可大大减少内存需求和求解的复杂度,节省求解时间。
矩量法求解中,如所求解的问题存在电磁对称性,求解的过程可简化成求解部分模型,将结果复制到对称的部分即得到全部结构的解。电磁对称性分为两种,电对称和磁对称,分别用到不同的边界条件实现对称所带来的简便性。几何对称可以方便建模,然而却不能节省计算和内存需求。
物理光学计算中,也可以利用电磁对称节省内存开销,同时可选择对称射线寻迹选项,加速计算。

2、预条件:
众所周知,算法的内存需求绝大部分是矩阵方程所占用的内存,如何降低这部分内存需求,将是减少整个算法内存需求的关键。对于多层快速多极子这样的迭代算法,其内存的需求主要包括三部分:近区阻抗矩阵元素,转移矩阵和预条件矩阵。近区阻抗矩阵元素的内存需求是跟MLFMM算法所确定的最细层盒子尺寸决定的,FEKO中,如果想通过调整该盒子尺寸来减少内存,可通过FM卡手动设置其尺寸,不过一般不推荐这样做,FEKO默认尺寸为0.23个波长,缩小尺寸将导致多极子模式数增大,从而导致计算复杂度增大。

预条件矩阵是整个迭代过程占用内存最多的部分,为了减少此部分内存,可通过CG卡调节预条件的种类或者改变其参数。对于MLFMM,FEKO提供了2种预条件技术,不完全LU分解预条件和稀疏近似逆预条件。FEKO默认采用完全LU分解,填充级别为12,为了减少内存,可将ILU预条件的填充级别改为低于12的值,值越低,预条件占用内存越少,但预条件效果越差。稀疏近似逆占用内存较ILU少很多,当然效果也要差一些。目前,只有稀疏近似逆支持MLFMM的并行。

另外,值得一提的是MLFMM计算过程中,EG卡中默认选择的单精度选项,数据采用单精度存储,将减少一半的内存需求,对于一般情况,单精度已足够满足计算的精度要求。



评论


相关推荐

技术专区

关闭