時域有限差分(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原理相對簡單,開源和商用的軟體都比較多,開源的FDTD++, Meep,OpenEMS,商用的GEMS, xFDTD,FDTDSolution,國內的有EastFDTD。
最後用一個簡單的C++ 程序演示了二維FDTD求解流程,包含網格生成,電磁場更新,設置吸收邊界,激勵等基本元素。
需要可到 多物理場仿真技術 技術博客下載。