林智參
摘要:時域有限差分法(FDTD)是解決復(fù)雜電磁問題的有效方法之一,可以對電磁問題進(jìn)行直觀的描述,且容易編程分析,已經(jīng)發(fā)展成為一種成熟的數(shù)值計算方法。然而,傳統(tǒng)FDTD算法的時間步長收到了穩(wěn)定性條件的限制,這使得FDTD方法的計算效率和應(yīng)用范圍受到了限制,因此無條件穩(wěn)定算法應(yīng)運(yùn)而生,人們提出了多種形式的無條件穩(wěn)定FDTD算法。本文介紹并分析了幾種無條件穩(wěn)定的時域有限差分法,給出了具有一定參考價值的結(jié)論。
關(guān)鍵詞:時域有限差分法;無條件穩(wěn)定;分析
中圖分類號:O441.4 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)07-0228-01
時域有限差分法(FDTD)因其算法簡捷、適用范圍廣的特點而得到廣泛的應(yīng)用。FDTD可以直觀的描述電磁場的時間變化過程,容易理解,且有很好的穩(wěn)定性和收斂性,同時它的程序也容易編寫。經(jīng)過多年的發(fā)展,F(xiàn)DTD算法現(xiàn)已然成為一種成熟的電磁理論分析工具。目前,F(xiàn)DTD算法的研究幾乎已深入到所有電磁領(lǐng)域。盡管 FDTD算法有很多的優(yōu)點,但是它的時間步長必須滿足Courant-Friedrichs-Lewy(CFL)穩(wěn)定性條件,這使得FDTD方法的計算效率和應(yīng)用范圍受到了限制。為了克服穩(wěn)定性條件的限制,人們提出了多種形式的無條件穩(wěn)定FDTD算法。下面將對幾種形式的無條件穩(wěn)定時域有限差分法綜述如下:
1 交替方向隱式時域有限差分(ADI-FDTD)算法
1999年,T.Namiki提出了交替方向隱式時域有限差分算法[1](Alternating Direction Implicit Finite Difference Time Domain method,簡稱ADI-FDTD算法),并首次把該算法應(yīng)用于模擬計算二維TE波,而且證明了二維的ADI-FDTD算法是無條件穩(wěn)定的,后來又把ADI-FDTD算法推廣到了三維情形[2]。隨后,學(xué)者們對ADI-FDTD算法展開研究,關(guān)于該算法的數(shù)值色散特性、吸收邊界條件一時成為了研究的熱點。ADI-FDTD算法是顯式、隱式交替出現(xiàn)的,所以它既有顯式差分法計算簡單的優(yōu)點,又有隱式差分法無條件穩(wěn)定的特性,使得時間步長能夠擺脫了傳統(tǒng)FDTD方法的CFL條件穩(wěn)定性的限制,運(yùn)算相對簡單方便,計算精度較高。ADI-FDTD算法的出現(xiàn),擴(kuò)大了FDTD算法的應(yīng)用范圍,具有重要意義。
ADI-FDTD算法是通過把傳統(tǒng)時間步長平均劃分為兩個子時間步長,并在子時間步長中采用場分量的顯式、隱式交替出現(xiàn)的方法,以達(dá)到無條件穩(wěn)定的效果。值得一提的是,該算法在單個子時間步長上仍是條件穩(wěn)定的,但是子時間步長結(jié)合后就可以實現(xiàn)無條件穩(wěn)定性。
2 基于Crank-Nicolson(CN)方案的無條件穩(wěn)定FDTD算法
基于Crank-Nicolson(CN)方案的無條件穩(wěn)定FDTD算法,稱為CN-FDTD算法[3],在此算法中,仍舊采用Yee元胞的矩形差分網(wǎng)格,空間中任一個網(wǎng)格上的E和H分量的放置和傳統(tǒng)Yee元胞的一樣。把麥克斯韋旋度方程組差分離散化時,麥克斯韋方程左邊的時間偏微分項仍舊采用中心差分形式,不同的是方程的右邊采用的是空間中心差分在n時刻和n+1時刻的平均值。CN-FDTD算法與傳統(tǒng)FDTD算法的主要區(qū)別就在于對麥克斯韋方程右邊的時間離散化處理不同,中間時刻n+1/2的場量值由n時刻和n+1時刻的場量值的算術(shù)平均值近似地代替,由此得到隱式差分的推導(dǎo)公式,然后采用迭代法來求解場分量值。
這種無條件穩(wěn)定CN-FDTD算法的計算精度要高于ADI-FDTD算法的計算精度。但是,實際應(yīng)用中,CN-FDTD編程處理需要計算大型稀疏矩陣方程組,要實現(xiàn)這一點比較困難。因而,求解CN-FDTD算法的重要節(jié)點就在于尋找出一種高效的大型稀疏矩陣方程的求解方法。同時,求解這種大型稀疏矩陣方程顯然是要以犧牲大量的計算機(jī)內(nèi)存和時間為代價的,這么一來對于實際問題的求解實用性不強(qiáng),這種方法顯然是不理想的,因此在實際的工作中很難被廣泛應(yīng)用。為了把方法優(yōu)化,學(xué)者和專家們開始利用近似、分解、矩陣簡化等方法對CN-FDTD算法進(jìn)行簡化,希望通過有效的方法對此算法進(jìn)行改進(jìn),以達(dá)到新型高效的算法。
3 分裂步長時域有限差分法
分裂步長時域有限差分法(Split-Step Finite Difference Time Domain Method,SS-FDTD)算法[4]首先是由LeeJ等提出來的,該算法利用split-step的方法對麥克斯韋方程組進(jìn)行分解,得到一種新型的無條件穩(wěn)定算法。SS-FDTD算法通過把傳統(tǒng)時間步長分成兩個子時間步長,n到n+1/2和n+1/2到n+1,同時又把麥克斯韋方程組的系數(shù)矩陣分解成兩個不同的子矩陣,由此,麥克斯韋方程組的求解過程也就由一個時間步長變成兩個子時間步長,由一個復(fù)雜的矩陣運(yùn)算,分解成兩個較為簡單的子矩陣運(yùn)算,最終實現(xiàn)無條件穩(wěn)定的目的。
SS-FDTD算法求解的矩陣比ADI-FDTD的要簡單,其計算速度要也比ADI-FDTD算法的要快,同一平臺下的CPU運(yùn)算時間少,并且具有二階空間精度。SS-FDTD算法有個關(guān)鍵步驟就是把麥克斯韋方程組的系數(shù)矩陣進(jìn)行分解,然而,矩陣分解的方法有多種,可以按照正負(fù)方向分解成兩個子矩陣,也可以按照x、y、z方向分解成三個子矩陣,甚至還可以按照x、y、z的正負(fù)方向分解成六個子矩陣[5],由此可知SS-FDTD算法還可以進(jìn)行多種改進(jìn)。
4 結(jié)語
本文主要介紹了三種較為流行的無條件穩(wěn)定時域有限差分法,每種方法都擺脫了傳統(tǒng)的CFL穩(wěn)定性條件的限制,同時每種方法的優(yōu)缺點各有不同??偠灾?,ADI-FDTD算法和SS-FDTD算法是通過分解傳統(tǒng)的時間步長來實現(xiàn)隱式以達(dá)到無條件穩(wěn)定的,其中SS-FDTD算法還把麥克斯韋系數(shù)矩陣進(jìn)行了分解,簡化了推導(dǎo)公式,提高了速度。而CN-FDTD算法是麥克斯韋旋度方程在離散化過程中通過利用n時刻和n+1時刻場量值的平均值代替中間時刻n+1/2的場量值來實現(xiàn)隱式以達(dá)到無條件穩(wěn)定的目的。
參考文獻(xiàn)
[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]孔永丹.基于分裂步長的無條件穩(wěn)定FDTD算法研究[D].華南理工大學(xué),2011.