- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
FEKO计算中减少内存的方法
用FEKO软件进行电磁仿真时,由于电磁仿真对计算资源的强烈需求,计算资源尤其是内存的大小极大的成为决定求解问题规模的约束条件。为了在已有的硬件计算条件下,解决尽量大的电磁问题,FEKO提供了一些减少内存的途径,主要可分为二个层面,其一是算法层面的节约内存,其二是技巧层面的节约内存。
算法
从算法上面来讲,FEKO提供的有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卡中默认选择的单精度选项,数据采用单精度存储,将减少一半的内存需求,对于一般情况,单精度已足够满足计算的精度要求。
如何成为一名优秀的射频工程师,敬请关注: 射频工程师养成培训
上一篇:降低肖特基PIN限幅器损耗设计
下一篇:EMI 辐射信号强度解析