无条件稳定时域有限差分法综述
2018-10-10林智参
林智参
摘要:时域有限差分法(FDTD)是解决复杂电磁问题的有效方法之一,可以对电磁问题进行直观的描述,且容易编程分析,已经发展成为一种成熟的数值计算方法。然而,传统FDTD算法的时间步长收到了稳定性条件的限制,这使得FDTD方法的计算效率和应用范围受到了限制,因此无条件稳定算法应运而生,人们提出了多种形式的无条件稳定FDTD算法。本文介绍并分析了几种无条件稳定的时域有限差分法,给出了具有一定参考价值的结论。
关键词:时域有限差分法;无条件稳定;分析
中图分类号:O441.4 文献标识码:A 文章编号:1007-9416(2018)07-0228-01
时域有限差分法(FDTD)因其算法简捷、适用范围广的特点而得到广泛的应用。FDTD可以直观的描述电磁场的时间变化过程,容易理解,且有很好的稳定性和收敛性,同时它的程序也容易编写。经过多年的发展,FDTD算法现已然成为一种成熟的电磁理论分析工具。目前,FDTD算法的研究几乎已深入到所有电磁领域。尽管 FDTD算法有很多的优点,但是它的时间步长必须满足Courant-Friedrichs-Lewy(CFL)稳定性条件,这使得FDTD方法的计算效率和应用范围受到了限制。为了克服稳定性条件的限制,人们提出了多种形式的无条件稳定FDTD算法。下面将对几种形式的无条件稳定时域有限差分法综述如下:
1 交替方向隐式时域有限差分(ADI-FDTD)算法
1999年,T.Namiki提出了交替方向隐式时域有限差分算法[1](Alternating Direction Implicit Finite Difference Time Domain method,简称ADI-FDTD算法),并首次把该算法应用于模拟计算二维TE波,而且证明了二维的ADI-FDTD算法是无条件稳定的,后来又把ADI-FDTD算法推广到了三维情形[2]。随后,学者们对ADI-FDTD算法展开研究,关于该算法的数值色散特性、吸收边界条件一时成为了研究的热点。ADI-FDTD算法是显式、隐式交替出现的,所以它既有显式差分法计算简单的优点,又有隐式差分法无条件稳定的特性,使得时间步长能够摆脱了传统FDTD方法的CFL条件稳定性的限制,运算相对简单方便,计算精度较高。ADI-FDTD算法的出现,扩大了FDTD算法的应用范围,具有重要意义。
ADI-FDTD算法是通过把传统时间步长平均划分为两个子时间步长,并在子时间步长中采用场分量的显式、隐式交替出现的方法,以达到无条件稳定的效果。值得一提的是,该算法在单个子时间步长上仍是条件稳定的,但是子时间步长结合后就可以实现无条件稳定性。
2 基于Crank-Nicolson(CN)方案的无条件稳定FDTD算法
基于Crank-Nicolson(CN)方案的无条件稳定FDTD算法,称为CN-FDTD算法[3],在此算法中,仍旧采用Yee元胞的矩形差分网格,空间中任一个网格上的E和H分量的放置和传统Yee元胞的一样。把麦克斯韦旋度方程组差分离散化时,麦克斯韦方程左边的时间偏微分项仍旧采用中心差分形式,不同的是方程的右边采用的是空间中心差分在n时刻和n+1时刻的平均值。CN-FDTD算法与传统FDTD算法的主要区别就在于对麦克斯韦方程右边的时间离散化处理不同,中间时刻n+1/2的场量值由n时刻和n+1时刻的场量值的算术平均值近似地代替,由此得到隐式差分的推导公式,然后采用迭代法来求解场分量值。
这种无条件稳定CN-FDTD算法的计算精度要高于ADI-FDTD算法的计算精度。但是,实际应用中,CN-FDTD编程处理需要计算大型稀疏矩阵方程组,要实现这一点比较困难。因而,求解CN-FDTD算法的重要节点就在于寻找出一种高效的大型稀疏矩阵方程的求解方法。同时,求解这种大型稀疏矩阵方程显然是要以牺牲大量的计算机内存和时间为代价的,这么一来对于实际问题的求解实用性不强,这种方法显然是不理想的,因此在实际的工作中很难被广泛应用。为了把方法优化,学者和专家们开始利用近似、分解、矩阵简化等方法对CN-FDTD算法进行简化,希望通过有效的方法对此算法进行改进,以达到新型高效的算法。
3 分裂步长时域有限差分法
分裂步长时域有限差分法(Split-Step Finite Difference Time Domain Method,SS-FDTD)算法[4]首先是由LeeJ等提出来的,该算法利用split-step的方法对麦克斯韦方程组进行分解,得到一种新型的无条件稳定算法。SS-FDTD算法通过把传统时间步长分成两个子时间步长,n到n+1/2和n+1/2到n+1,同时又把麦克斯韦方程组的系数矩阵分解成两个不同的子矩阵,由此,麦克斯韦方程组的求解过程也就由一个时间步长变成两个子时间步长,由一个复杂的矩阵运算,分解成两个较为简单的子矩阵运算,最终实现无条件稳定的目的。
SS-FDTD算法求解的矩阵比ADI-FDTD的要简单,其计算速度要也比ADI-FDTD算法的要快,同一平台下的CPU运算时间少,并且具有二阶空间精度。SS-FDTD算法有个关键步骤就是把麦克斯韦方程组的系数矩阵进行分解,然而,矩阵分解的方法有多种,可以按照正负方向分解成两个子矩阵,也可以按照x、y、z方向分解成三个子矩阵,甚至还可以按照x、y、z的正负方向分解成六个子矩阵[5],由此可知SS-FDTD算法还可以进行多种改进。
4 结语
本文主要介绍了三种较为流行的无条件稳定时域有限差分法,每种方法都摆脱了传统的CFL稳定性条件的限制,同时每种方法的优缺点各有不同。总而言之,ADI-FDTD算法和SS-FDTD算法是通过分解传统的时间步长来实现隐式以达到无条件稳定的,其中SS-FDTD算法还把麦克斯韦系数矩阵进行了分解,简化了推导公式,提高了速度。而CN-FDTD算法是麦克斯韦旋度方程在离散化过程中通过利用n时刻和n+1时刻场量值的平均值代替中间时刻n+1/2的场量值来实现隐式以达到无条件稳定的目的。
参考文献
[1]Namiki T. A new FDTD algorithm based on alternating-direction implicit method[J]. IEEE Trans. on Microwave Theory and Techniques,1999,47(10):2003-2007.
[2]Namiki T. 3-D ADI-FDTD method-unconditionally stable time-domain algorithm for solving full vector Maxwell's equations[J].IEEE Trans. on Microwave Theory and Techniques,2000,48(10):1743-1748.
[3]An Ping Zhao. A novel implementation for two-dimensional unconditionally stable FDTD method[J]. Microwave and optical technology letters,2003,38(6):457-462.
[4]Jongwoo Lee, Bengt Fornberg, A split step approach for the 3-D Maxwells equations[J]. Journal of Computational and Applied Mathematics,2003,158:485-505.
[5]孔永丹.基于分裂步長的无条件稳定FDTD算法研究[D].华南理工大学,2011.