本文摘要(由AI生成):
文章主要介绍了时域有限差分(FDTD)方法,这是一种求解Maxwell方程的方法,通过将求解空间离散成笛卡尔坐标上的长方体网状结构,对电磁场问题进行模拟。FDTD方法具有广泛的适用性,但计算量巨大,导致其应用发展缓慢。随着计算机硬件的快速发展,FDTD方法可用于计算量大的实际工程。文章还介绍了FDTD方法的数学基础理论知识,包括梯度、散度、旋度、麦克斯韦方程等。最后,文章介绍了FDTD软件的一些开源和商用软件。
时域有限差分(Finite Difference Time Domain简称FDTD)由美籍华人Yee于1966年提出,是求解Maxwell方程的一种方法,其核心思想是将求解空间离散成笛卡尔坐标上的长方体网状结构,其中每个点赋值电场和磁场,随着时间变化每个点以蛙跳形式交替更新电场和磁场,从本质上讲,FDTD是对电磁场问题的最原始最完善的模拟,具有非常广泛的适用性。
不同于有限元方法,该方法只需要对求解空间划分结构化网格,不需要对对象划分网格,不需要求解线性方程组,不需要复杂导出方程,适合计算程序实现,非常容易应用并行计算。但由于FDTD计算量巨大,导致其方法提出后应用发展缓慢,最近一二十年,由于计算机硬件快速发展,尤其是多核多线程,GPU计算,分布式计算应用,使得FDTD可用于计算量大的实际工程。Navida 的CUDA计算案例里甚至有专门针对FDTD的例子。
之前简单介绍了计算电磁学,这里首先介绍一下数学基础理论知识。
在积分微分公式中我们经常看到倒三角符号 ▽,叫做哈密顿算子,这是一个常用算子,读作del,表示在空间xyz各方向上的全微分,另一个是 ▽·▽=▽2=△,△称为拉普拉斯算子。
梯度: ▽u
散度: ▽·A
旋度: ▽×A
电磁场本构方程为麦克斯韦方程
以上四个方程构成了麦克斯韦方程组。
其中E为电场强度,H为磁感应强度,B为磁通量密度,J为电流密度。
通常说的磁生电,电生磁,麦克斯韦方程准确描述为:
1.电场的散度跟这点的电荷密度成正比;
2.感生电场的旋度等于磁感应强度的变化率;
3.磁场的散度处处为0;
4.感生磁场的旋度等于电流密度和电场强度变化率之和
FDTD的Cell(元胞)结构
FDTD的核心思想是将求解空间离散成笛卡尔坐标上的长方体网状结构,下图(图3)是网状结构中的一个单元,一个非常典型的三维Yee元胞结构,又叫Yee网格。
FDTD的Cell
1.靠近远点的坐标为i,j,k,对角坐标则为i 1,j 1,k 1。
2.在这个长方体上,我们将其分为八个等分长方体,长方体的每条边的中点存放磁场分量,面上的中点存放电场分量。当到下一个长方体时,则反过来:边的中点存放电场分量,面的中点存放磁场分量,以此类推。由上图可以看到:每一个电场矢量都被四个磁场矢量环绕;每个磁场矢量被四个电场所环绕,类似磁场的旋度。
3.FDTD算法在离散的时间瞬间取样和计算场值,电场和磁场取样计算并不在同一时刻。对时间步长t,电场取样时间为0,1t,2t,3t,磁场取样时刻为0.5t,1.5t,2.5t,3.5t,两者之间相差半个时间步长。
4.对于求解区域内不同介质的对象(介电常数,磁导率,电导率等),也分布在FDTD的整个网格节点上。
从以上描述可知,FDTD是一种在时间上迭代的差分方法,在给定的时间上,更新网格节点上电场,磁场,不需要对对象划分网格,也不需要求解线性方程组。
1. 如何确定网格大小;
2. 如何确定迭代时间步长;
3. 边界条件如何设置;
4. 如何设置激励
1. 如何确定网格大小;
FDTD的网格,我们通常用Grid,表示是对空间的离散,而非对物体本身的离散,对空间划分网格比划分物体几何要简单,这是差分法和有限元法最显著的一个区别。FDTD差分格式所能模拟的最小尺寸为一个网格,对于小于一个网格的尺寸,需要近似成一个网格,但是存在的问题是在细小几何,比如圆孔,曲面曲线,缝隙等结构物体时,计算误差会比较大,如果全体加密网格,网格单元数和计算量也会快速增加。通常的办法是在这些细小几何的地方,采用局部加密的方式,如图1所示。
通常情况下,FDTD离散网格的大小和波长有关,应满足条件网格尺寸小于计算区域内最小波长的0.1倍。网格加密尺寸需要更加几何和波长动态确定。
2. 如何确定迭代时间步长;
利用波矢量和频率的色散关系,可以求出空间和时间间隔之间应该满足的关系,该关系称为Courant稳定性条件。对于一维,时间间隔必须小于等于波以光速通过一个Yee网格所需的时间,二维和三维,时间间隔必须小于等于波以光速通过一个Yee网格对角线的1/3(三维)或者1/2(二维)所需要的时间。而对于数值色散,时间间隔要取得更小。
3. 边界条件如何设置
许多电磁场边值问题都包含了无限大的空间范围,例如天线设计,电磁散射,电磁传播等。求解的一大困难是无法存储无限空间的网格数据,需要采取一定措施将无限大空间问题转成有限空间问题,通常的做法是设置人工的边界,将无限大区域截断,构造出一个有限的空间区域,这个区域包含了要求解的对象,激励源等,同时需要在人工边界上接入一定的边界条件。使得电磁波在这些边界上与无限大空间一样无条件地向外传播,这些边界条件称为吸收边界条件。解决问题的关键是获得合适的吸收边界条件,其中早期比较典型的是Mur吸收边界条件。
完全匹配层,通过在截断边界处附加匹配的有耗材料来实现。在实际三维电磁场中,电磁波会以不同角度入射到截断边界上,要使所有入射波都能够无反射地进入到有耗媒质中比较困难。完全匹配层吸收边界通过场分裂法和单轴媒质两种方法实现。
4. 激励源
在电磁仿真软件中,需要设置激励源,也就是通常所说的类似Port端口的概念。FDTD常用的激励源有:时协场源;脉冲源,包括常见的高斯脉冲,升余弦脉冲,截断三正/余弦脉冲,调制高斯脉冲,双指数脉冲。
利用FDTD计算还会涉及到近远场转化,色散模型,并行计算,S参数计算等一系列问题,后面介绍天线,矩量法等再介绍相关话题。
由于FDTD原理相对简单,开源和商用的软件都比较多,开源的FDTD , Meep,OpenEMS,商用的GEMS, xFDTD,FDTDSolution,国内的有EastFDTD。
最后用一个简单的C 程序演示了二维FDTD求解流程,包含网格生成,电磁场更新,设置吸收边界,激励等基本元素。
声明:原创文章,欢迎留言与我讨论,如需转载留言