新聞動(dòng)態(tài)

News Center

聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

發(fā)布日期:
2023-06-12

瀏覽次數(shù):


簡(jiǎn)介



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


在這個(gè)工作流程中,我們將使用3個(gè)軟件進(jìn)行不同的工作 ,以實(shí)現(xiàn)優(yōu)化系統(tǒng)的大目標(biāo)。首先,我們使用Lumerical構(gòu)建光柵模型并使用RCWA進(jìn)行仿真。其次,我們?cè)贠pticStudio中構(gòu)建完整的出瞳擴(kuò)展系統(tǒng),并動(dòng)態(tài)鏈接到Lumerical以集成精確的光柵模型。然后,optiSLang用于通過(guò)修改光柵模型來(lái)全面控制系統(tǒng)級(jí)優(yōu)化,以實(shí)現(xiàn)整個(gè)出瞳擴(kuò)展系統(tǒng)所需的光學(xué)性能。


本篇文章將分為上下兩個(gè)部分,附件可通過(guò)文末”閱讀原文“獲取。



概述



我們將首先在Lumerical和OpticStudio中構(gòu)建仿真系統(tǒng),它們是動(dòng)態(tài)鏈接的。參見Dynamic workflow between Lumerical RCWA and Zemax OpticStudio:https://support.zemax.com/hc/en-us/articles/6367505128979-Dynamic-workflow-between-Lumerical-RCWA-and-Zemax-OpticStudio。


然后,OpticStudio通過(guò)Python節(jié)點(diǎn)鏈接到optiSLang進(jìn)行優(yōu)化,如圖1所示。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖1 Lumerical通過(guò)動(dòng)態(tài)鏈接到OpticStudio,OpticStudio 通過(guò) Python 節(jié)點(diǎn)鏈接到 optiSLang,優(yōu)化由optiSLang控制。


如圖2所示,EPE系統(tǒng)包括兩個(gè)用于耦入和耦出的光柵。耦出光柵分為幾個(gè)區(qū),如左側(cè)所示。每個(gè)區(qū)都將經(jīng)過(guò)優(yōu)化,以具有不同的光柵形狀。右圖顯示了光在 k 空間中的傳播的變化情況。

有關(guān) k 空間的更多信息,請(qǐng)參閱以下文章:How to simulate exit pupil expander (EPE) with diffractive optics for augmented reality (AR) system in OpticStudio: part 1:https://support.zemax.com/hc/en-us/articles/1500005491081


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

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



第 1 步:系統(tǒng)設(shè)置 (Lumerical)

打開附件中的ZAR文件時(shí),兩個(gè)光柵文件會(huì)被提取到設(shè)置的路徑中。第 一個(gè)光柵如圖3所示,它是耦入光柵中使用的二元光柵。該光柵是固定的,在優(yōu)化過(guò)程中不會(huì)改變。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 3 耦入光柵結(jié)構(gòu)為二元光柵。


第二個(gè) .fsp 文件如圖 4 所示,它是一個(gè)具有 7 個(gè)變量的平行四邊形柱體。在優(yōu)化期間,耦出中的每個(gè)區(qū)都將使用不同的變量組合集進(jìn)行優(yōu)化 。有關(guān)優(yōu)化設(shè)置的更多信息將在優(yōu)化設(shè)置部分中進(jìn)行說(shuō)明。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 4 耦出光柵中的結(jié)構(gòu)為平行四邊形支柱。


這兩個(gè).fsp文件都是用動(dòng)態(tài)鏈接的形式在OpticStudio中用于模擬完整的EPE系統(tǒng)。

有關(guān)動(dòng)態(tài)鏈接的更多信息,請(qǐng)參閱 Dynamic workflow between Lumerical RCWA and Zemax OpticStudio:https://support.zemax.com/hc/en-us/articles/6367505128979-Dynamic-workflow-between-Lumerical-RCWA-and-Zemax-OpticStudio



第 2 步:系統(tǒng)設(shè)置(OpticStudio)

如圖5所示,在該系統(tǒng)中,準(zhǔn)直光束入射到耦入光柵上,通過(guò)波導(dǎo)傳播,并與第二個(gè)光柵耦合。眼盒位于第二個(gè)光柵的較遠(yuǎn)部分。優(yōu)化的目標(biāo)是優(yōu)化眼盒接收的均勻性和總功率。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 5 初始EPE系統(tǒng)和眼盒輻照度。


在附件中有一個(gè)OpticStudio中建立的整個(gè)EPE系統(tǒng)的zar文件。如圖 6所示,僅構(gòu)建了第二個(gè)光柵一半的區(qū)域。這是因?yàn)橄到y(tǒng)具有對(duì)稱性。從圖 7 可以看出,探測(cè)器的參數(shù)鏡像設(shè)置為 1,這意味著在光線追跡期間,將始終對(duì)-x和+x部分進(jìn)行鏡像。這樣一來(lái),我們可以只用一半的光線獲得相同的模擬結(jié)果。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 6 OpticStudio中的 EPE 系統(tǒng)設(shè)置。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖7 探測(cè)器的鏡像參數(shù)設(shè)置為 1,這意味著該探測(cè)器在 x 方向上鏡像。


可以看出, 系統(tǒng)中的所有光柵物體都已使用動(dòng)態(tài)鏈接DLL進(jìn)行設(shè)置,如圖 8所示。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 8 為 EPE 系統(tǒng)中的光柵加載動(dòng)態(tài)鏈接 DLL。



第3步:優(yōu)化設(shè)置(optiSLang)

3-1.Python 用于評(píng)估系統(tǒng)

附件中包含了一個(gè)python文件EPE_2D_for_optiSLang.py,用于將optiSLang鏈接到OpticStudio。使用python代碼將 Ansys optiSLang附帶的優(yōu)化器與求解器Ansys Zemax OpticStudio + Ansys Lumerical鏈接非常有用。優(yōu)勢(shì)在于可以在每個(gè)優(yōu)化周期中進(jìn)行數(shù)據(jù)的預(yù)處理跟后處理,靈活性非常高。本章節(jié)會(huì)對(duì)代碼結(jié)構(gòu)進(jìn)行解釋。


代碼的基本結(jié)構(gòu)首先由 OpticStudio 中的按鈕生成,如圖 9 所示。

有關(guān)編寫API以訪問OpticStudio的更多信息,請(qǐng)參閱知識(shí)庫(kù)文章:Knowledgebase > Programming > API:https://support.zemax.com/hc/en-us/sections/1500001168641-API


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 9 生成Python交互式擴(kuò)展代碼的樣板。


另外幾個(gè)模塊被導(dǎo)入到樣板中。模塊numpy,scipy用于對(duì)來(lái)自眼盒的輻照度數(shù)據(jù)進(jìn)行后數(shù)據(jù)處理。模塊matplotlib用于在眼盒上繪制和導(dǎo)出輻照度以供以后查看。導(dǎo)入time和random模塊,以便計(jì)時(shí)器跟蹤計(jì)算時(shí)間。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化


通過(guò)嘗試讀取變量OSL_WORKING_DIR,我們可以知道這個(gè)Python代碼是由 optiSLang調(diào)用還是手動(dòng)調(diào)用。當(dāng)optiSLang調(diào)用 Python代碼時(shí),將創(chuàng)建一些稱為環(huán)境變量的變量來(lái)傳遞一些 optiSLang 信息。即使這些變量未在Python文件中定義,當(dāng)optiSLang調(diào)用代碼時(shí),它們是可用的。

有關(guān)optiSLang中的 Environment 變量的更多信息,請(qǐng)參閱optiSLang用戶指南:https://ansyshelp.ansys.com/Views/Secured/corp/v222/en/opti_ug/opti_ug.html


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化


在這個(gè)Python代碼中,有32個(gè)變量,如clen1、h2、rot4、w1 和 power,用于優(yōu)化,需要由optiSLang定義。我們會(huì)將這些變量設(shè)置為 optiSLang中的參數(shù),在靈敏度分析或優(yōu)化時(shí),optiSLang將自動(dòng)改變它們的值。如果我們不是從optiSLang直接運(yùn)行這個(gè)Python代碼,那么這些變量的值將是常量,如下面的代碼所示。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

如圖10所示,每個(gè)區(qū)的光柵參數(shù)是通過(guò)預(yù)設(shè)的4個(gè)角的數(shù)據(jù)通過(guò)插值來(lái)確定的。其中 ν 是 dC、dR、dL、θC、θR、θL 、h ,n 是 1,2,3,4,對(duì)應(yīng)于 4 個(gè)角。通過(guò)這個(gè)公式,每個(gè)區(qū)上的7個(gè)光柵參數(shù)可以通過(guò)具有一定權(quán)重(wn)和非線性值(p)的4個(gè)角的參數(shù)來(lái)控制。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 10 從 4 個(gè)角插值的各個(gè)區(qū)的參數(shù)計(jì)算。


optiSLang按照預(yù)定義的優(yōu)化算法改變這些參數(shù)。不同的參數(shù)值被設(shè)置到python代碼中,這將進(jìn)一步設(shè)置OpticStudio中每個(gè)光柵塊的參數(shù)。在這個(gè)過(guò)程中,Python代碼扮演著將這些變量轉(zhuǎn)換為OpticStudio中精確參數(shù)的工作。只有當(dāng)我們使用optiSLang而不是OpticStudio中的內(nèi)置優(yōu)化器優(yōu)化系統(tǒng)時(shí),這種預(yù)數(shù)據(jù)處理才有可能。通過(guò)這種方式,optiSLang可以根據(jù)一些未直接暴露在OpticStudio UI中的虛擬或高級(jí)變量來(lái)優(yōu)化系統(tǒng)。


設(shè)置參數(shù)后,我們使用以下代碼段追跡光線。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化


使用optiSLang優(yōu)化系統(tǒng)的另一個(gè)好處是數(shù)據(jù)后處理。在這個(gè)優(yōu)化過(guò)程中,我們不會(huì)直接優(yōu)化眼盒上的輻照度分布。我們首先使用瞳孔函數(shù)對(duì)輻照度分布進(jìn)行卷積,如圖11所示,然后將優(yōu)化目標(biāo)設(shè)置為該卷積結(jié)果的均勻性。這個(gè)結(jié)果的x和y軸可以解釋為人眼在眼盒中的偏移。z軸是人眼看到的平均輻照度。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

圖 11 使用瞳孔函數(shù)對(duì)輻照度分布進(jìn)行卷積。

根據(jù)卷積結(jié)果,我們可以計(jì)算對(duì)比度 、總功率和均勻性,如下所示。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化


這些標(biāo)準(zhǔn)的代碼定義如下。在這種情況下,我們主要希望針對(duì)Contrast和 Total Power進(jìn)行優(yōu)化。均勻性的功能類似于對(duì)比度,兩者都希望眼盒上的輻照度均勻。盡管它們用于相同的目標(biāo),但它們使用不同的定義,在這里我們考慮兩者。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化


Python代碼的后面一部分,如下所示,繪制了眼盒輻照度的結(jié)果及其卷積結(jié)果。然后導(dǎo)出圖片。這對(duì)于用戶直接在optiSLang后處理中檢查每個(gè)優(yōu)化系統(tǒng)的輻照度分布非常有用。


聯(lián)合方案 | Ansys二維光柵出瞳擴(kuò)展系統(tǒng)優(yōu)化

進(jìn)一步的設(shè)置詳解我們會(huì)在后續(xù)的文章中,進(jìn)行介紹。


相關(guān)閱讀

Zemax Lumerical Speos 聯(lián)合實(shí)現(xiàn)衍射光波導(dǎo)AR系統(tǒng)設(shè)計(jì)仿真

Ansys Speos 聯(lián)合 optiSLang 背光板設(shè)計(jì)優(yōu)化方案

Ansys Zemax 與 Speos 關(guān)于汽車投影燈解決方案

聯(lián)合方案 | Speos 和 Lumerical 聯(lián)合 optiSLang 的顯示屏優(yōu)化設(shè)計(jì)

聯(lián)合方案 | Zemax + Speos 助力HUD抬頭顯示器設(shè)計(jì)


相關(guān)推薦

【Lumerical系列】一種高效多模耦合/(解)復(fù)用的新方案
本期文章將介紹一種通過(guò)引入硅平面光波電路(PLC)作為中間體來(lái)實(shí)現(xiàn)高效多...
用于光子集成電路的集成微透鏡和光柵耦合器
本文介紹了一種用于光子集成電路光纖-波導(dǎo)耦合系統(tǒng)的多尺度仿真工作流程。光...
【2024 R2】Ansys Fluent 電池?zé)崾Э睾彤a(chǎn)氣模型案例教程
01簡(jiǎn)要說(shuō)明‐ Ansys Fluent 2024R2版本正式發(fā)布了電池...
Zemax | 如何在OpticStudio內(nèi)對(duì)斜切端面光線進(jìn)行建模
本文介紹了如何在 OpticStudio 中對(duì)具有一定角度斜切端面的接收...