ZEMAX | 利用RCWA方法模擬表面浮雕光柵的衍射效率

本文介紹了OpticStudio 20.1中添加的兩個(gè)動(dòng)態(tài)鏈接庫(kù)?(?Dynamic Link Library,DLL?)?文件,兩者都是用來模擬表面浮雕光柵的衍射DLL。這兩個(gè)稱為“ rg_step_RCWA.dll ”和“ srg_Trapezoid_RCWA.dll ”的DLL建立了階梯光柵和梯形光柵模型。
本文將首先介紹DLL中使用的方法,然后介紹DLL中的參數(shù),最后展示兩個(gè)示例。
這些功能只能在OpticStudio的高級(jí)訂閱版本中使用。
附件下載
聯(lián)系工作人員獲取附件
簡(jiǎn)介
表面浮雕光柵?(SRG)?廣泛應(yīng)用于各種傳統(tǒng)光學(xué)系統(tǒng),如光譜儀、分束器、三維掃描系統(tǒng)、衍射透鏡和脈沖放大系統(tǒng)等。近年來,表面浮雕光柵在平視顯示器?(HUD)?、增強(qiáng)現(xiàn)實(shí)?(AR)、虛擬現(xiàn)實(shí)?(VR)?頭戴顯示器?(HMD)?等現(xiàn)代設(shè)備中得到廣泛應(yīng)用。它們能夠以任意角度衍射光線,綜合其波長(zhǎng)和角度選擇性,使得光學(xué)系統(tǒng)比傳統(tǒng)設(shè)計(jì)更緊湊、更輕,而傳統(tǒng)設(shè)計(jì)通常需要使用棱鏡和自由曲面來達(dá)到同樣的性能,會(huì)導(dǎo)致系統(tǒng)更復(fù)雜,體積更龐大。
OpticStudio一直可以模擬光柵,但沒有考慮衍射效率。為了準(zhǔn)確地反映衍射光線的衍射效率和偏振態(tài),就必須在模擬時(shí)考慮光柵的微觀結(jié)構(gòu)等特性。
本文將討論兩個(gè)用來模擬梯形和階梯光柵的DLL。
表面浮雕光柵與體全息光柵
在介紹這個(gè)模型之前,先簡(jiǎn)要解釋表面浮雕光柵和體全息光柵?(VHG)?之間的區(qū)別。這兩種光柵在光學(xué)系統(tǒng)中的作用幾乎相同,但在制作和仿真方面卻有很大的不同。

圖1. (a)表面浮雕光柵折射率分布均勻,但表面微觀結(jié)構(gòu)具有周期性。(b)體全息光柵具有周期性變化的折射率分布,但表面光滑。
如圖1(a)所示的SRG可以用光刻、納米壓印或金剛石車削等方法制作。與VHG不同的是,SRG的折射率沒有空間變化,其表面是由周期性微觀結(jié)構(gòu)構(gòu)成的。需要使用一種類似于傅里葉模態(tài)法(也稱為RCWA [1])的算法來模擬SRG。
如圖1(b)所示的VHG是通過在感光乳膠膜上曝光兩束或更多光束來制造的,然后用化學(xué)或熱顯影方法處理制成光柵。體全息光柵表面光滑,但其內(nèi)部的折射率呈正弦變化。需要使用高效的Kogelnik理論?[2]?或增強(qiáng)型的嚴(yán)格耦合波分析等算法來模擬VHG。
OpticStudio提供了用于模擬SAR和VHG的DLL。本文介紹了用于模擬SRG衍射效率的工具。
用于VHG的工具,參見知識(shí)庫(kù)文章,?使用Kogelnik方法模擬體全息光柵的衍射效率?。
傅里葉模態(tài)法(嚴(yán)格耦合波分析)
讓我們快速回顧一下用于模擬SRG 的DLL中使用的理論。
傅里葉展開式

圖2. 在傅里葉空間展開麥克斯韋方程。將介電常數(shù) ε 和磁導(dǎo)率 μ 都寫入傅里葉級(jí)數(shù)中, Λx和?Λy為x和y方向的周期,a和b是每個(gè)傅里葉項(xiàng)的系數(shù),(m, n)是整數(shù)。將電場(chǎng)E和磁場(chǎng)H寫成平面波的組合,其中S和U是每個(gè)平面波的強(qiáng)度,k是波矢量。E 、 H 、S 、 U 和 k都是向量,表示 (Ex,Ey,Ez), (Hx,Hy,Hz), (Sx,Sy,Sz), (Ux,Uy,Uz) 和 (kx,ky,kz)。
Concept of layers
層的概念
層是RCWA中的重要概念。該理論假設(shè)光柵結(jié)構(gòu)在z方向上是均勻分布的,在X、Y方向上是周期性分布的。如果該結(jié)構(gòu)在Z方向上不是均勻分布,則認(rèn)為該結(jié)構(gòu)是多個(gè)“層”的組合。每一層上的結(jié)構(gòu)在z方向上是均勻分布的,如圖3所示。

圖3. 在RCWA算法中,將微結(jié)構(gòu)分割成許多層,每一層的結(jié)構(gòu)在z方向上是均勻的。
一般而言,對(duì)結(jié)構(gòu)的采樣層數(shù)越多,模擬結(jié)果越準(zhǔn)確,但計(jì)算速度也越慢。這是準(zhǔn)確性和速度之間的平衡。
DLL模型包含控制層數(shù)的參數(shù)。
在 srg_Trapezoid_RCWA.dll 中,用? “# Layer”控制。
在 the srg_step_RCWA.dll 中, 用“l(fā)ays of 1 stp”控制。
有關(guān)這些參數(shù)的更多說明,請(qǐng)參見以下部分。
諧波(級(jí)次)的概念
當(dāng)平面波擊中光柵表面時(shí),光向離散的方向衍射,稱之為諧波或級(jí)次。諧波就像層;計(jì)算中包含的諧波越多,計(jì)算的精度越高,但速度越慢。在兩個(gè)DLL中,諧波的數(shù)量由參數(shù)?“最大級(jí)次(Max Order)”?控制。
例如,如果將最大級(jí)次設(shè)為3,則意味著在計(jì)算時(shí)要考慮?- 3 , -2 , -1 , 0 , 1 , 2 , 3級(jí)的諧波。通常需要做一些測(cè)試來找到平衡速度和精度的最佳值。根據(jù)經(jīng)驗(yàn),通常將最大級(jí)次初始值設(shè)置為:3*(光柵周期)/(波長(zhǎng))。圖4顯示了用一維光柵將入射光衍射成多個(gè)級(jí)次的情況。

圖4. 當(dāng)一束光入射到光柵上,分裂成多個(gè)級(jí)次。
鏈接到光線追跡模型
在RCWA算法中,電磁場(chǎng)是經(jīng)過傅里葉展開的。在光柵結(jié)構(gòu)中,電磁場(chǎng)被分解成多個(gè)平面波。經(jīng)過計(jì)算,RCWA根據(jù)輸入光和光柵結(jié)構(gòu)給出了輸出光波的電場(chǎng)和每個(gè)級(jí)次的傳播方向。
OpticStudio只是將這些平面波與光線追跡模型中的光線聯(lián)系起來。
圖5顯示了RCWA模型中,如何將光線追跡模型中的光線視為平面波。

圖5. 在光線追跡代碼中,當(dāng)光線入射到光柵上時(shí),將其看作平面波,并傳遞給RCWA代碼。再將RCWA計(jì)算出的對(duì)應(yīng)的輸出平面波再次轉(zhuǎn)換成光線,再傳遞回光線追跡代碼。
請(qǐng)注意,RCWA代碼僅用光柵深度來計(jì)算效率。在光線追跡代碼中,仍將光柵視為無限薄的表面。
圖6從宏觀上展示了入射光、衍射光和光柵之間的關(guān)系。

圖6. 從光線追跡代碼的觀點(diǎn)出發(fā),將光柵結(jié)構(gòu)視為無限薄的表面。根據(jù)RCWA代碼,入射到光柵表面的任意光線都被衍射成不同方向、不同電場(chǎng)的幾個(gè)級(jí)次。
如何使用DLL建立光柵
在系統(tǒng)中加入光柵
本節(jié)將介紹如何在非序列模式下建立階梯光柵或梯形光柵。
可以使用衍射光柵(Diffraction Grating)物體或使用DiffractionGrating.dll定義的用戶定義物體?(User Defined Object),在非序列模式下添加光柵。目前不支持其他衍射物體,因?yàn)镈LL假設(shè)衍射表面在XY平面上。
如果光柵孔徑為圓形,則使用衍射光柵物體。
如果光柵孔徑為矩形,則使用DiffractionGrating.dll定義的用戶定義物體。
如果孔徑是任意形狀的(既不是圓形,也不是矩形),那么可以將原生布爾(Boolean Native)物體或布爾CAD(Boolean CAD)物體與擠壓物體?(Extruded)一起使用。

圖7. 對(duì)于圓形光柵,請(qǐng)使用衍射光柵。對(duì)于矩形光柵,請(qǐng)使用具有衍射抓射的用戶定義對(duì)象.DLL。
然后在物體屬性(Object Properties)中,點(diǎn)擊衍射(Diffraction),選擇srg_step_RCWA.dll定義階梯光柵,srg_Trapezoid_rcwa .dll定義梯形光柵。
反射(Reflect)和透射(Transmit)列中的參數(shù)應(yīng)該總是相同的。
下一節(jié)將介紹這些參數(shù)。

圖8. 可以通過在物體屬性中設(shè)置文中介紹的DLL來進(jìn)行應(yīng)用。
光柵的坐標(biāo)和方向
如圖9所示,光柵位于物體的面1?(Face 1)上。OpticStudio目前只支持一維光柵。假設(shè)光柵在Y方向上是均勻分布的,在XZ平面上具有周期性的分布。在光學(xué)系統(tǒng)中設(shè)置光柵時(shí),應(yīng)注意光柵的方向。

圖9. 光柵總是在面1上。目前,OpticStudio只支持將光柵應(yīng)用于兩個(gè)物體:衍射光柵和DiffractionGrating.dll定義的用戶定義物體。
DLL 參數(shù)
在OpticStudio 20.3中,共有5個(gè)RCWA DL用于模擬不同形狀的1D光柵:
srg_Trapezoid_RCWA.dll
srg_step_RCWA.dll
srg_blaze_RCWA.dll
srg_GridWirePolarizer_RCWA.dll
srg_user_defined_RCWA.dll
本節(jié)描述了這些DLL的參數(shù),從所有DLL相同的參數(shù)開始,然后解釋每個(gè)DLL的特定參數(shù)。
相同的參數(shù)
以下參數(shù)在所有 RCWA DLL 中具有相同的含義。
+周期/頻率(μm)?和深度?(μm)
這些凹槽周期單位為μm,光柵的剖面深度單位為μm。
當(dāng)“+周期/-頻率(μm)”是正值,它對(duì)應(yīng)于凹槽周期(μm);
當(dāng)它是負(fù)值,對(duì)應(yīng)于凹槽頻率(1 /μm)。周期和頻率是互為倒數(shù)的。圖10顯示了光柵的凹槽周期和深度。

圖10. 梯形和階梯光柵的槽深和凹槽周期。
建議周期不要太大,例如波長(zhǎng)的100 倍。這意味著所需的最大級(jí)次非常大,以至于不能有一個(gè)準(zhǔn)確的結(jié)果。有關(guān)最大級(jí)次初始值的建議,請(qǐng)參閱"諧波(級(jí)次)的概念"部分。
最大級(jí)次
請(qǐng)參閱"諧波(級(jí)次)的概念"部分。
這目前限制為10(共 21 個(gè)諧波)。當(dāng)數(shù)字大于10時(shí),在DLL中將其修改為 10。聯(lián)系支持團(tuán)隊(duì)以增加限制。
旋轉(zhuǎn)光柵(°)
此參數(shù)允許用戶旋轉(zhuǎn)光柵線的方向。
當(dāng)它設(shè)置為零時(shí),光柵線沿著Y方向,這意味著光線在X方向彎曲。
當(dāng)它設(shè)置為非零時(shí),正值則光柵線以逆時(shí)針方向旋轉(zhuǎn)(+X +Y),負(fù)值則順時(shí)針向旋轉(zhuǎn)。請(qǐng)注意,此處描述的X和Y方向基于對(duì)象的本地坐標(biāo)系統(tǒng)。

圖11. 光柵旋轉(zhuǎn) 135 度。
使用鍍膜文件
此參數(shù)是一個(gè)標(biāo)志。如果是非零正整數(shù),則表示分散數(shù)據(jù)(指數(shù)與波長(zhǎng))在文本文件中定義。文本文件必須保存在 {Zemax}\Coatings\COATING_xx.dat中,其中 xx 是"使用涂料文件"參數(shù)中指定的正整數(shù)。
例如,如果將"使用涂層文件"設(shè)置為 7,則將COATING_7.dat讀取分散數(shù)據(jù)。
在COATING_xx.dat文件中,散射數(shù)據(jù)的定義可用參考“The Libraries Tab > Coatings Group > Defining Coatings > The MATE Data Section"下的幫助文件。材料名稱應(yīng)始終從RCWAxx開始,其中xx是兩位數(shù)的整數(shù)。所有文本依次排布。
例如,我們可以定義RCWA01TIO2。DLL將讀取 RCWA 材料1,并將忽略隨后的TIO2文本。圖12顯示了一個(gè)涂層文件與幾個(gè)材料散射數(shù)據(jù)的例子。

圖12. 如何在COATING_xx.dat中定義分散數(shù)據(jù)的示例。
材料編號(hào)可以指定光柵折射率(R)、環(huán)境折射率(R)或膜層折射率(R)。使用等于材料數(shù)乘以-1的負(fù)整數(shù)。
例如,如果我們要將RCWA02設(shè)置為Grate區(qū)域的索引數(shù)據(jù),則只需將光柵折射率(R)設(shè)置為 -2。
查看”光柵折射率(R)、光柵折射率(I)、環(huán)境折射率(R)、環(huán)境折射率(I)“和”膜層折射率(R)、膜層折射率(I)、膜層頂部厚度(μm)、膜層側(cè)面厚度(μm)“小節(jié)獲取更多信息
插值
這個(gè)參數(shù)需是一個(gè)整數(shù)。
如果為零,DLL 將不使用插值模式。
如果設(shè)置為非零值,DLL將在插值模式下工作,這意味著DLL在計(jì)算時(shí)將在RAM中緩存RCWA數(shù)據(jù)。然后,這些數(shù)據(jù)用于插值以進(jìn)行進(jìn)一步的光線追跡。這可以顯著提高系統(tǒng)中許多光線追跡的速度,例如,跟蹤超過一百萬條光線。
當(dāng)插值設(shè)置為1時(shí),將使用201*201采樣網(wǎng)格。
當(dāng)它大于1時(shí),它代表采樣網(wǎng)格的大小。換句話說,用戶可以通過將插值設(shè)置為大于1的數(shù)字來定義采樣網(wǎng)格的大小。但請(qǐng)注意,最低采樣網(wǎng)格大小為21。
當(dāng)插值設(shè)置為負(fù)整數(shù)時(shí),DLL將采取絕對(duì)值來查找采樣網(wǎng)格,但會(huì)使用不同的方法進(jìn)行插值。這種插值方法更準(zhǔn)確,但速度較慢。
設(shè)置插值參數(shù)是為了速度和精度之間的正確平衡。

圖13. 當(dāng)參數(shù)插值為非零整數(shù)時(shí),插值模式將打開。當(dāng)它是負(fù)數(shù)的時(shí),使用不同的插值方法。這種方法較慢,但更準(zhǔn)確。
插值模式?(Interpolation Mode)?是如何工作的?
首先,在LM空間中定義一個(gè)采樣網(wǎng)格。當(dāng)光線入射到光柵上時(shí),光線的方向可以用單位矢量(L,M,N)表示。LMN也被稱為光線的方向余弦。當(dāng)光線擊中光柵時(shí),它在x和y方向上的方向余弦L和M被映射到LM空間。然后檢查最近的四個(gè)采樣點(diǎn),如果在這四個(gè)點(diǎn)中沒有任何一個(gè)點(diǎn)已經(jīng)計(jì)算出RCWA數(shù)據(jù),則計(jì)算這些點(diǎn)的數(shù)據(jù)并將其保存在RAM中。然后用這四個(gè)點(diǎn)對(duì)入射光的RCWA數(shù)據(jù)進(jìn)行線性插值。注意,插值不僅是為了提高衍射效率,也是為了實(shí)現(xiàn)電場(chǎng)。換句話說,在緩存數(shù)據(jù)和插值的過程中,要充分考慮相位、偏振態(tài)和振幅的變化。
如果光柵數(shù)據(jù)或光的波長(zhǎng)發(fā)生變化,DLL將創(chuàng)建另一個(gè)采樣網(wǎng)格來保存RCWA數(shù)據(jù)。因此,將光柵參數(shù)或波長(zhǎng)設(shè)置為變量時(shí),用戶不應(yīng)在優(yōu)化過程中打開插值功能。這意味著追蹤許多光線(>1000)時(shí),插值會(huì)起到加速優(yōu)化的作用。但是,如果在優(yōu)化過程中僅通過光柵跟蹤幾條光線(如<10),建議關(guān)閉插值。
關(guān)于進(jìn)一步的討論,請(qǐng)參閱“優(yōu)化(Optimization)”一節(jié)。

圖14. 在插值模式下,衍射數(shù)據(jù)的計(jì)算如圖所示。
僅這些級(jí)次(Only these order)
當(dāng)參數(shù)"僅這些級(jí)次"為0或負(fù)時(shí),DLL將照常工作。所有級(jí)次都將追蹤。當(dāng)該參數(shù)為正整數(shù)時(shí),允許用戶指定用戶想要跟蹤的傳輸和反射中的衍射級(jí)次。
"僅這些級(jí)次"只是一個(gè)整數(shù),所以下表是它的定義。下表將級(jí)次映射為唯一的正整數(shù)。

"僅這些級(jí)次"是2的冪級(jí)數(shù)的總和。
舉個(gè)例子,如果用戶想要追跡0級(jí)反射光線(R0)和+1級(jí)透射光線(T+1)?!眱H這些級(jí)次“參數(shù)應(yīng)該被設(shè)置為2^0 + 2^5 = 1 + 32 = 33。


圖.15 ”僅這些級(jí)次“ 允許用戶指定用戶想要跟蹤的傳輸和反射中的衍射級(jí)次
注意在使用這個(gè)參數(shù)的時(shí)候,開始級(jí)次和結(jié)束級(jí)次需要包含指定的追跡級(jí)次。
此參數(shù)也可以使用可視化工具設(shè)置。這是一種更容易的方法,因?yàn)椴恍枰?jì)算。

圖.16 可視化工具中可用直接設(shè)置該參數(shù)。
隨機(jī)模式
這也可以稱為蒙特卡羅方法或者概率分裂
當(dāng)參數(shù)設(shè)置為0時(shí),DLL正常工作
當(dāng)設(shè)置為1,2或3時(shí),隨機(jī)模式將會(huì)生效。當(dāng)隨機(jī)模式工作時(shí),DLL會(huì)讓光線隨機(jī)衍射,如圖17所示。跟蹤每個(gè)衍射級(jí)次的概率基于衍射級(jí)次之間的能量比。

圖17. ?隨機(jī)模式下,任意入射光線會(huì)隨機(jī)衍射,產(chǎn)生衍射的級(jí)次的概率取決于每個(gè)級(jí)次的能量比。這張圖片顯示了只有1條光線隨機(jī)衍射的情況。
對(duì)于每條入射光線,可能有任意數(shù)量的出射光。要衍射的光線數(shù)量由計(jì)算決定(截至級(jí)次-初始級(jí)次+1)。換句話說,用戶可以設(shè)置參數(shù)"初始級(jí)次"和"截至級(jí)次"來定義出射的光線數(shù)量。同樣,在光線追跡過程中,隨機(jī)決定每一條光線的衍射級(jí)次。每個(gè)出射光線都攜帶Pi/n的功率,其中Pi是入射光線功率,n是出射線的數(shù)量。

圖18. 在隨機(jī)模式下,一條入射光線可用對(duì)應(yīng)多條衍射出射光線。
注意,如果”僅這些級(jí)次“不為零,則隨機(jī)模式按照如下規(guī)則運(yùn)行。
當(dāng)隨機(jī)模式為1時(shí),”僅這些級(jí)次“被忽略。
當(dāng)隨機(jī)模式為2時(shí),隨機(jī)模式先于”僅這些級(jí)次“生效,一條光線可能由隨機(jī)模式隨機(jī)化,但被"僅限這些命令"設(shè)置的規(guī)則阻止。
當(dāng)隨機(jī)模式為3時(shí),”僅這些級(jí)次“先于隨機(jī)模式生效,光柵仍然以隨機(jī)方式衍射光線,但衍射光線始終在"僅這些級(jí)次"指定的一組級(jí)次中隨機(jī)化。
錯(cuò)誤日志
如果這個(gè)參數(shù)不為0,則會(huì)生成一個(gè)報(bào)告計(jì)算錯(cuò)誤的txt文件。該日志文件會(huì)保存在{Zemax}\DLL\Diffractive\中,并且與指定的衍射DLL同名。這一參數(shù)通常應(yīng)該設(shè)置為0,除非出現(xiàn)了未知的錯(cuò)誤。
查看”幾何錯(cuò)誤“小節(jié)獲取更多相關(guān)信息。
梯形光柵參數(shù)(Trapezoid parameters)
以下是梯形光柵 (srg_Trapezoid_RCWA.dll) 的參數(shù):
深度,Alpha (度),Beta (度)和填充因子。
這四個(gè)參數(shù)按照如下規(guī)則控制光柵的形狀:
深度決定了光柵的高度,如圖19所示。
從-z旋轉(zhuǎn)到+x方向時(shí),Alpha和Beta是正的,從+x旋轉(zhuǎn)到-z方向時(shí),Alpha和Beta是負(fù)的。例如,在圖19中Alpha是正的,Beta是負(fù)的。
填充因子是0到1之間的數(shù)字,表示底面與凹槽周期的比值。
圖19. 梯形光柵的4個(gè)參數(shù)定義了光柵形狀。
膜層折射率(R)、膜層折射率(I)、膜層頂部厚度(μm)、膜層側(cè)面厚度(μm)
這4個(gè)參數(shù)用于模擬光柵的膜層。DLL可以使用戶定義頂部厚度(膜層頂部厚度(μm))和側(cè)面厚度(膜層側(cè)面厚度(μm))。
注意,膜層的厚度不包括在深度參數(shù)中。例如,如果深度是5 μm,膜層頂部厚度為200 nm,則光柵的總厚度為5.2μm。
圖11. 梯形光柵膜層的頂部厚度。
由于膜層材料可以是金屬,DLL提供了另外兩個(gè)參數(shù)來定義膜層材料的復(fù)折射率;實(shí)部為膜層折射率(R),虛部為膜層折射率(I)。在OpticStudio中,對(duì)于吸收材料來說,折射率的虛部通常是負(fù)的。例如,鋁的復(fù)折射率為0.7-7.0i。
膜層折射率(R)不能為零,但可以是負(fù)整數(shù)。當(dāng)它是負(fù)整數(shù)時(shí),意味著它由文本文件中的數(shù)據(jù)單獨(dú)定義。有關(guān)詳細(xì)信息,請(qǐng)參閱"使用鍍膜文件"部分。
光柵折射率(R)、光柵折射率(I)、環(huán)境折射率(R)、環(huán)境折射率(I)
光柵結(jié)構(gòu)可分為兩個(gè)部分,如圖 21所示:由”Grate”和“Env“指示的2個(gè)不同區(qū)域,表示光柵及其環(huán)境。光柵被外部區(qū)域(Outside)和基板區(qū)域(Substrate)包圍?;搴屯獠繀^(qū)域的折射率由光學(xué)系統(tǒng)定義。光柵和環(huán)境的折射率由DLL中的參數(shù)定義。
DLL中包含了4個(gè)參數(shù)來定義光柵和環(huán)境的折射率。
光柵和環(huán)境的折射率均由復(fù)數(shù)定義。
對(duì)于光柵區(qū)域,折射率的實(shí)數(shù)部分和虛數(shù)部分由光柵折射率(R)和光柵折射率(I)指定。
對(duì)于環(huán)境區(qū)域,折射率的實(shí)數(shù)部分和虛數(shù)部分由環(huán)境折射率(R)和環(huán)境折射率(I)指定。
當(dāng)光柵和環(huán)境的折射率的實(shí)數(shù)部分被設(shè)為0時(shí),有一項(xiàng)特殊的定義。如果光柵折射率設(shè)為0,則表示光柵的折射率與基板的折射率一致?;逭凵渎视晒鈱W(xué)系統(tǒng)定義。同樣的,如果環(huán)境折射率設(shè)為0,則表示環(huán)境的折射率和外部區(qū)域的折射率一致。
光柵和環(huán)境的折射率的實(shí)數(shù)部分(R)可以是負(fù)數(shù),意味著它由文本文件中的數(shù)據(jù)單獨(dú)定義
有關(guān)詳細(xì)信息,請(qǐng)參閱"使用鍍膜文件"部分。
圖21. 梯形光柵可用分為兩個(gè)區(qū)域,光柵(Grate)和環(huán)境(Env)。兩個(gè)區(qū)域的折射率可用分別定義。
層數(shù)?
這個(gè)參數(shù)是用來建模梯形形狀的層數(shù)。有關(guān)更多信息,請(qǐng)查看“層的概念”一節(jié)。
鋸齒光柵參數(shù)(Blaze parameters)
鋸齒光柵的參數(shù) (“srg_blze_RCWA.dll”) 與梯形光柵的參數(shù)(“srg_Trapezoid_RCWA.dll”)一致,除了”深度“。
對(duì)于鋸齒光柵,深度可以由給定的Alpha和Beta參數(shù)計(jì)算得來,如圖22所示。
圖22. 鋸齒光柵的形狀由三個(gè)參數(shù)定義:Alpha,Beta和填充因子。
階梯光柵參數(shù)(Step parameters)
以下參數(shù)用于定義階梯光柵(“srg_step_RCWA.dll”)。
深度,階梯數(shù)和Alpha (度)。
深度決定了光柵的高度或厚度,如圖23所示。
階梯數(shù)定義了每個(gè)周期中階梯形狀的數(shù)量,如圖23所示。實(shí)際上,這通常與制造過程有關(guān)。請(qǐng)注意,光柵的形狀正在"向下"朝+x方向移動(dòng),如下圖所示。要反轉(zhuǎn)方向,用戶應(yīng)將光柵繞z軸旋轉(zhuǎn)180度。
圖23.??參數(shù) “階梯數(shù)”定義了每個(gè)周期中階梯形狀的數(shù)量。
參數(shù)Alpha定義另一側(cè)的斜角,如下圖所示。當(dāng)從+z旋轉(zhuǎn)到-x時(shí),Alpha的符號(hào)是正的。圖24顯示了 Alpha為正的示例.
圖24. 參數(shù) Alpha 定義了另一側(cè)的斜角。
每階梯層數(shù)(Layers per step)
這個(gè)參數(shù)定義了每個(gè)階梯中的層數(shù),此參數(shù)只能在參數(shù) Alpha 不為零的情況下使用。否則就是無效的,因?yàn)橛?jì)算結(jié)果不會(huì)改變。下圖顯示了該參數(shù)如何影響斜面的采樣。
圖25. ?參數(shù)Lays of 1 stp定義了每個(gè)階梯中的層數(shù)。
膜層折射率(R)、膜層折射率(I)、膜層頂部厚度(μm)、膜層側(cè)面厚度(μm)
這四個(gè)參數(shù)的定義與梯形光柵一致。參照梯形光柵中的解釋。
圖26. 階梯光柵膜層的頂部和側(cè)面的厚度。
光柵折射率(R)、光柵折射率(I)、環(huán)境折射率(R)、環(huán)境折射率(I)
這四個(gè)參數(shù)的定義與梯形光柵一致。參照梯形光柵中的解釋。
圖21. 階梯型光柵可用分為兩個(gè)區(qū)域,光柵(Grate)和環(huán)境(Env)。兩個(gè)區(qū)域的折射率可用分別定義。
網(wǎng)格偏振線柵參數(shù)(Grid Wire Polarizer parameters)
以下是網(wǎng)格偏振線柵參數(shù)(“srg_GridWirePolarizer_RCWA.dll”)的參數(shù)。
這種光柵基本上是二進(jìn)制光柵。此DLL可用于建模網(wǎng)格線偏振器。
深度 (μm) 和填充因數(shù)
深度時(shí)光柵的高度。
填充因子是0到1之間的數(shù)字,表示柵格區(qū)域的寬度與周期的比值。如圖28所示。
折射率(R)和折射率(I)
與梯形光柵,鋸齒光柵和階梯光柵類似,網(wǎng)格偏振線柵可以分為四個(gè)區(qū)域,這兩個(gè)參數(shù)用于定義光柵區(qū)域的折射率,如圖28所示。
環(huán)境區(qū)域的折射率不能在DLL中定義,因?yàn)樗偸桥c外部區(qū)域的數(shù)值保持一致。外部區(qū)域和基板區(qū)域的折射率都在OpticStudio中定義,它們不能在DLL中更改。
圖28. 網(wǎng)格偏振線柵可以分為四個(gè)區(qū)域:外部區(qū)域,光柵區(qū)域,環(huán)境區(qū)域和基板區(qū)域。光柵形狀由深度和填充因子決定。
用戶自定義光柵參數(shù)(User Defined Grating parameters)
用戶自定義光柵(“srg_user_defined_RCWA.dll”)只有一個(gè)參數(shù)。
文件編號(hào)
該參數(shù)必須是1-99內(nèi)的正整數(shù)。DLL會(huì)從位于\Documents\Zemax\DLL\Diffractive\的名為“user_grating_data_xx.txt”的txt文件內(nèi)讀取光柵數(shù)據(jù),其中xx就是”文件編號(hào)“參數(shù)。
DLL將僅讀取用戶自定義的光柵文本一次,并將數(shù)據(jù)保存在內(nèi)存中。如果文本被修改并且需要重新載入,則將"文件編號(hào)"參數(shù)設(shè)置為負(fù)數(shù)。確保通過系統(tǒng)中的光柵跟蹤至少一條光線以觸發(fā)重新加載:更新布局圖或使用射線跟蹤控制運(yùn)行射線跟蹤。更新形狀數(shù)據(jù)后,請(qǐng)記住將"文件編號(hào)"參數(shù)設(shè)置為正值,讓DLL不會(huì)一直重新加載文本文件以更新光柵數(shù)據(jù)。
圖29. 用戶自定義的光柵數(shù)據(jù)寫在文本文件"user_grating_data_xx.txt"中,其中 xx 是正整數(shù),可以通過使用 DLL"srg_user_defined_RCWA.dll"進(jìn)行讀取。
用戶自定義光柵的文件格式
光柵形狀由多個(gè)層定義。每層由背景材料定義,并可選包含其他材料的幾個(gè)部分。有關(guān)層的更多信息,請(qǐng)參閱"層的概念"部分。
用戶定義的光柵文本文件包含3個(gè)關(guān)鍵字:"層數(shù)"、"層"和"節(jié)"。當(dāng) DLL 讀取文件時(shí),它會(huì)逐行掃描文本以查找這些關(guān)鍵字。找到關(guān)鍵字后,它會(huì)讀取下一行上的數(shù)據(jù)。關(guān)鍵字行和以下行必須遵循下面所述的文件格式。其他部分可以添加任何文本使閱讀更加方便。
層數(shù)
"層數(shù)"關(guān)鍵字下的行應(yīng)包含一個(gè)表示文本中定義的層數(shù)的整數(shù)。
層
"層"關(guān)鍵字下的行包括 4 個(gè)數(shù)字:
本節(jié)中要添加的節(jié)數(shù)
層的厚度(微米)
折射率的實(shí)數(shù)部分
折射率的虛數(shù)部分。
這里的折射率是"背景材料折射率"。
節(jié)
"節(jié)"關(guān)鍵字下的行包括4個(gè)數(shù)字:
該節(jié)的移位量
該節(jié)的寬度
折射率的實(shí)數(shù)部分
折射率的虛數(shù)部分
請(qǐng)注意,移位和寬度都沒有單位。它們表示與該光柵周期的比率。折射率是覆蓋背景材料折射率的"節(jié)折射率"。位移參數(shù)定義了相對(duì)于單個(gè)周期框左邊緣的中心位置。如圖30的例子中,位移量=0.5,寬度=0.5,它們定義了一個(gè)從0.25開始到0.75結(jié)束的節(jié)。
用戶自定義光柵數(shù)據(jù)的例子
圖30展示了一個(gè)由用戶自定義光柵文件定義的光柵,右側(cè)是數(shù)據(jù)文件,左側(cè)是光柵示意圖。在這個(gè)例子中,所有的層都只有一個(gè)節(jié),但是每一層可以包含0個(gè)或多個(gè)節(jié)。同時(shí)也請(qǐng)注意,同一層中包含兩種不同材料時(shí),其中一種需要被定義為”背景材料參數(shù)“,另一種則被定為節(jié)參數(shù)。哪一個(gè)作為背景材料取決于用戶自身。
圖30. 用戶自定義光柵的一個(gè)例子。移位量相對(duì)于單個(gè)周期框的左邊緣。寬度以位移量所定義的位置為中心。
編輯用戶自定義光柵的工具
雖然用戶定義的光柵數(shù)據(jù)可以在文本編輯器(如記事本)中直接編輯,但也可以在可視化工具中進(jìn)行編輯,如圖31所示。用戶需要設(shè)置一個(gè)帶有"srg_user_defined_RCWA.dll"DLL的虛擬系統(tǒng)來讀取此文本文件??梢暬ぞ哌€可以讀取其他RCWA DLL定義的光柵數(shù)據(jù)。
當(dāng)然,在編輯后,數(shù)據(jù)只能輸出為用戶自定義光柵數(shù)據(jù)。
圖31. 可視化工具可以讀取,編輯保存用戶自定義光柵數(shù)據(jù)。
可視化工具
運(yùn)行可視化工具可以幫助用戶定義光柵參數(shù)。單擊Programming … User Extensions … RCWAvisualization.exe,如圖32所示。
圖32. 可視化工具
該工具的用戶界面如圖33所示。

圖33. 可視化工具的用戶界面
可視化工具包括四個(gè)部分,將在下面逐個(gè)介紹。
第一步-讀取DLL(Step 1 - Load DLL)
對(duì)象的下拉菜單將自動(dòng)在使用RCWA DLL的非順序編輯器中列出對(duì)象。要更改對(duì)象,請(qǐng)選擇不同的對(duì)象并單擊"加載"。
第二步-設(shè)置參數(shù)(Step 2 - Set parameters)
基板材料和外部材料僅用于繪圖,不一定反映系統(tǒng)的真實(shí)設(shè)置。玻璃名稱如"N-BK7"可以使用。
所選對(duì)象上的RCWA DLL的參數(shù)名稱和當(dāng)前值會(huì)顯示??梢酝ㄟ^單擊"設(shè)置到對(duì)象"按鈕來修改表中的參數(shù)并應(yīng)用于系統(tǒng)。請(qǐng)注意,此按鈕可以在OpticStudio中生成多個(gè)"撤消",因?yàn)樵O(shè)置每個(gè)衍射參數(shù)被視為單個(gè)操作。
在此部分的底部,可以使用方便的工具設(shè)置"僅這些級(jí)次"參數(shù)。有關(guān)更多信息,請(qǐng)參閱本文中"DLL 參數(shù)>常見參數(shù)>僅這些級(jí)次"部分。
"創(chuàng)建 MCE"按鈕可以在所有DLL參數(shù)的多配置編輯器中產(chǎn)生操作。透射參數(shù)將設(shè)置為從反射參數(shù)中取取的數(shù)據(jù)。這對(duì)于修改系統(tǒng)很有用。當(dāng)然,這需要優(yōu)化光柵參數(shù)。
下面的"第四步-設(shè)置系統(tǒng)"部分解釋了最小和最大列。

圖34. "創(chuàng)建 MCE"按鈕可創(chuàng)建多配置編輯器中的DLL參數(shù)操作。
第三步-光柵編輯器(Step 3 - Grating editor)
單擊"從DLL加載"以讀取來自DLL的光柵數(shù)據(jù),并可視化兩個(gè)圖表。如果DLL參數(shù)不正確且無法繪制,則錯(cuò)誤將顯示為圖35。這是一個(gè)非常有用的工具,用于檢查 DLL 參數(shù)是否正確。
頂部圖表顯示DLL的定義配置文件。它表示了了光柵的折射率。
底部圖表顯示從RCWA算法中使用的Fourier級(jí)數(shù)重建的相同配置文件。這主要用于檢查RCWA算法是否"看到"正確的數(shù)據(jù)。
請(qǐng)注意,由于ZOS-API的限制,目前需要重新定義光柵可視化圖表中的外部和基板區(qū)域的折射率。該工具不能自動(dòng)讀取這些值。要重新定義它們,請(qǐng)使用"第二步"部分中稱為"基板材料"和"外部材料"的兩個(gè)文本框。
如果單擊"從文本中加載"按鈕,則光柵數(shù)據(jù)將從文本文件中用戶定義的光柵數(shù)據(jù)中讀取。有關(guān)更多信息,請(qǐng)參閱"用戶定義的光柵參數(shù)>DLL參數(shù)"部分。
有一個(gè)編輯器在詳細(xì)信息中逐層顯示光柵數(shù)據(jù),如圖31所示。這些數(shù)據(jù)可以進(jìn)行編輯,結(jié)果將在圖表中實(shí)時(shí)更新。鍵盤上的"插入"和"刪除"鍵可用于添加或刪除編輯器中的行。
但是,請(qǐng)注意,即使光柵數(shù)據(jù)可以在編輯器中編輯,數(shù)據(jù)也不能直接傳回系統(tǒng)。它只能導(dǎo)出到文本文件。然后,RCWA DLL"srg_user_defined_RCWA.dll"可以讀取此文本文件。有關(guān)更多信息,請(qǐng)參閱"用戶定義的光柵參數(shù)>DLL參數(shù)"部分。

圖35. 可視化工具檢測(cè)到參數(shù)錯(cuò)誤時(shí)出現(xiàn)的消息框。
第四步-設(shè)置系統(tǒng)(Step 4 - Setup system)
此部分提供了一個(gè)方便的工具,用于生成用于分析或優(yōu)化單個(gè)光柵的系統(tǒng)。
前兩個(gè)表允許用戶設(shè)置角度和波長(zhǎng)進(jìn)行分析。視場(chǎng)角遵循與序列模式下相同的約定。
"視場(chǎng)向?qū)?#34;是定義視場(chǎng)角表的實(shí)驗(yàn)功能。
偏振部分決定了要追跡的偏振態(tài)。如果選擇"Both",將為X和Y偏振的場(chǎng)和波長(zhǎng)的每個(gè)組合構(gòu)建兩條光線。
如果"基板中的射線"選項(xiàng)被選中,則入射射線來自光柵基板。否則光線會(huì)從基板外射出并擊中光柵。
設(shè)置系統(tǒng)后,單擊"創(chuàng)建測(cè)試系統(tǒng)",會(huì)在\Zemax\Samples\RCWA_analyze_x.zmx生成相應(yīng)系統(tǒng)文件,其中x是累積的整數(shù)。該系統(tǒng)包括光柵、探測(cè)器和圖36中示例中的若干測(cè)試光線。還生成評(píng)價(jià)函數(shù)來讀取每個(gè)入射射線的衍射功率,并達(dá)到圖37所示的 100% 目標(biāo)。
在"第二步-設(shè)置參數(shù)"部分中,最大列中的任何參數(shù)都大于最小列,然后在生成的測(cè)試系統(tǒng)中,參數(shù)被設(shè)置為可變參數(shù),并且受制于圖37中顯示的評(píng)價(jià)函數(shù)。

圖36. 可視化工具如何創(chuàng)建測(cè)試系統(tǒng)的示例。

圖37. 當(dāng)可視化工具生成測(cè)試系統(tǒng)時(shí),還需要在功績(jī)函數(shù)編輯器和多配置編輯器中創(chuàng)建所需的操作。
常見問題解答
與內(nèi)置的衍射模型相比
如前所述的光柵模型是基于RCWA算法。那么這個(gè)新的RCWA模型和原來內(nèi)置的衍射光柵模型有什么區(qū)別呢?
答案是:這些模型在衍射方向上是相同的,但衍射光線的電場(chǎng)項(xiàng)不同。
RCWA的核心和內(nèi)置衍射模型都是根據(jù)下式計(jì)算衍射光線。

f1和f2是入射光線和衍射光線的單位向量,


Λ是光柵周期,n1和n2時(shí)入射光線和衍射光線在其中的材料的折射率,m是代表衍射級(jí)次的整數(shù)。
下圖顯示了光柵上的這些向量。

圖38. 此圖中畫出了入射光、衍射光、法向量和光柵向量。
其主要區(qū)別在于RCWA代碼可以定義衍射光線的電場(chǎng),而內(nèi)置模型則不能。
優(yōu)化
將RCWA代碼集成到OpticStudio的好處之一是能夠在充分考慮整個(gè)光學(xué)系統(tǒng)的情況下優(yōu)化光柵參數(shù)。RCWA算法的計(jì)算量很大,通過以下幾點(diǎn)建議獲得更快和更平滑的優(yōu)化。
第一點(diǎn)是關(guān)于插值模式參數(shù)。如果將光柵參數(shù)或波長(zhǎng)設(shè)置為變量,則應(yīng)在優(yōu)化過程中將關(guān)閉插值模式。
在優(yōu)化過程中,如果將光柵參數(shù)或波長(zhǎng)設(shè)置為變量,其值會(huì)隨機(jī)變化,且變化非常頻繁。這意味著檢測(cè)到新的光柵參數(shù)時(shí),DLL都會(huì)在RAM中創(chuàng)建新的采樣網(wǎng)格。這將導(dǎo)致RAM的使用達(dá)到極限;因此,DLL將停止工作。因此,在運(yùn)行任何優(yōu)化之前,請(qǐng)關(guān)閉插值。
請(qǐng)注意,如果沒有將光柵參數(shù)或波長(zhǎng)設(shè)置為變量,建議打開插值模式,以提高優(yōu)化速度。
第二點(diǎn)是在優(yōu)化時(shí)使用光線光源(Source Ray),而不是其他光源。光線光源是始終從指定位置(x,y,z)的指定傳播方向(l,m,n)發(fā)射光線的光源物體。光線光源的偏振態(tài)可以在物體屬性中控制,如下圖所示。

圖39. 光源物體在非序列模式下的偏振態(tài)可以在物體屬性中定義。
幾何錯(cuò)誤
DLLs在代碼內(nèi)檢查了幾個(gè)錯(cuò)誤,以避免參數(shù)錯(cuò)誤,這是參數(shù)組合的無效組合,稱為參數(shù)錯(cuò)誤。當(dāng)DLL檢測(cè)參數(shù)錯(cuò)誤時(shí),它會(huì)停止計(jì)算并返回"幾何錯(cuò)誤"消息。如果有任何參數(shù)錯(cuò)誤,查找檢查的最簡(jiǎn)單方法是打開可視化工具。有關(guān)更多信息,請(qǐng)參閱"可視化工具"部分。
除了參數(shù)錯(cuò)誤之外,還有一些錯(cuò)誤錯(cuò)誤還返回了幾何錯(cuò)誤,而可視化工具無法發(fā)現(xiàn)這些錯(cuò)誤。這些稱為計(jì)算錯(cuò)誤。要查找在光線跟蹤過程中DLL內(nèi)部發(fā)生的任何計(jì)算錯(cuò)誤,則需要打開錯(cuò)誤日志。有關(guān)進(jìn)一步信息,請(qǐng)參閱"錯(cuò)誤日志"。
下面列出了這些幾何錯(cuò)誤最常見的原因,以及如何在可能的情況下解決它們。
許可證、OS版本、OS版次和有效期
這兩個(gè)DLL在OpticStudio版本20.1(21/01/20)中實(shí)現(xiàn),只有高級(jí)訂閱許可證可用。DLL將在OpticStudio 20.1發(fā)布后大約一年后到期。如果DLL檢測(cè)到任何上述條件不滿足,它將停止計(jì)算并返回錯(cuò)誤,錯(cuò)誤消息如下所示。

圖40. 無效許可證、到期或OpticStudio版本的錯(cuò)誤消息。
分裂NSC光線
要使用DLL模型,必須打開分裂NSC光線(Split NSC Rays)選項(xiàng)。否則,DLL將停止計(jì)算并返回錯(cuò)誤。請(qǐng)注意,此設(shè)置可以單獨(dú)在光線追跡控制(Ray Trace Control?)對(duì)話框,三維布局圖(3D Layout),和實(shí)體模型(Shaded Model)中設(shè)置。用戶應(yīng)該仔細(xì)檢查所有設(shè)置是否正確。
光柵參數(shù)
非物理光柵參數(shù)是產(chǎn)生幾何錯(cuò)誤的常見原因之一。這類錯(cuò)誤會(huì)報(bào)告為可視化錯(cuò)誤。
最大RAM內(nèi)存空間
如“插值”和“優(yōu)化”部分所述,軟件內(nèi)部存在DLL使用的最大RAM空間上限。當(dāng)達(dá)到極限時(shí),DLL停止計(jì)算并返回幾何錯(cuò)誤。
這個(gè)問題可以通過關(guān)閉插值模式或重新啟動(dòng)OpticStudio,以釋放DLL分配的RAM空間來解決。
請(qǐng)注意,通常情況下,只要系統(tǒng)沒有以光柵參數(shù)或波長(zhǎng)為變量進(jìn)行優(yōu)化,就不會(huì)達(dá)到這個(gè)極限。
這類錯(cuò)誤會(huì)在錯(cuò)誤日志中體現(xiàn)。
掠入射角
打開插值后,如果光線入射到角度過大的光柵上,DLL會(huì)返回幾何錯(cuò)誤。這是因?yàn)樵诓蓸泳W(wǎng)格的邊緣沒有外推。當(dāng)入射角大約大于89度時(shí),就會(huì)發(fā)生錯(cuò)誤。這個(gè)問題可以通過關(guān)閉插值來解決。
倏逝波
在特殊情況下,即入射光滿足以下三個(gè)條件之一,DLL不能計(jì)算,并返回幾何錯(cuò)誤。(L + m*λ/Λ)^2 + M^2 = 1
(L + m*λ/Λ)^2 + M^2 = n1^2
(L + m*λ/Λ)^2 + M^2 = n2^2
(L, M)是入射光線相對(duì)于光柵局部坐標(biāo)的x和y方向余弦,λ是光的波長(zhǎng),Λ是光柵周期,n1是入射側(cè)的折射率,n2是透射側(cè)的折射率,m是任意整數(shù)。
如果任意整數(shù)m可以使上述3個(gè)方程中的任何一個(gè)成立,則DLL無法計(jì)算,并返回幾何錯(cuò)誤。
注意,這個(gè)錯(cuò)誤是不太可能發(fā)生的,因?yàn)橹挥猩贁?shù)光線可以滿足條件并被停止。根據(jù)我們的經(jīng)驗(yàn),當(dāng)光的波長(zhǎng)與光柵周期相同,并且光線垂直入射到光柵上,用戶最可能遇到該情況。這種情況下,可以通過略微改變光柵周期來解決該問題,例如:從0.55μm改到0.55001μm。
這類錯(cuò)誤會(huì)在錯(cuò)誤日志中體現(xiàn)。
節(jié)能
在RCWA模型中,每次計(jì)算一條光線時(shí),DLL代碼都會(huì)測(cè)試能量是否守恒。這類錯(cuò)誤會(huì)在錯(cuò)誤日志中體現(xiàn)。
限制和反饋:
目前的DLL支持一維光柵,僅支持階梯或梯形配置文件,不支持衍射透鏡。
這不是RCWA算法的限制,所以如果您對(duì)這些功能中的任何一個(gè)感興趣,請(qǐng)將您的反饋發(fā)送公眾號(hào)后臺(tái)或者聯(lián)系工作人員。
另一方面,此DLL主要針對(duì)小周期設(shè)計(jì)。例如,如果周期大于事件波長(zhǎng)的100倍,則需要在計(jì)算中考慮許多諧波,這非常緩慢,并且PC中需要大量RAM。
示例
示例1:梯形光柵的效率
圖4(a)中的示例再現(xiàn)了論文:"Design and fabrication of binary slanted surface-relief gratings for a planar optical interconnection."?applied optics?36.23 (1997): 5717-5727 中的結(jié)果。
打開附件中名為“verify_1997_Design_and_fabrication.zar” 的文件。
該文件包含在衍射光柵物體內(nèi)部發(fā)出光線的光線光源(Source Ray)(請(qǐng)查看該光源的“在...內(nèi)部(Inside Of?)”項(xiàng))。該物體的前表面是衍射的,并使用了“srg_Trapezoid_RCWA.dll”。兩個(gè)極探測(cè)器(Detector polar?)物體測(cè)量透射(物體4)和反射(物體5)光線。

圖41. (a)顯示示例1的非序列元件編輯器。(b)顯示示例1的布局圖。
系統(tǒng)波長(zhǎng) = 0.633 μm
物體1是讀取DiffractionGrating.dll得到的用戶定義物體,它是矩形體,其前表面有簡(jiǎn)單的線性光柵,用戶可以定義其x、y方向和長(zhǎng)度。這個(gè)示例展示了如何定義和測(cè)試衍射物體。任何追跡到前表面的光線都將調(diào)用在物體屬性(Object Properties)>衍射(Diffraction)下定義的相關(guān)衍射DLL。
在物體屬性(Object Properties)?>?衍射(Diffraction)下,選擇DLL :srg_Trapezoid_RCWA.dll,并按照如下參數(shù)設(shè)置:
光柵周期為0.943 *波長(zhǎng) = 0.596919。
光柵深度為1.058 *波長(zhǎng)= 0.669714。
填充因子是 0.5。
?Alpha 和 Beta 的夾角是30度。注意 Alpha 和 Beta 的符號(hào)取決于你如何建立這個(gè)系統(tǒng)。在論文中這個(gè)角是?-30°,但是在我們的系統(tǒng)中是30°。

圖41. 示例1中衍射光柵的設(shè)置。
注意,在上面的圖片中,將起始階數(shù)(Start Order)和終止階數(shù)(Stop Order)都設(shè)置為1。這意味著只追跡到第一衍射級(jí)次,忽略了其他級(jí)次,有益于觀察特定級(jí)次的特性。
評(píng)價(jià)函數(shù)如下所示,用來計(jì)算每個(gè)探測(cè)器接收到的能量。

圖42. 示例1中的評(píng)價(jià)函數(shù)(Merit function)。這是用來計(jì)算探測(cè)器探測(cè)到的能量的。
在多重結(jié)構(gòu)編輯器(Multi-Configuration Editor,MCE)中輸入衍射DLL的參數(shù),如下圖所示。注意,反射參數(shù)只是從透射參數(shù)值中拾取的。

圖43. 衍射DLL的參數(shù)可以在多重結(jié)構(gòu)編輯器中公開。這很方便,因?yàn)橥干鋮?shù)可以從圖中28-40行的反射參數(shù)中自動(dòng)拾取。
最后,利用分析?(analyze)?>通用繪圖?(Universal Plot)?下的一維通用繪圖(Universal Plot 1D)?來驗(yàn)證本文的結(jié)果。
下圖中的x軸是光柵的深度。
y軸是反射或透射的不同級(jí)次的衍射效率。
注意,在繪制反射級(jí)次k=0和k=2?(綠色和紫色線)時(shí),將起始階數(shù)和終止階數(shù)更改為0和2。

圖44. 在一維通用繪圖中,y軸表示衍射效率,x軸表示光線入射角。不同的線代表透射或反射的不同的衍射級(jí)次。
下圖顯示了參考文獻(xiàn)中論文給出的結(jié)果。

圖45.? 論文 "Design and fabrication of binary slanted surface-relief gratings for a planar optical interconnection."?applied optics?36.23 (1997): 5717-5727 中的圖 4(a)。
示例2:帶有梯形光柵的波導(dǎo)
這個(gè)例子將演示梯形光柵在波導(dǎo)系統(tǒng)中的應(yīng)用。波導(dǎo)頂部有兩個(gè)梯形光柵。此文件為附件中的:
RCWA_Trap_waveguide_addlens.zar。
如下圖所示,在左側(cè),朗伯圖像光源位于近軸透鏡的焦平面上。來自圖像光源的光被近軸透鏡折射,然后通過第一個(gè)光柵耦合到波導(dǎo)中。在右側(cè),用第二個(gè)光柵把光耦合出去。最后,由第二個(gè)近軸透鏡將輸出耦合光重新成像到同樣位于焦平面的探測(cè)器上

圖46. 示例2的系統(tǒng)布局圖。
以下為本例中值得注意的一些要點(diǎn)。
下圖顯示了每個(gè)周期的結(jié)構(gòu)。
在這個(gè)文件中,使用srg_Trapezoid_RCWA.dll來構(gòu)建光柵。兩個(gè)光柵具有相同的形狀,這個(gè)二元光柵的填充因子?= 0.5,深度?= 0.2μm,周期?= 0.43μm。Alpha 和 Beta 都是0。在光柵的頂部有一層 20 nm 厚的膜層。因此,光柵的總深度是0.22 μm。
圖47. 示例2中光柵各層的折射率分布和厚度。
光柵在非序列元件(NSC)編輯器中是“用戶定義物體(User Defined Object)”。它們是根據(jù)波導(dǎo)物體定義的,波導(dǎo)物體是矩形體。光柵與波導(dǎo)的面1重疊。因?yàn)槎x波導(dǎo)后,當(dāng)光線擊中重疊的表面,嵌套規(guī)則后,光線將到達(dá)光柵,并產(chǎn)生衍射(更多信息請(qǐng)參閱幫助文件的設(shè)置(Setup?)選項(xiàng)卡>?編輯(Editors?)組?>?非序列元件編輯器(Non-sequential Component Editor)>?非序列概述?(Non-sequential Overview?)?>?物體位置?(Object Placement)?部分)。
圖48. 布局圖和非序列元件編輯器中的波導(dǎo)和兩個(gè)光柵。
物體3是矩形光源(Source Rectangle),它用矩形來模擬準(zhǔn)直光束。物體2是幻燈片(Slide)物體。它是由“{Zemax}\IMAFiles\QR_code_Zemax.jpg”圖形文件定義的彩色RGB透明物體。
圖49. 示例2中使用的測(cè)試圖片。這是二維碼,里面的文字是“http://zemax.com”..
幻燈片物體具有朗伯散射特性。采用重點(diǎn)采樣(Importance Sampling),只考慮散射到近軸透鏡上的光線。
圖50. 示例2中幻燈片物體(物體#2)的散射設(shè)置。
二維碼通過波導(dǎo)成像。探測(cè)器上的模擬圖像如下圖所示。
圖51.??示例2系統(tǒng)模擬的圖像
參考文獻(xiàn)
M. G. Moharam, Drew A. Pommet, Eric B. Grann, and T. K. Gaylord, "Stable implementation of the rigorous coupled-wave analysis for surface-relief gratings: enhanced transmittance matrix approach," J. Opt. Soc. Am. A 12, 1077-1086 (1995)
Kogelnik, H., "Coupled wave theory for thick hologram gratings, " Bell Syst. Tech. J. 48, 2909-2947 (1969).
Glytsis, E. N. and Gaylord, T. K., "Rigorous 3-D coupled wave diffraction analysis of multiple superposed gratings in anisotropic media," appl. Opt. 28(12), 2401-2421 (1989).