DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1825|回复: 0
打印 上一主题 下一主题

[待整理] FEKO计算中减少内存的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-11 17:41:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用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卡中默认选择的单精度选项,数据采用单精度存储,将减少一半的内存需求,对于一般情况,单精度已足够满足计算的精度要求。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-22 19:12 , 耗时 0.083787 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表