中文/English
【邊界條件 (B.C.)】Boundary Conditions
1. 定義邊界條件
2. 按【創建 (Create)】按鈕 => 建立總網格 (包含邊界條件&增加網格)
增加網格(Add Space Grids)
在模擬時,結構端點與吸收邊界(PML)的距離。最好要距離最大波長的一半 (wavelength/2) 會比較好。這是由於如果有消逝場(Evanescent Field)時會影響吸收層或者觀察點(能量積分位置)。如果觀察位置(Transmission/Reflection) 在消逝波裡,可能會積分到能量回流的部分而導致頻譜震盪
詳細說明:
邊界條件(Boundary condition)
PML (Perfectly matched layer):完美匹配層,在FDTD裡的作用為吸收電磁波
受限於電腦的記憶體及計算速度,我們不可能設定一個無窮大的空間來模擬我們要求解的問題。因此在有限差分時域法裡,我們使用有限的空間進行各種電磁問題的模擬,當電磁波行進至『模擬計算的邊界時』,為了不讓電磁波反彈回來干擾系統,邊界上擺放PML吸收層就是作為吸收電磁波的方法。吸收層的數值法有許多種如 Un-Split PML, SplitField PML, UPML, CPML等等 [1] 本軟體是採用 CPML 作為吸收層計算方法。
下面為展示完美匹配層的吸收效果,此範例模擬二維TM(Ex Ez Hy),入射波為在中心放置一點波源 Hy,邊界為吸收層 (綠色為吸收層(PML))
模擬結構圖 : 無結構 (吸收層PML 16層)
圖中|E|=sqrt(Ex^2+Ez^2);
可以看到當行進波碰到吸收層PML時,行進波將被吸收,避免波反射回計算空間造成干擾。
(左下|E|=sqrt(Ex^2+Ez^2); 因為沒有限制強度刻度,當點波源所產生的行進波被四方的吸收層吸收後,在系統內還是會殘留吸收層所反射的些許雜訊,若吸收良好這些細微的雜訊可忽略不計。
記得!層數必須夠多夠厚。通常不要小於10層,預設用16層,但應隨著dx dy dz 的大小做些許改變。當dx dy dz越小時,我們給予的層數就應更多一些,好確保厚度=層數*dx 夠厚)
下面我們看一下當吸收層層數不足時的吸收情況,當在左邊吸收層為5層時,吸收層的吸收效果已經有些不好可看出些許反射波反彈回來,干擾計算空間了。而當吸收層只剩下3層時,吸收層對行進波吸收不夠,波反射回原計算空間,此時行進至邊界的波則明顯反射且與後續行進波產生干涉現象了。
(吸收層PML 3層)
PEC (Perfect electric conductor) : 完美電性材料導體作為邊界
下面為展示完美電性材料導體作為邊界的效果,此範例模擬二維TM(Ex Ez Hy),入射波為在中心放置一點波源 Hy
模擬結構圖 : 無結構
行進波遇到完美電性導體實會發生全反射。根據電磁場切線應連續的原理,反射的電場震幅同向,磁場震幅正負號相反。
PMC (Perfect magnetic conductor) : 完美磁性材料導體作為邊界
下面為展示完美磁性材料導體作為邊界的效果,此範例模擬二維TM(Ex Ez Hy),入射波為在中心放置一點波源 Hy
模擬結構圖 : 無結構
行進波遇到完美電性導體實會發生全反射。根據電磁場切線應連續的原理,反射的磁場震幅同向,電場震幅正負號相反。
Bloch periodic boundary condition : 布拉格週期性邊界條件
是基於Bloch's定理,當我們所要求得的結構為週期性結構時所使用。
布拉格邊界條件滿足
E(x+a)=E(x)*exp(j*k*a)
a是模擬的週期條件
k則是布拉格傳播參數 (Bloch vector)
那什麼是週期性的結構,比如課本裡常見的單狹縫陣列,如下圖
這是一個無窮多個二維狹縫或二維長柱形顆粒【重複排列】所組成的陣列,重複的週期是在橫向的。因為我們不可能模擬一個『無窮多』的【重複結構】。因此我們只要給予重複結構裡,最基本的單一組成的【重複結構】即可。例如我們要模擬上面的無窮陣列結構時:
上圖中綠色的線是使用 Bloch 或 Period 作為邊界條件
我們知道單一組成結構的【重複週期】是w+d,因此只要找到w+d這個基本重複週期的結構來模擬即可。模擬結構1或2或3都是可以的。
Period : 週期性邊界條件
與Bloch同樣是週期性的邊界條件,而Period是使用在【垂直入射】時的特殊條件
從Bloch's條件 E(x+a)=E(x)*exp(j*k*a)
由於兩旁光程差不存在,k=0,
在有限差分時域法裡可節省一倍的計算時間及記憶體。
關於邊界條件、可參考以下兩套套裝軟體的線上說明
對照引用 Comparison & Reference: Lumerical FDTD Solutions
Lumerical FDTD Solutions
http://docs.lumerical.com/en/ref_sim_obj_boundary_conditions_tab.html
OptiFDTD
http://optiwave.com/optifdtd-manuals/fdtd-pbc-boundary-conditions/