Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)

簡介

 

本文提出并演示了一種以二維光柵耦出的光瞳擴展(EPE)系統優化和公差分析的仿真方法。

 

在這個工作流程中,我們將使用3個軟件進行不同的工作 ,以實現優化系統的大目標。首先,我們使用 Lumerical 構建光柵模型并使用 RCWA 進行仿真。其次,我們在 OpticStudio 中構建完整的出瞳擴展系統,并動態鏈接到 Lumerical 以集成精確的光柵模型。最后,optiSLang 用于通過修改光柵模型來全面控制系統級優化,以實現整個出瞳擴展系統所需的光學性能。

 

本篇文章分為上下兩個部分(點此查看上部分),下將詳細描述“第3步:優化設置的內容”。(聯系我們獲取文章附件)

 

概述

 

我們將首先在 Lumerical 和 OpticStudio 中構建仿真系統,它們是動態鏈接的。

 

然后,OpticStudio 通過 Python 節點鏈接到 optiSLang 進行優化,如圖1所示。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖1

 

圖1 Lumerical通 過動態鏈接到 OpticStudio,OpticStudio 通過 Python 節點鏈接到 optiSLang,優化由 optiSLang 控制。

 

如圖2所示,EPE 系統包括兩個用于耦入和耦出的光柵。耦出光柵分為幾個區,如左側所示。每個區都將經過優化,以具有不同的光柵形狀。右圖顯示了光在 k 空間中的傳播的變化情況。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖2

 

圖 2 光柵布局圖以及光線在K空間的傳播

 

第3步:優化設置(optiSLang)

 

3-2.參數系統

準備好 Python 代碼后,我們就可以開始在 optiSLang 中進行優化了。第一步是在  optiSLang 中打開一個空文件,拖動求解器向導,放入 scenery 中,然后選擇 Python 集成。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖3

 

如下所示,會彈出向導窗口  ,顯示 Python 代碼。我們將首先通過右鍵單擊變量(如 clen1)來設置參數,然后選擇用作參數。我們將對從 clen1 到 power 的所有變量執行此操作。如下所示,所選變量將顯示為左列“參數”。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖4

 

設置完參數后,我們應該測試 Python 代碼是否可以成功運行。為此,我們應該打開 OpticStudio 并打開交互式擴展模式,如下所示。然后在求解器向導中,我們可以單擊向下箭頭并選擇“Test run with inputs”,如下所示。如果它運行良好,您應該看到,在 OpticStudio 窗口中,交互式擴展的對話框將顯示為“已連接”。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖5

 

如果測試運行失敗,其中一個可能的原因是 Python 環境不對。用戶可以更改設置,如下所示,以查看是否可以解決問題。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖6

 

計算完成后(在我們的測試中大概需要 13 分鐘),我們應該在日志中看到消息“Manual test run successfully processed”,如下所示。現在,如果我們轉到***.opd文件夾(可以通過右鍵單擊系統頭并選擇“show working directory”輕松訪問),我們可以找到輻照分布被導出到文件夾

“\Parametric_solver_system\design_data”中,這是 Python 代碼中指定的路徑。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖7

 

類似于對參數的設置,我們可以對結果做相同的操作。在這里,我們將右鍵單擊 Python 代碼中的變量“Uniformity”, “Contrast”, 和 “TotalPower”然后選擇“Use as response”。然后,這 3 個變量將在 Responses 的右側列中顯示。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖8

 

向導的下一頁要求用戶定義每個參數的參考值和范圍。參考值將只遵循我們在上一步中設置參數時的定義。范圍由設計師決定,沒有標準參考值。用戶可以在下載鏈接中查看隨附的 optiSLang 文件,作為在優化過程中確定范圍的參考。請注意,此范圍是絕對的。在優化過程中,參數不會突破邊界。這與 Zemax OpticStudio 優化的設置不同。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖9

 

在向導的下一頁中,我們需要根據給定的響應設置條件。如下圖所示,我們可以將響應拖到底部以設置約束或目標。在這種情況下,我們設置了 3 個目標,以最小化對比度、均勻性以及最大化總功率。我們還可以為對比度和總功率設置 2 個約束來告訴 optiSLang,避免一些極端情況,即結果是均勻的,而總功率極低,或者相反的情況。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖10

 

最后一頁不需要操作。單擊“完成”按鈕后,工作區中將顯示參數系統。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖11

 

3-3.(可選)設置并行計算

本節中的操作不是必須的。在這里,我們將展示如何在 optiSLang 端設置并行計算以加快優化速度。如果用戶擁有多個 Lumerical FDTD 求解器許可證,則可以考慮這樣做。要進行此設置,第一步是右鍵單擊參數化系統塊,選擇“編輯”,然后將極限最大值并行設置為6或任何不大于  8的數字或 Lumerical FDTD 求解器許可證的總數量,如下所示。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖12

 

注意我們需要做同樣的事情來右鍵單擊 Python 節點并選擇“編輯”。要設置詳細信息,我們需要首先單擊右上角的漢堡標記,檢查屬性和占位符,然后單擊“確定”按鈕。然后我們可以將最大并行設置為6,如下所示。請注意,我們還需要在窗口的下部將最大值并行設置為6。如果先設置此參數,上面的 MaxParallel 也會自動更改,但仔細檢查它是否按預期設置更安全。

 

最后,建議檢查 “Retry execution”,將重試次數設置為 20,并將嘗試間隔延遲設置為 1000 毫秒。此設置可避免 optiSLang 嘗試訪問具有 1 個以上線程的同一 OpticStudio 實例的爭用條件。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖13

 

如果并行設置是多個,在運行 optiSLang 時,我們還需要打開相同數量的 OpticStudio 實例,那么 optiSLang 可以為每個實例創建一個線程。

 

3-4.靈敏度以及優化設置

下一步是設置靈敏度分析。一般來說,靈敏度分析是一種找出對響應影響最大的最重要參數的方法,并生成顯示響應和參數變化之間關系的最佳元模型,以更好地了解系統行為。

 

靈敏度系統可以通過將向導拖動到參數化系統塊來設置,如下所示。參數和條件將被復制,我們不需要再次設置。默認情況下,它將建議 AMOP 模型,我們可以保留此設置。AMOP 是一種迭代抽樣方法,將設計采樣到設計空間中,直到達到目標標準 – 最大設計或模型質量。因為本模型具有高度非線性,無法達到足夠的模型質量,因此在下一階段將進行實際運行優化。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖14

 

類似地,我們將優化向導拖到 AMOP 模塊中以進行優化。請注意,當它詢問優化方法時,我們應該選擇 Real Run,因為該系統永遠不會有高質量的最佳預后元模型(MOP)。MOP 是在(Most and Will 2008)中提出的,它基于對最佳輸入變量集和最合適的近似模型(多項式或具有線性或二次基的 MLS)的搜索。對于優化算法,建議使用進化算法,它適用于非常不均勻和不連續的解空間。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖15

 

3-5.開始優化

用戶只需打開一個 OpticStudio 并在交互式擴展模式下準備就緒即可。注意必須取消選中斷開連接時自動關閉,如下所示。請注意,如果并行計算已設置為6,如上所述,用戶將需要在此處打開相同數量的實例(例如6個),optiSLang 將同時訪問所有實例。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖16

 

當一切準備就緒后,我們可以單擊按鈕進行優化。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖17

 

在這個示例系統中,我們花了大約 2~3 天的時間在普通臺式 PC 上運行此優化。

 

3-6.優化結果

通過雙擊進化算法塊擴展的后處理可以找到優化結果,如下所示。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖18

 

下圖中的紅色標記設計稱為帕累托邊界。一般來說,帕累托邊界顯示了多個目標之間的權衡,即不存在一個設計在各項指標上均優于另一個的情況。這意味著所有這些設計都顯示了多個標準的不同平衡。我們選擇了 3 個結果,如下所示  。986號的對比度比946號高,同時看起來更均勻。這意味著這里使用的標準可以改進,以更好地匹配人類視覺。

 

Zemax & Lumerical | 二維光柵出瞳擴展系統優化(下)的圖19

 

后續

 

以下是本文未涵蓋的一些注意事項,但用戶在嘗試為其系統遵循此過程時可能需要留意。

· 在本演示中,我們只考慮中心視場,即通常入射在波導上的準直光束。為了更全面的優化,可以添加更多視場以覆蓋全視野下的均勻性。
· 實際上,該系統僅設計用于單個波長。根據系統設計,優化可以包括多個波長。
· 一些輻照度分布看起來更均勻,但對比度更高。可以通過修改 Python 代碼來改進標準。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

2