1. 简介

目前商业化的PCB仿真软件主要有: Cadence公司的Sigrity、Ansys公司的SIwave/HFSS、CST公司的CST、Mentor公司的HyperLynx、Polor公司的Si9000等。不同的仿真软件所使用的电磁场求解器各不一样,但是可以大致分为几类:

  • 按仿真维度分: 2D、2.5D、3D
  • 按逼近类型分: 静态、准静态、TEM波、全波

下表中列出了各种电磁场求解器的特点以及适用的结构和场合。

维度

逼近类型

适合结构

应用场合

特点

2D

准静态

横截面在长度方向无变化

传输线的RLGC低频建模

不适应任意结构,高频精度低

2D

全波

横截面在长度方向无变化

传输线的RLGC全频建模

不适应任意结构

2.5D

TEM波

多层平面结构

电源地平面结构低频建模

当结构是3D时,带有寄生效应;当缺少参考面时,高频段结果不准

2.5D

全波、边界元法、矩量法

叠层结构

某些片上无源,PCB

对于边缘效应,3D金属和介质精确建模存在计算时间长,消耗内存大等问题

3D

准静态

低频

连接器和封装的低频建模

高频误差大,趋肤效应误差大

3D

全波

理论上适合任意结构,只要计算机计算能力足够

芯片、封装、电路板、射频微波器件、天线

计算时间长,消耗内存大,一般建议16G内存以上

2. 按维度分类场求解器

  • 2D求解器

2D 求解器是最简单和效率最高的,只适合简单应用。例如,2D静态求解器可以提取片上互连线横截面的电容参数。2D准静态求解器可以提取均匀多导体传输线横截 面上单位长度低频RLGC参数。2D全波求解器可以提取均匀多导体传输线横截面上的全频RLGC参数。典型的2D全波计算方法有:2D边界元法、2D有限差分法、2D有限元法。

  • 2.5D求解器

2.5D 的概念是20世纪80年代Rautio在美国雪城大学攻读博士期间提出的,当时他在Roger教授手下做GE电子实验室支助下做平面MOM算法的研究。在 那个年代,人们只有2D电流(XY方向)和3D电磁场的概念。GE电子实验室的人比较关注电流,称其为2D,而Roger教授关注是电磁场,并称之为3D 的。Rautio和这两个团队都有合作,当时,他正在读一本关于分形理论的书,书里清晰定义了分维度的概念,于是,Rautio得到启发,提出2.5D的 概念,这也是分形维度理论第一次被用到电磁场领域。

“2.5D solver”的意思是,这个solver使用的是全波公式,公式中包含多层介质中的6个电磁场分量(XYZ方向电场E和XYZ方磁场H),以及2个传导 电流分量(如X和Y方向)。其利用多层介质的全波格林函数,采用矩量法的步骤,将一个3D问题缩减为金属表面问题。这样就不需要对整个三维空间划分网格, 只需要在金属表面划分网格即可。此外,2.5D意味着传输线的金属厚度被忽略,这种做法对线宽大于金属厚度的平面电路结构(PCB应用)可以很好地近似, 甚至可以说半解格林函数的精度在计算多层介质结构方面比一般3D solver还要高。

考虑了金属厚度并包含Z方向传导电流的2.5D solver称作为3D平面算法。这里的3D的意思是这个solver可以用作多层介质的公司来求解一些3D结构,比如传输线或者过孔。但是 Bondwire是不可以用这种方法来做的,全波意味着辐射被考虑在公式里面,或者说,置换电流分量被考虑在Maxwell方程组里面。

2.5D TEM求解器适合用于结构中以TEM模式为主的情况,即在电磁场传播方向没有电场和磁场分量,工作频率比较低的电源平面对结构符合这一情况。但是,3D效应,共平面设置或缺少参考平面的设计都会降低这种方法的精度。

2.5D BEM/MOM 求解器是一种全波求解器,它基于边界元法或矩量法公式,利用层状介质格林函数来求解,通常假设介质层数无穷大的平面。但是,对于封装和封装-电路板连接处 存在的3D边缘效应,3D几何结构和有限大介质层精度不高。代表软件Ansys Designer,MicroWave Office,IE3D,  Feko,Sonnet。

  • 3D求解器

3D准静态求解器适合芯片-封装-电路板系统中出现大多数3D结构,但对低频有效,高频结果误差较大,如果结构较大,计算时间会很长,消耗内存也比较大。

3D 全波求解器是最能准确模型实际情况的求解器。它可以模拟RF、SI、PI、EMI等所涵盖的所有效应,典型的3D全波求解器有:边界元法 (Si9000)、有限差分法(CST、Keysight EMpro/FDTD)和有限元法(Ansys HFSS、Keysight Empro/ FEM)。

维度

适用范围

举例

局限性

2D

求解在XYZ方向有变化的几何结构

无限长传输线横截面

不能求解Z方向过孔

2.5D

可以解决在3个维度都有变化的结构,但其中一个维度严格限制

多层介质结构,PCB

可求解过孔,但Z方向不能有几何结构变化

3D

可以解决在3个维度任意变化结构

任意结构,比如微波射频器件,Bondwire

耗内存和时间,模型太大或设置不当会造成不收敛

3. 按逼近类型分类场求解器

  • 准静态电磁算法

它需要三维结构模型。所谓“准静”就是指系统一定支持静电场和稳恒电流存在,表现为静电场和静磁场的场型,更精确地讲,磁通变化率或位移电流很小,故在麦克 斯韦方程组中分别可以忽略B和D对时间的偏导项,对应的麦克斯韦方程分别被称之为准静电和准静磁。由此推导出的算法就被称之为准静电算法和准静磁算法。这类算法主要用于工频或低频电力系统或电机设备中的EMC仿真。如:变流器母线与机柜间分布参数的提取便可采用准静电磁算法完成。对于高压绝缘装置显然可采 用准静电近似,而大电流设备,如变流器、电机、变压器等,采用准静磁算法是较可取的。

  • 全波电磁算法

简单地讲就是求解麦克斯韦方程完整形式的算法。全波算法又分时域和频域算法

有限差分法(FD)、有限积分法(FI)、传输线矩阵法(TLM)、有限元法 (FEM)、边界元法(BEM)、矩量法(MoM)和多层快速多极子法(MLFMM)均属于全波算法。所有的全波算法均需要对仿真区域进行体网格或面网格分割。前三种方法(FD、FI和TLM法)主要是时域显式算法,且稀疏矩阵,仿真时间与内存均正比于网格数一次方;后四种方法(FEM、BEM、MoM和 MLFMM)均为频域隐式算法。FEM也为稀疏矩阵,仿真时间和内存正比于网格数的平方;而BEM和MoM由于是密集矩阵,所以时间与内存正比是网格数的 三次方。FD、FI、TLM和FEM适用于任意结构任意介质,BEM和MoM适用于任意结构但须均匀非旋介质分布,而MLFMM则主要适用于金属凸结构, 尽管MLFMM具有超线性的网格收敛性,即大家熟知的NlogN计算量。

全波算法又称低频或精确算法,它是求解电磁兼容问题的精确方法。对 于给定的计算机硬件资源,此类方法所能仿真的电尺寸有其上限。一般来说,在没有任何限制条件下,即任意结构任意材料下,TLM和FI能够仿真的电尺寸最 大,其次是FD,再者为FEM,最后是MoM和BEM。若对于金属凸结构而言,MLFMM则是能够仿真电尺寸最大的全波算法。

时域算法的固有优势在于它非常适用于超宽带仿真。电磁兼容本身就是一个超宽带问题,如国军标GJB151A RE102涉及频段为10kHz直至40GHz六个量级的极宽频带。另外,对于瞬态电磁效应的仿真,如强电磁脉冲照射下线缆线束上所感应起来的瞬态冲击电 压的仿真,采用时域算法是自然、高效、准确的。

4. 电磁场求解器算法

电磁模型提取的方式有许多的理论,尚未有哪一种理论的准确度与效率拥有绝对的优势,不同的算法有不同的优点,并且适用于不同的应用。

  • 矩量法(MoM)

MoM是频域的一种算法,算法的特性让MoM适用于分析多层平面结构的问题,如印制电路板PCB的走线分析、系统级封装(SiP)和集成电路的封装分析。

在众多的电磁模拟理论中,MoM是其中一种比较不容易用程序实现的一种算法。因为这种算法必须很有技巧地解决格林函数(Green’s Functions)和电磁耦合的积分方程。麦克斯韦方程会转换成积分方程,此种转换的特性就是,MoM主要的未知项是金属表面的电流分布,而其他电磁模拟算法的主要的未知项是结构体中的电场和磁场。

由于只有金属表面的电六分部是必须要被考虑到网格中,因此网格数目可以大量降低,这项技巧让MoM可以更加有效率地计算复杂的结构,但也被限制于只能分析多层平面的问题(3D Planer),遇到3D立体结构就不适用。

随着电子产品复杂度的提升,电磁模拟碰到的运算时间过久而无法解决复杂度很高的问题。完成电磁仿真需要做大量的矩阵运算,针对MoM而言,主要的瓶颈在于如何计算和存储大量的耦合矩阵。一个有N个未知项的网络,在内存中就需要花费N2比例的空间,同时运算时间会成N3(如果使用Direct Solver)或N2(如果使用Iterative Solver)的比例增加。

下图为ADS软件随着版本更新,改进软件算法来优化仿真速度和内存使用率的参考值。

  • 有限元法(FEM)

相对于MoM,FEM算法的应用范围就广泛得多,因为FEM是全3D的算法,可以针对任意形状的结构分析,如封装结构种的Bond-wire、Solder-balls或是其他Z轴方向是任意形态的结构。FEM仿真器还可以仿真介质块或有限尺寸的基片。许多应用(例如谐振腔设计)需要此功能。FEM也是一种频域技术。但是FEM通常仿真时间比MoM长,尤其是在多层平面结构的部分。

下图显示的有Bond-wire的封装结构,就适合采用FEM分析,而不能用MoM分析。

FEM算法会把一个大的结构分成许许多多的小的区域,并采用立体的网络方式来计算每个小区域的场强。几何模型可以自动分割为数目庞大的四面体,每个四面体由4个三角形构成。这些四面体称为有限元网格。三角锥的顶端正切与三个边的场量,和每个边的中心点的场量都会被存储下来。而每个三角锥内部的场型就可以通过内插方式来计算。通过这样把大结构转换成小结构的方式,麦克斯韦方程就可以转成矩阵的问题,并通过数学计算提取出任意形状的S参数。下图所示为立体结构的网格示意图。

FEM判断收敛的方法通常是通过前后两次运算结果对比,如果误差范围小于一定规范,就可以判断是接近于收敛。如果误差还是过大,将会重新定义网格让网格密度提高以增强收敛性。但在立体结构种,有些区域如结构表面、角落、材质交界面,会有收敛不佳的情况,导致FEM算法会消耗掉大量的内存与计算时间。所以近年来借助多核心的运算外,改进结构的收敛性与矩阵求解效率也是很重要的议题。

  • 时域有限差分法(FDTD)

FDTD也是一种全波形式的电磁模拟算法,可用于分析任意3D的结构,直接以时域的方式针对麦克斯韦方程式来求解,而矩阵中的未知项就像FEM一样,是立体结构空间中的电场与磁场。然而,FEM的网络是三角锥形态,FDTD的网格通常是以正立方体(Yee) 的方式来表示。运用时域实时运算的程序,在电磁波穿过三维结构的过程中,FDTD方法可以随时间的推移更新场强值,实时地更新立体空间中的电场与磁场值,所以不像FEM必须完成所有收敛和后处理运算才能得出S参数。FDTD可以随时更新目前运算出来的S参数值。FDTD仿真可以提供极宽频率范围内的数据。

由于其简单、可靠的特性以及可以处理线性与非线性材料和器件的能力,FDTD 可用于众多应用研究: 天线设计、微波电路、生物/电磁效应、EMC/EMI问题和光电等。FDTD属于固有的并行算法,能够充分利用最新的CPU(通用处理器)和GPU(图形处理器)硬件资源。现在复杂的工程仿真问题速度可以比传统的CPU快20~40倍。

  • 边界元法(BEM)

边界元法是在有限元法之后发展起来的一种较精确有效的方法 。 又称边界积分方程-边界元法。它以定义在边界上的边界积分方程为控制方程,通过对边界分元插值离散,化为代数方程组求解。它与基于偏微分方程的区域解法相比,由于降低了问题的维数,而显著降低了自由度数,边界的离散也比区域的离散方便得多,可用较简单的单元准确地模拟边界形状,最终得到阶数较低的线性代数方程组。又由于它利用微分算子的解析的基本解作为边界积分方程的核函数 ,而具有解析与数值相结合的特点,通常具有较高的精度。特别是对于边界变量变化梯度较大的问题 ,如应力集中问题 ,或边界变量出现奇异性的裂纹问题,边界元法被公认为比有限元法更加精确高效。由于边界元法所利用的微分算子基本解能自动满足无限远处的条件,因而边界元法特别便于处理无限域以及半无限域问题。边界元法的主要缺点是它的应用范围以存在相应微分算子的基本解为前提,对于非均匀介质等问题难以应用,故其适用范围远不如有限元法广泛,而且通常由它建立的求解代数方程组的系数阵是非对称满阵,对解题规模产生较大限制。对一般的非线性问题,由于在方程中会出现域内积分项,从而部分抵消了边界元法只要离散边界的优点。

参考资料:

PCB仿真软件与电磁场求解器的算法的更多相关文章

  1. 线性二次型调节器LQR/LQC算法解析及求解器代码(matlab)

    参考链接:http://120.52.51.14/stanford.edu/class/ee363/lectures/dlqr.pdf 本文参考讲义中的第20页PPT,根据Hamilton-Jacob ...

  2. TRAC-IK机器人运动学求解器

    TRAC-IK和Orocos KDL类似,也是一种基于数值解的机器人运动学求解器,但是在算法层面上进行了很多改进(Specifically, KDL’s convergence algorithms ...

  3. QuantLib 金融计算——数学工具之求解器

    目录 QuantLib 金融计算--数学工具之求解器 概述 调用方式 非 Newton 算法(不需要导数) Newton 算法(需要导数) 如果未做特别说明,文中的程序都是 Python3 代码. Q ...

  4. pimpleFoam求解器 vs simpleFoam求解器 vs pisoFoam求解器 vs icoFoam

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-solving/68072-pimplefoam-vs-simplefoam ...

  5. C#简易一元二次求解器

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  6. Linux IO调度器相关算法介绍(转)

    IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法.存在的目的有两个,一是提高IO吞吐量,二是降低IO响应时间.然而IO吞吐量和IO响应时间往往是矛盾的,为了尽量平 ...

  7. 编程之美之数独求解器的C++实现方法

    编程之美的第一章的第15节.讲的是构造数独.一開始拿到这个问题的确没有思路, 只是看了书中的介绍之后, 发现原来这个的求解思路和N皇后问题是一致的. 可是不知道为啥,反正一開始确实没有想到这个回溯法. ...

  8. Maxwell顺态求解器电磁力分析

    文源:技术邻 问题描述:求解一段通有正弦交流电的直导线在某一稳态磁场中的受力情况,并简单验证仿真结果. 模型介绍: 如上几何模型中10mm边长立方体代表永磁体,材料属性为材料库中的NdFe35,修改磁 ...

  9. 经典数独游戏+数独求解器—纯C语言实现

    "心常乐数独小游戏"(下面简称"本软件")是一款windows平台下的数独游戏软件. 本软件是开源.免费软件. 本软件使用纯C语言编写,MinGW编译,NSIS ...

随机推荐

  1. php 常见递归实例

    //计算数组{1,1,2,3,5,8.......} 第n位值 function Process1($i){ if ($i == 0) return 0; if ($i == 1) return 1; ...

  2. windwos-sshfs

    从 http://www.jianshu.com/p/d79901794e3d 转载 目的 最近因为需要在linux虚拟机里进行开发程序,虽然在linux里有超强的编辑器vim,但vim开发html前 ...

  3. CodeForces - 893C-Rumor(并查集变式)

    Vova promised himself that he would never play computer games... But recently Firestorm - a well-kno ...

  4. 六度分离 (folyd算法)

    1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为"小世界现象(small world phenomenon)"的著名假说,大意是说,任何2个素不相识的人中间最多只隔着 ...

  5. poj2823滑动窗口(单调队列)

    题目传送门 题意:给你一个长度为n的数列,然后用一个长度为k的窗口去框(k<n)每次保存k这个窗口中的最大值和最小值,输出. 思路:这道题最朴素的on2的做法铁定超时,然后我想过一个nlogn的 ...

  6. ORA-14517: Subpartition of index "string.string" is in unusable state

    今天碰到个ORA-03113, 原因不明. 猜测因为某些table DDL操作过后导致index unuable的case, 然后进行analyze table, 再碰到ORA-14517.  最后通 ...

  7. 设置Linux shell超时自动退出

    Linux shell,一般默认情况下是不会超时退出的,但是有的时候我们想要让它在多少分钟后没有操作自动退出终端(听起来有点像windows多少分钟后自动锁屏一样).我们可以通过设置来实现这一功能. ...

  8. mybatis CDATA引起的查询失败

    <![CDATA[ ]]> 在被CDATA包围的所有字符串不会被mybatis解析, 直接写入sql了 CDATA应该只用在特殊字符前后,不能用在<if> <foreac ...

  9. 转 [Error]EOL while scanning string literal

    https://blog.csdn.net/orangleliu/article/details/38943749 项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了 ...

  10. vue 状态管理vuex(九)

    通过props 及 $emit在父子组件通讯,对应频繁更新状态考虑使用vuex store.js export default { // 存储状态值 state: { count: 0 }, // 状 ...