01 說明
Lumerical 次波長模型(Lumerical Sub-Wavelength Model,LSWM)的輸出可用于Ansys Speos或Zemax OpticStudio中。仿真流程是:在Lumerical 對具有平面疊層和/或周期圖案的納米尺度結構建模并求解后,將結果輸出作為光學表面屬性,用于幾何光學模型中仿真。這些結構的典型例子是涂層和衍射光柵,其特征尺寸與光的波長相當或更小。描述表面散射的數據以JSON文件格式儲存,并作為表面屬性加載到Speos或Zemax OpticStudio中。
本文主要說明如何使用Lumerical求解器從仿真中提取散射數據。
有關如何在 Speos 中使用 LSWM 的數據,請參閱 Lumerical Sub-wavelength Model: Usage in Speos: ;
有關如何在Zemax OpticStudio中使用LSWM的信息,請參閱如何將光柵數據從Lumerical加載到OpticStudio:。
02 介紹
LSWM主要使用在Lumerical 中FDTD、RCWA及STACK三種不同的求解器,可以針對涂層或衍射光柵模擬,并將表面的屬性保存在JSON文件中。不同的求解器適合用于不同類別的結構:
- 平面疊層:它具有鏡面散射和透射表面,可以用Lumerical STACK進行模擬。
- 衍射光柵:它是周期性結構,會將光散射到符合物理邊界條件的衍射級次。LSWM模型支持1D和任意2D光柵類型。衍射光柵可以用Lumerical FDTD或RCWA模擬。(有關FDTD和RCWA之間的比較,請參閱RCWA求解器簡介:https://optics.ansys.com/hc/en-us/articles/4414575008787)。
- 理想化的疊層和光柵屬性都可以用Lumerical腳本生成并匯出到數據文件中。
注意:Lumerical FDTD和RCWA目前只支持1D或2D正交光柵結構,或可轉換為正交周期的光柵。
03 從Lumerical導出表面屬性
本案例主要用腳本來操作Lumerical執行流程。附加的腳本檔案中,包含自動執行所需仿真、數據處理并以正確格式儲存結果的功能。其中使用腳本命令 feval 將所需的函數匯入到腳本工作區(Script Workspace),以加載帶有函數定義的相應檔案。
執行腳本之前必須定義要計算的入射角和波長范圍。LSWM總是假設Z軸與表面是垂直的。在這些示例中,入射光的方向是使用theta和phi角定義的。附錄中給出了準確的定義。請注意,如果Theta、phi或波長僅指定了單個值,則假設表面特性獨立于該變量。例如對于方位對稱的涂層,應該使用單個值phi=0。同樣的,對于與波長無關的表面,應使用單個波長值。
從仿真中導出表面屬性的一般工作流程如下:
1. 定義亞波長幾何形狀、材料屬性和所需的仿真對象。在用STACK的情況下,這可以完全以腳本完成。
2. 在腳本檔案中定義源的波長和入射角范圍。
3. 執行腳本檔案以啟動必要的模擬,并將結果匯出到JSON檔案。
求解不同表面類型,或使用不同求解器在腳本流程中會不太相同。所有情況下,驅動腳本“GratingExport_*_workflow.lsf”,都需要從“GratingExport_*_functions.lsf” 中呼叫所需函數。詳細說明請參閱相應腳本檔案的標題批注說明。
“GratingExport_utility_functions.lsf”腳本檔案包含通用函數,可以與特定求解器的函數一起使用。主要函數包含:
“WriteGratingData”用于編寫JSON檔案,該檔案可以使用RCWA/FDTD的資料匯入Speos或Zemax OpticStudio。
“ReadGratingData”從JSON檔案中讀取資料,并將其儲存為可以輕松可視化的矩陣數據集。
“validateWithLegacySupport”與提供的檔案“schema grating-surface-schema.json”檢查生成的JSON檔案的格式。
04不同特性表面用不同求解器的情況介紹
平面疊層(STACK方法)
當使用STACK求解器仿真疊層結構時,幾何和仿真參數都在腳本中定義。檔案“GratingExport_STACK_functions.lsf”中的“layerSTACK”和“dielectric_interface”函數執行STACK模擬并將結果匯出到JSON檔案。函數的詳細說明請參考“GratingExport_STACK_functions.lsf”。
對于衍射光柵,下面會先用較少的入射光條件,分別對RCWA方法與FDTD方法流程做一個介紹,并說明設定的區別與結果比較。
衍射光柵(RCWA方法)
在 LSWM 中,FSP檔案只需要幾何對象和FDTD仿真區域,其中RCWA求解的x和y范圍(相當于光柵周期)將從FDTD仿真區域定義。使用函數部分,“GratingExport_RCWA_functions.lsf”腳本中的“RCWAGratingSimulations”函數用于執行RCWA模擬,并將結果整理成struct 格式,此格式可以傳遞給“GratingExport_utility_functions.lsf”腳本中的“WriteGratingData”函數,由此函數產生要給Speos或Zemax的JSON 檔案。
RCWA方法工作流程范例說明
在此用垂直表面的入射光和25個波長條件執行GratingExport_FDTD_RCWA_workflow.lsf。這使我們能夠快速比較FDTD和RCWA的結果。稍后,使用RCWA可以相對快速地模擬全范圍的角度和波長。GratingExport_FDTD_RCWA_workflow.lsf中初始執行的關鍵設定是:
solver = “RCWA”
theta_min = theta_max = 0 and N_theta = 1
phi_min = phi_max = 0 and N_phi = 1
wavelength_start = 0.4 microns, wavelength_stop = 0.7 microns 且 N_wavelength = 25
num_layers = 10
num_k_vectors = 10
grating_dimension = 1 因為這是一個在xz平面的1維光柵
執行此檔案將為Speos或Zemax OpticStudio建立JSON檔案,然后使用“ReadGratingData”和“validateWithLegacySupport”實用程序函數加載它進行模式驗證和可視化。例如,要檢視從空氣到玻璃的透過率,對于S偏振光 的3個不同的衍射級次,我們可以使用以下設定檢視第三個可視化結果(“RCWA_upper_T”數據集):
衍射光柵(FDTD方法)
FDTD和RCWA衍射光柵仿真的工作流程有許多相似之處。不同之處在于FSP檔案除了幾何與FDTD模擬區,還要包含來自對象庫的“Grating S參數”分析組。執行LSWM流程之前,需把FDTD仿真的必須設定先設定好,比如正確設定邊界條件和模擬時間等。使用函數部分,與RCWA工作流程不同,此流程有獨立的功能來執行FDTD仿真(“RunFDTDGratingSimulations”)與將數據轉換為正確的格式(“LoadFDTDGratingSimulations”)。這兩個函數都可以在“GratingExport_FDTD_functions.lsf”檔案中找到。“LoadFDTDGratingSimulations”函式返回與“RCWAGratingSimulations”格式相同格式的數據,因此工作流程的其余部分與RCWA相同:結構中的數據以JSON格式儲存(“WriteGratingData”),也可以進行驗證(“validateWithLegacySupport”)和可視化(“ReadGratingData”)。
FDTD方法工作流程范例說明
有關使用這些函式執行FDTD模擬的示例腳本,請參閱“GratingExport_FDTD_RCWA_workflow.lsf”。
如RCWA驗證條件,初步使用垂直表面的入射光和25個波長執行GratingExport_FDTD_RCWA_workflow.lsf,以快速比較FDTD和RCWA結果。GratingExport_FDTD_RCWA_workflow.lsf中用于FDTD初始執行的關鍵設定是
solver = “FDTD”
theta_min = theta_max = 0 and N_theta = 1
phi_min = phi_max = 0 and N_phi = 1
wavelength_start = 0.4 microns, wavelength_stop = 0.7 microns 且 N_wavelength = 25
source_type = 1 僅正向入射的情況不需使用BFAST.
執行此檔案將為Speos或Zemax OpticStudio建立JSON檔案,并將開啟四個可視化工具來顯示結果。同樣我們從第三個可視化窗口檢視從空氣到玻璃的透過率,對于S偏振光的3個不同的衍射級次,結果如下:
比較FDTD和RCWA 光柵計算結果
執行上述簡單的FDTD和RCWA示例后,執行腳本檔案compare_FDTD_RCWA_results.lsf。它讀取JSON檔案,并在同一個可視化工具中顯示4個結果中的每一個。它將上面光柵用FDTD與RCWA算法下, 3個衍射級次從空氣到玻璃的傳輸與波長的關系,對S和P偏振分別繪圖如下所示。我們可以看到求解器之間的良好一致性,要讓兩者更接近,可以透過對兩種算法做收斂測試得到,如提高FDTD中的網格精度(超出當前的2個設定)以及增加RCWA中的層數和k向量數。
示例:光柵完整仿真
要創建光柵更完整的表征,包含所有入射角和波長入射光條件的 JSON 文件,可以對 GratingExport_FDTD_RCWA_workflow.lsf 文件進行以下更改:
solver = “RCWA”
theta_min = 0, theta_max = 85 , N_theta = 18 (提供5度一數據)
phi_min = 0, phi_max = 360 , N_phi = 37 (提供10度一數據)
wavelength_start = 0.4 microns, wavelength_stop = 0.7 microns , N_wavelength = 25
這可能需要一到幾個小時才能在計算機上完成。在FDTD也可以完成同樣的過程,但通常需要更長的時間。
理想化表面
“GratingExport_test_functions.lsf”腳本文件包含多個函數,用于為理想化的表面結構創建JSON文件,而無需使用模擬。可以創建以下表面類型:
具有用戶指定透射/反射的鏡面反射(“simpleRT”)
基于瓊斯矩陣的曲面(“jonesMatrix”)
具有用戶指定階次效率的衍射光柵,包括:
- 對更高或更低入射角度(“grating_test_symmetrical”和“grating_test_simple_cartesian”)具有相同響應的光柵
- 對更高或更低入射角度具有不同響應的光柵(“grating test”)
- 1D 光柵 (“grating_test_1D”)
有關詳細信息,請點擊閱讀原文并參閱“GratingExport_test_functions.lsf”腳本文件開頭的函數說明以及“GratingExport_test_workflow.lsf”腳本文件。
審核編輯:湯梓紅
-
仿真
+關注
關注
50文章
4082瀏覽量
133613 -
模型
+關注
關注
1文章
3243瀏覽量
48842 -
腳本
+關注
關注
1文章
389瀏覽量
14866 -
求解器
+關注
關注
0文章
77瀏覽量
4535
原文標題:Lumerical次波長數據模型與幾何光學聯合仿真
文章出處:【微信號:光電資訊,微信公眾號:光電資訊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論