1、电磁仿真算法相关介绍,Mark Ke 2012.1.13,电磁波家族,长波:超远程通信;,中波、短波:电报、无线电广播;,微波:电视、宇航通信。,为什么需要电磁仿真?,目的:用电脑模拟电磁波传播以及作用过程。,简单说就是:傻瓜化,省钱,还健康!,电磁仿真的应用领域,军事领域,日常接触的,另外还有生物电磁,通讯等很多很多领域。,大到一座山做的天线,小到几厘米的天线,都会需要用到电磁仿真!,上面说的是一些应用领域,举手机为例:,看似简单的一个手机,用到电磁仿真的内容却很多。,天线:包括主天线,蓝牙天线,GPS天线,无线充电,Wi-Fi天线(处理不好信号差,辐射强),电磁兼容(处理不好很容易死机,这
2、也是为什么山寨厂商以及新的手机厂商的产品频繁死机的缘故之一),手机天线在哪里?,辐射,手机的兴起是在上世纪九十年代,而电磁辐射的损害必然不是一个短期就会有非强显著表征的问题。所以,说“手机辐射伤害很大或者很小”都是缺乏直接证据的。但是,经验上来说,这个问题是无需恐慌的,只是需要适当注意。,简单列几条辐射强弱的一些分析,附:无需太过担心手机辐射,毕竟生活中的电磁波太多了。想健康,多锻炼!O(_)O,电磁仿真在手机中的作用:,测试辐射需要一个开放环境,为了模拟开放环境,测试基本在暗室环境下进行。,仿真可以直接节省一大笔暗室建设费用。,SAR 仿真,既然电磁仿真如此重要,那么,计算机是如何仿真的呢?
3、,主流仿真算法及软件 FDTD (FIT) : CST , FDTDsolution , XFDTD , EastFDTDFEM : HFSS ,FEKOMOM: FEKO,糅合,算法的核心,Reference :计算电磁学的数值方法 吕英华,The field propagation equation: Integral representation : Maxwell curl equation Differential representation : Green function,首先大致介绍下电磁仿真领域主流的三款软件核心特色算法的工作原理:,三款软件各自的优势:,三款软件各自的限制
4、:,MOM(FMM),FEKO 在小结构的主要算法是FEM以及MOM(FMM)。其中FEM做得并不如HFSS,主要还是MOM(FMM)有较大的特色以及用处。,一些重要的事迹!,原理:,很多电磁场问题的分析都归结为这样一个算子方程: L(f) =g (1) 其中:L是线性算子,f是未知的场或其他响应,g是已知的源或激励。,在通常的情况下,这个方程是矢量方程(二维或三维的)。如果f能有方程解出,则是一个精确的解析解,大多数情况下,不能得到f的解析形式,只能通过取有限阶数通过数值方法进行预估。,令f在的定义域内被展开为某基函数(正交完备)f1,f2,f3,fn的线性组合:,其中:,是展开系数。,是基
5、函数。,(2),将(2)代入(1),可得:,(3),选一组权函数w1,w2,w3,并分别与(3)做内积,对矩阵求解即可求得,再由公式(2)即可求得f!,常见的基权函数有脉冲基点匹配法、共型屋脊基函数线匹配法、RWG基函数伽略金法。,一句话帮助理解:矩量法就是一种将算子方程转化为矩阵方程的一种离散方法。,理清一下思路,主要就是下面四步:,是不是看上去很简单?实际计算还是比较头疼的,但是原理就是这么简单的。,MOM的核心:在于基函数以及权函数的选取,另外,FMM(快速多极子展开)以及MLFMA(多层快速多极子展开)均是在MOM的基础上进行改进的算法。,优化是实用的王道! 精度和速度之间应该找一个平
6、衡点!,原理中可以得到什么信息?,MOM的精度很好,外加它的模式分布特性,使得它在实际工程的指导作用很大!,FEM,HFSS的核心算法就是FEM(finite element method),这个领域它已经算是做得最好的了。只是受限于有限元的算法,应用领域还是略有限制。,一些重要的事迹!,原理:,(1)将一个表示结构或连续体的求解域离散为若干个子域(单元),并通过他们边界上的节点相互联结为一个组合体。(2)用每个单元内所假设的近似函数来分片表示全求解域内待求解的未知变量,而每个单元内的近似函数由未知场函数(或其导数)在单元各个节点上的数值和与其对应的插值函数来表示。由于在联结相邻单元的节点上,
7、场函数具有相同的数值,则将它们作为数值求解的基本未知量。因此,求解原待求场函数的无穷多自由度问题转换为求解场函数节点值的有限自由度问题,左边的图分别是划分的网格子单元类型以及一些实际划分网格的示例。,一句话帮助理解:FEM是将结构切割成小块积木,每个积木都有基于插值函数的一个函数表示,然后通过边值条件求出各自的函数表示,以此计算每一处的场值。,理清一下思路,主要就是下面五步:,是不是看上去很简单?实际计算还是比较头疼的,但是原理就是这么简单的。,FEM的核心(个人意见):矩阵是稀疏矩阵,优化很重要!这个可以极大提高计算效率!HFSS最新的版本计算速度明显有很大优化,应该就是在这个上面有新的突破
8、!,原理中可以得到什么信息?,同样可以看出,FEM和MOM一样,均需要解矩阵,那么直接导致了内存需求以及计算代价的增长与网格数的增长不是线性关系。大尺寸问题会很困难。,FDTD,FDTD应该算是一个老牌算法了,诞生于1966年,由K.S.Yee首先提出了Yee元胞以此来离散了空间连续的Maxwell方程组,并模拟计算了电磁场随着时间在空间中的传播的真实过程。,一些重要的事迹!,原理:,FDTD算法和FEM,MOM最大的区别在于,它是时域算法,是直接模拟电磁波在现实中随时间的传播的一种算法! 这个必然会导致它有很多特殊的优缺点!,它主要的思路是:将Maxwell积分(微分)方程在空间离散化。即将
9、E,H在空间上错位离散分布,然后通过时间上的依次迭代,模拟出空间中电场和磁场随时间的演化过程。理解的核心是: Yee元胞 毫不夸张的说,理解了Yee元胞,基本就理解了FDTD。离散的方式则是利用用差分代替偏导! 例如:,令代表E或H在直角坐标系中的某一分量,在时间和空间域中的离散取以下符号表示:,对关于时间和空间的一阶偏导数取中心差分近似,即,用差分代替偏导:,是不是感觉这个离散化很简单?其实Yee元胞的经典之处在于它是把电场磁场在空间分开离散化。天马行空的想法!,一句话帮助理解:FDTD就是将电磁场按照空间离散化在错开半个网格的位置,然后以dt作为间隔,利用Maxwell方程依次迭代,模拟出
10、电磁波的实时传播过程。,理清一下思路,主要就是下面五步:,是不是看懂了YEE元胞就会觉得很简单?它的难点不在原理以及求解,而在于优化处理。精度受优化影响很大!,FDTD核心:核心在于数值色散的控制以及各种特殊网格的优化处理。宽频占优!大尺寸占优!计算速度优化较少。,原理中可以得到什么信息?,其它相关的算法:,常见寻优算法:,目的: 在不计其数的可能性中,寻找出最合适的解!限制: 各种算法寻找最优解时全局性以及快速收敛很难同时兼顾,需要找一个平衡点,或者用多种算法来糅合求解!,遗传算法的产生,50,60年代Holland 提出遗传算法,60年代中期 Holland的学生J.D.Bagley 提出
11、“遗传算法” 一词,70年代 Holland模式定理 Adaptation in Natural and Artificial Systems发表,Holland的学生De Jong 将遗传算法用于最优化问题 Grefenstette 开发了第一个遗传算法软件,遗传算法流程图,优点:全局性好(由变异和杂交保证);缺点:收敛性相对差。,碰到过的一个需要注意的问题是:随机数如果不好的话,寻优效果会受影响!,重点在于“选择”!,遗传算法:,遗传算法的基本运算过程如下:1)初始化:生成初始种群P(t=0)2)个体评价:计算群体P(t=0)中各个个体的适应度(可以理解为测“智商”。此处相当重要!)3)杂
12、交:让每个存活个体进行“基因互换”。4)变异:对新的个体的部分基因进行变异,使得允许产生新的组合。(此时随机数很重要)5)选择:将“智商”低下的一部分个体淘汰掉(此处可以有很多微调)。群体P(t=0)经过淘汰、交配、变异之后得到下一代群体P(t =1),种群数目可以有改动。6)继续从第二步开始循环。7)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算(也可以选定当整体智商达到一定水平或者是最高智商超过某个水平时停止)。,优点:全局性好;缺点:收敛性相对差。,一句话帮助理解:纯仿生学算法。想想中学的生物课,对应着梳理。,碰到过的一个问题是:随机数如果不好的
13、话,寻优效果会受影响!,遗传算法的循环过程,遗传算法的应用领域,个人认为,只要能够有好的“评价函数”,择优问题多可以用遗传算法尝试!,遗传算法的应用领域,遗传算法的应用领域,遗传算法的应用领域,遗传算法的应用领域,遗传算法的应用领域,遗传算法的应用领域,下山单纯形( Nelder-Mead 单纯形),一句话帮助理解:下山单纯形就是用一个多维度的可变图形来在定义域上不断地扩张收缩,以此来找到最优值。,优点:收敛快速缺点:全局性差。,算法大致流程: 1)首先在定义域内取三个点,按照结果好坏依次记为B,N,W。 2)扩张:取点E=P+0.5(B-W),然后评估E:如果E好于W,则用EBN构成新的点继
14、续扩张;如果E差于W,则改为收缩; 3)收缩:E=B-0.5(B-W),然后评估E:如果E好于W,则用EBN构成新的点继续扩张;如果E差于W,则改为收缩; 多次扩张收缩,就可以找到最优值。,此处的单纯形的缺点是步长固定,所以效率低下,可以将每一步的扩张和收缩改进为动态的,比如说,如果第一次扩张成功,那么可以跨一大步,如果失败,则跨一小步。优化的具体方式很多,这都可以提高效率!,无约束条件下的单纯形,做过一个案例:需要用四个Lorentz-coupling型来描述一些材料的数值色散,共有28个变量变量,而定义域都是从0-,所以必须用寻优算法来处理。,算法最有意思的地方就是,基本原理大家都一样,但
15、是每个人做出来的东西可能会有较大差别,细节的优化可以有很大的区别的哦!,上图是结合了遗传算法和单纯形一起寻优;先用利用遗传算法的全局性找出最优解的一个区间范围,然后用单纯形加速收敛,一些理论数据与通过遗传算法和单纯形结合寻优来找到的最优解的对比:,不管多“奇怪”的数据,吻合度都很不错,也就是说寻优结果是很成功的!,评价函数对结果至关重要!,时间序列分析:,原理: 事件的发展通常都具有一定的惯性,这种惯性用统 计的语言来描述就是序列值之间存在着一定的相关 关系,这种相关关系通常具有某种统计规律。,这个处理本应要考虑很多,比方说数据的稳定性判定等。我主要是自学,所以做得比较粗糙,感兴趣的朋友做的话
16、应该要小心细化处理。,步骤如下: 1)首先选定时间序列的自相关的阶数P; 2)接着计算时间序列的自相关函数,即每个时间点的值与前面的1-P个时间段的信号各自的相关程度。 3)将已知信号按照相关性叠加起来,得到已知数据外的下一个值,然后依次递推下去。,附上此处自相关函数的定义(不同领域定义不同):,利用时间序列分析做的一个案例:,将一个时域信号延伸,预告出后面的演化情况,以此可以看到更细的频率成分。 红色曲线是原本的信号,时间序列分析可以使得我们近似猜出来这个波形后面可能会如何演化。,附言: 前文中出现了很多算法的缩写,故而再此处将各个缩写都注释下.,MOM: Method of Moment
17、矩量法 FMM: Fast Multipole Method 快速多极子展开 MLFMA: Multi-level Fast Multipole Algorithm 多层快速多极子展开 FEM: Finite Element Method 有限元 FDTD: finite-different time-domain 时域有限差分 PO: physical optics 物理光学 GO: geometrical optics 几何光学 PTD: Physical Theory of diffraction 物理绕射理论 GTD: Geometrical Theory Of Diffraction 几何绕射理论,Thank you!,本人联系邮箱是: cq_ 对电磁仿真或者是寻优算法感兴趣的朋友可以多交流!多指教!,若有贻误之处,请指正!,