1+1=10

记记笔记,放松一下...

电磁场数值计算小记

先列一些流水账,熟悉一下术语

电磁场数值计算的核心是通过计算机求解麦克斯韦方程组。麦克斯韦方程组是描述电场和磁场相互作用的基本方程,但对于复杂的边界条件和介质分布,解析求解十分困难。这时,需要通过数值方法将这些偏微分方程离散化,并利用计算机进行求解。

通过数值方法和计算机仿真来求解电磁场问题的学科,还有个专门名字——计算电磁学(Computational Electromagnetics, CEM)。

术语

  • FDM: Finite Difference Method(有限差分法)
  • FDTD: Finite Difference Time Domain(有限差分时域法)
  • FEM: Finite Element Method(有限元法)
  • MoM: Method of Moments(矩量法)
  • BEM: Boundary Element Method(边界元法)
  • GO: Geometrical Optics(几何光学)
  • PO: Physical Optics(物理光学)
  • GTD: Geometrical Theory of Diffraction(几何绕射理论)
  • UTD: Uniform Theory of Diffraction(均匀绕射理论)
  • PTD: Physical Theory of Diffraction(物理绕射理论)
  • MLFMA: Multilevel Fast Multipole Algorithm(多层快速多极子算法)
  • FFT: Fast Fourier Transform(快速傅里叶变换)
  • ACA: Adaptive Cross Approximation(自适应交叉逼近)
  • MLMDA: Multilevel Matrix Decomposition Algorithm(多层矩阵分解算法)
  • RCS:Radar Cross-Section (雷达散射截面)
  • IE:Integral Equation (积分方程)
  • DE:Differential Equation(微分方程)
  • TDDE: Time Domain Differential Equation(时域微分方程)
  • TDIE: Time Domain Integral Equation(时域积分方程)
  • FDIE: Frequency Domain Integral Equation(频域积分方程)
  • FDDE: Frequency Domain Differential Equation(频域微分方程)

CEM发展历史

graph LR A[CEM发展阶段] A --> B1[阶段1: 解析法] B1 --> B2[Mie Series] A --> C1[阶段2: 近似法] C1 --> C2[几何光学] C2 --> C3[GO] C2 --> C4[GTD] C2 --> C5[UTD] C1 --> D2[物理光学] D2 --> D3[PO] D2 --> D4[PTD] A --> E1[阶段3: 数值方法] E1 --> E2[FDTD] E1 --> E3[FEM] E1 --> E4[MOM IE] A --> F1[阶段4: 快速方法 IE] F1 --> F2[迭代求解技术] F2 --> F3[MLFMA] F2 --> F4[FFT] F2 --> F5[ACA] F1 --> G2[直接求解技术] G2 --> G3[Hierarchical Matrix Methods] G2 --> G4[MLMDA]

随着计算技术和电磁理论的进步,CEM经历了不同的阶段

1. 解析法阶段(20世纪中期之前)

在计算机技术尚未发展之前,电磁问题的求解主要依赖于解析方法,通过严格的数学推导来解决麦克斯韦方程。解析法能够提供封闭形式的解决方案,但仅适用于较为简单的几何结构和理想化的边界条件,并需要依托高超的数学技能。

  • Mie级数:用于解决电磁波在球形对象上的散射问题。
  • 其他经典解析方法:如分离变量法、傅里叶级数解等。

局限:解析法只能处理简单的几何结构和边界条件,对于复杂的三维结构和非均匀介质问题,无法提供有效的解。

2. 近似法阶段(20世纪60年代到80年代)

随着计算机的出现,解析法的局限性逐渐显现。为了应对更复杂的电磁问题,开始发展近似法。这些方法在一定的假设条件下对问题进行简化,以减少计算复杂度。近似法通常应用于高频电磁波的传播和散射问题。

  • 几何光学(GO):将电磁波近似为光线,波的传播问题可以采用射线追踪(Ray-Tracing)分析,适用于波长远小于物体尺寸的情况。忽略了波动的干涉和衍射效应,主要用于反射和折射问题。
  • 物理光学(PO):在几何光学的基础上增加了对衍射效应的考虑,适用于大尺寸物体上的散射问题。
  • 几何绕射理论(GTD):扩展了几何光学,能够处理电磁波沿物体边缘的绕射。
  • 均匀绕射理论(UTD):是 GTD 的改进,能够更准确地处理绕射问题。

应用与局限:这些方法特别适合处理大尺度物体的电磁波传播和散射问题,广泛应用于雷达散射、天线设计等领域。但它们的精度依赖于特定条件,无法处理所有的电磁场问题。

3. 数值方法阶段(20世纪80年代至今)

随着计算机性能的增强,数值方法成为解决复杂电磁问题的主要手段。数值方法通过将麦克斯韦方程组离散化为代数方程,从而能够处理复杂几何结构、异质介质以及复杂边界条件下的电磁问题。

  • 有限差分时域法(FDTD):基于时域求解,适合模拟电磁波的时域传播过程。它简单易实现,广泛用于天线设计、微波电路、雷达散射等领域。
  • 有限元法(FEM):通过将计算区域划分为多个有限单元,解决复杂几何和非均匀介质问题。FEM 被广泛应用于波导、天线、雷达散射等领域,尤其适合处理复杂边界条件。
  • 矩量法(MoM):基于积分方程,主要用于开放空间中的电磁波问题,如天线和电磁散射。它适合处理自由空间中的问题,但对计算资源要求较大。

应用:数值方法能够处理复杂几何、异质材料和复杂边界条件,是现代工程中电磁仿真的核心技术。随着计算机的进步,数值方法可以应用于越来越复杂的系统。

4. 快速求解技术阶段(21世纪至今)

随着电磁问题的复杂性和规模不断增加,传统的数值方法在计算时间和内存占用方面面临挑战。为了解决这些问题,快速求解技术应运而生。这些技术通过优化算法、数据压缩和并行计算,大幅提高了大规模问题的求解效率。

  • 迭代求解技术
    • 多层快速多极子方法(MLFMA):通过分层多极展开和分组处理,减少大规模电磁散射问题的计算复杂度,特别适合处理大尺度的问题。
    • 快速傅里叶变换(FFT):用于加速卷积运算,减少矩阵求解的运算时间。
    • 自适应交叉逼近(ACA):一种矩阵压缩技术,能够有效减少存储需求和计算时间,特别适用于多尺度问题。
  • 直接求解技术
    • 分层矩阵方法(Hierarchical Matrix Methods):通过对矩阵进行分层压缩,能够减少大型系统的计算和存储需求。
    • 多层多尺度分析(MLMDA):能够处理同时包含大尺度和小尺度特征的电磁问题,特别适合复杂结构的仿真。

这些快速求解技术使得大规模和复杂电磁问题的仿真成为可能,特别是在天线阵列、雷达散射和复杂电磁环境的应用中。

不同视角比较

方法 时域/频域 实空间/傅里叶空间 积分/微分 网格类型
FDM 频域/时域 实空间 微分 结构化网格
FDTD 时域 实空间 微分 结构化网格
FEM 频域/时域 实空间 微分 非结构化网格
MoM 频域 实空间 积分 表面网格
BEM 频域 实空间 积分 表面网格
GO 频域 实空间 近似方法 无需网格
PO 频域 实空间 近似方法 无需网格
GTD 频域 实空间 近似方法 无需网格
UTD 频域 实空间 近似方法 无需网格
PTD 频域 实空间 近似方法 无需网格
MLFMA 频域 实空间 积分 表面网格
FFT 频域 傅里叶空间 数值变换方法 无需网格
ACA 频域 实空间 数值逼近方法 表面网格
MLMDA 频域 实空间 数值分解方法 表面网格

1. 频域(Frequency-Domain) vs. 时域(Time-Domain)

  • 频域:适合处理稳态和尖锐共振问题,处理斜入射和周期性问题非常快,但可能错过一些细微的共振现象。
  • 时域:适合宽频带模拟,尤其在有源和非线性器件中表现出色,且扩展性好,但内存需求较大,处理纵向周期性和斜入射时存在困难。

2. 半解析(Semi-Analytical) vs. 全数值(Fully Numerical)

  • 半解析:收敛性好,适合复杂几何结构,但内存需求大,处理长均匀段时效率较低。
  • 全数值:非常快且高效,适合分层器件和复杂几何,但收敛性有时较差。

3. 傅里叶空间(Fourier-Space) vs. 实空间(Real-Space)

  • 傅里叶空间:适合高折射率对比、金属材料和细节解析,但在低折射率对比下速度较慢。
  • 实空间:非常适合处理周期性问题,速度快,内存占用低,但难以实现场可视化和解析复杂细节。

4. 非结构化网格(Unstructured Grid) vs. 结构化网格(Structured Grid)

  • 非结构化网格:实现简单,适合矩形结构,但效率较低,难以处理曲面。
  • 结构化网格:效率最高,适应大规模结构和曲面,但实现复杂,可能产生伪解。

5. 积分法(Integral-Based) vs. 微分法(Differential-Based)

  • 积分法:使用稀疏矩阵,实现简单,适合表面网格,但需要体积网格,可能出现伪解。
  • 微分法:只需表面网格,适合处理大规模结构,但矩阵是全矩阵,公式推导较复杂。

软件

一些商业软件

软件名称 开发公司 求解器类型 应用领域
Ansys HFSS ANSYS FEM (High Frequency Structure Simulation) 天线设计、射频电路、无线通信设备、雷达系统
Ansys Maxwell ANSYS FEM (Low Frequency)电机设计、变压器、感应加热、传感器、磁体设计
Ansys Lumerical FDTD ANSYS FDTD 高频仿真,特别适合光子学、纳米技术
Ansys Lumerical Multiphysics ANSYS FEM、FDTD、EIGENMODE 高频仿真,特别适合光子学、纳米技术
CST Studio Suite Dassault Systèmes FDTD、FEM、积分方程法(IE)、静电求解器 微波电路、天线设计、电磁兼容性(EMC/EMI)分析、射频电路
SIMULIA Opera Dassault Systèmes FEM 静态场仿真,适合电透镜、磁透镜、加速器设计
COMSOL Multiphysics COMSOL FEM 电机设计、传感器、感应加热、电磁加热
Altair Feko Altair Engineering MoM、FEM、GO、PO 天线设计、雷达散射、无线通信、汽车电子
Altair Flux Altair Engineering FEM 低频、静态场仿真,适合电机、磁性设备设计
Simcenter MagNet Siemens (原Infolytica) FEM 低频和静磁场仿真,适合磁透镜、电机设计
Keysight EMPro Keysight Technologies FEM、FDTD 微波电路、天线、PCB设计、射频组件
QuickField - FEM 静态场和准静态场仿真,适合电透镜和磁透镜
XFdtd - FDTD 高频电磁仿真,适合天线、微波电路仿真
JMAG JSOL FEM 低频、静态电磁场仿真,适合电机、传感器设计
POISSON Superfish simion FEM(2D) 静态场仿真,适合粒子加速器、电透镜和磁透镜

一些开源软件

软件名称 开发组织 求解器类型 应用领域
Elmer CSC – IT Center for Science 有限元法(FEM) 开源软件,适合低频和静态场仿真
FreeFEM - FEM 支持静电场,静磁场
Fenics - FEM 有python绑定
GetDP - FEM 开源软件,支持静态电磁场仿真,适合复杂几何
GMSH + OpenEMS - FDTD 开源工具,低频、静态场仿真,适合学术研究
Meep - FDTD 开源软件,适合光子学、纳米结构、电磁波仿真
OpenFOAM - 有限体积法(FVM),支持电磁模块 开源软件,主要用于流体仿真,但支持电磁仿真

参考

  • 电磁计算方法的发展与展望 链接2
  • https://empossible.net/academics/emp5337/
  • https://engineering.purdue.edu/wcchew/ece604f19/Lecture%20Notes/Lect36.pdf
  • https://en.wikipedia.org/wiki/Computational_electromagnetics
  • https://en.wikipedia.org/wiki/List_of_finite_element_software_packages

Science