本示例演示了如何使用Ansys optiSLang 來驅(qū)動Lumerical 不同求解器實現(xiàn)微環(huán)調(diào)制器的仿真自動化以及使用 optiSLang 的多目標優(yōu)化能力實現(xiàn)微環(huán)調(diào)制器 Q 因子和調(diào)制效率的最佳化仿真。
微環(huán)調(diào)制器是一個復(fù)雜且大尺寸的系統(tǒng),其由一系列的子系統(tǒng)組成,包括如環(huán)形波導(dǎo)耦合,相位調(diào)制臂等。在本示例中,我們將使用 Lumerical FDTD 來仿真求解Throuph port 的transmission計算微環(huán)的 Q 因子,使用 Lumerical MODE 和 Charge 來計算有源部分的相位調(diào)制臂在不同偏壓下的載流子濃度分布以及有效折射率,損耗和群折射率。最終我們借助以上不同求解器仿真求解的結(jié)果,使用 Lumerical *.lsf腳本后處理實現(xiàn) Q 因子和調(diào)制效率的計算。以上工作流我們都將基于 optiSLang 平臺實現(xiàn)仿真自動化,同時實現(xiàn)Q 因子和調(diào)制效率的優(yōu)化,此示例中我們期望優(yōu)化目標 Q 因子在 20000 左右且調(diào)制效率至少為 1.2e-11 m/V.
第一步:基礎(chǔ)仿真模型搭建與optiSLang workflow 測試
關(guān)于Lumerical FDTD, Charge 和 MODE 針對微環(huán)調(diào)制器的仿真模型搭建和求解,本示例不再贅述,詳細內(nèi)容可參考官網(wǎng)案例:Ring Modulator
接下來將以 FDTD 為例,演示Lumerical 和 optiSLang 的集成自動化。
以下流程圖為optiSLang 的parametric 系統(tǒng),用于用戶的初始化設(shè)置及 workflow 驗證。
點擊 FDTD 編輯界面,進入 setting 來定義 optiSLang 需要調(diào)用的Lumerical 求解器以及需要讀取的腳本 coupling_coefficient_calc_FDTD.lsf 。如下圖所示。
在Parametrization編輯界面,導(dǎo)入 FDTD 需要運行的工程文件 coupler_region.fsp并加載,在 Input 和 Output 界面下即可顯示出 optiSLang 所讀取的 *.fsp 文件和*.lsf 中所定義的變量,這些變量即可作為后期 optiSLang優(yōu)化所需要的變參和響應(yīng)結(jié)果,如下圖所示我們將*.fsp 文件中 model 下定義的變量 coupling length 和 gap 作為輸入變參 (use as parameter), 同時我們將 *.lsf 中定義的 transmission 定義成中間變量 trans (output slots)用于傳輸給后一步腳本后處理作為輸入。
打開 FDTD 文件和腳本可以確認模型和腳本中所定義的變量在上一步中是被 optiSLang 正確讀取的。
基于上述的定義方式,即可調(diào)用optiSLang 來呼叫 FDTD 并自動運行仿真文件coupler_region.fsp和腳本coupling_coefficient_calc_FDTD.lsf.,同時將仿真計算結(jié)束后的結(jié)果傳輸給下一步繼續(xù)運行。
同樣的邏輯,我們也需要在 optiSLang 中定義調(diào)用 Charge 和 MODE 求解器并仿真計算不同偏壓下的載流子濃度分布以及有效折射率,損耗等必要結(jié)果,并最終通過*.lsf腳本后處理讀取上述幾個不同求解器的仿真結(jié)果實現(xiàn) Q 因子和調(diào)制效率的計算。Script 模塊的仿真設(shè)定如下圖所示,可以看到其通過定義 Input slots 來自動讀取前面步驟的計算結(jié)果,并將腳本計算的 Q, mod_eff和FSR 作為結(jié)果輸出。
以下動圖展示了整個 Parametric System 的工作流測試過程,可以看到我們的初始點設(shè)定和目標設(shè)定,點擊運行即可觀察到 optiSLang 分別去自動調(diào)用 Lumerical 的不同求解器去運算基于初始設(shè)計點的結(jié)果,得到 Q = 530.565, mod_eff = 2.24e-11, FSR = 1e-8, 距離我們的目標 Q ~ 20000 ,mod_eff ?> 1.2e-11 m/V 尚有差距。
點擊圖片即可跳轉(zhuǎn)原文觀看視頻
第二步:參數(shù)敏感性分析與最佳元模型建立 (AMOP)
基于上述步驟,我們已經(jīng)搭建完善的 optiSLang 與 Lumerical 的仿真自動化工作流。此步驟我們將演示如何進行參數(shù)敏感性分析以及 optiSLang 的最佳元模型搭建,optiSLang 最佳元模型是基于 optiSLang 特有的自適應(yīng)采樣建模,通過對樣本空間的分析構(gòu)建一套擬合Lumerical 求解器的數(shù)學(xué)模型,并用于后續(xù)快速的優(yōu)化求解。我們只需要將 sensitivity wizard 拖拽入第一步測試的 Parametric System 即可生成 AMOP (Adaptive Metamodel of Optimal Prognosis) 模型,如下圖所示。
此步驟中找到適當數(shù)量的樣本空間很重要,增加采樣數(shù)可以獲得更好的元模型,同時也意味著增加完成仿真所需的時間(此步驟的每一步采樣均需要調(diào)用 Lumerical 做仿真求解,以幫助 optiSLang 尋找最佳化擬合元模型)。這里我們做了 300 個采樣點,可以看到每一個隨機采樣下的輸入輸出值,這里有一點需要強調(diào),optiSLang 支持輸入?yún)?shù)的多種采樣方式,如連續(xù)采樣,離散采樣,高斯采樣等。
300個采樣仿真結(jié)束之后,我們在 post-processing中即可看到元模型的擬合結(jié)果以及各個輸出對輸入的依賴度,即 CoP (Coefficient of Prognosis) matrix,也就是我們所說的參數(shù)敏感性分析。如下圖所示,我們發(fā)現(xiàn)元模型對 FSR 的擬合度可以達到 99.9% 且coupling_length 這一參數(shù)對 FSR 影響最大,同樣的對 Q 的擬合度可以達到97.7%且 gap 和 coupling_length 對其影響較大,而 mod_eff的結(jié)果則更多和摻雜有關(guān),這一結(jié)果也符合我們的經(jīng)驗預(yù)測?;诖嗽P蛿M合,我們便可以進行接下來的優(yōu)化求解,同時在優(yōu)化過程中,我們僅僅針對此步驟分析出對優(yōu)化目標影響最大的gap, coupling_length 還有摻雜等關(guān)鍵參數(shù)進行變參優(yōu)化,其他參數(shù)保持常量。
第三步:優(yōu)化和最佳設(shè)計驗證
此步驟我們將演示如何進行大批量的數(shù)據(jù)優(yōu)化和數(shù)據(jù)驗證。我們只需要將 Optimization wizard 拖拽入第二步測試的 AMOP 即可生成 Evolutionary Algorithm模型,如下圖所示。
在優(yōu)化設(shè)定中,基于第二步參數(shù)敏感性分析的結(jié)果,我們只需要將gap, coupling_length 還有摻雜進行變參優(yōu)化,其他參數(shù)保持常量。optiSLang 中有多種不同的優(yōu)化算法以及設(shè)定,這里我們選擇使用 Evolutionary Algorithm 優(yōu)化算法并保持默認設(shè)定,同時定義執(zhí)行10000 次采樣的全局優(yōu)化。如下圖所示。
由于我們在第二步已經(jīng)找到一個較好的元模型,因此這里的 10000 次優(yōu)化將使用第二步所構(gòu)建的元模型求解而非 Lumerical 求解器,計算速度也會大大提升,在本示例中我們執(zhí)行 10000 次優(yōu)化僅用 121 秒。
優(yōu)化計算完成后,optiSLang默認會隨機進行 20 個采樣點的驗證,即返回給 Lumerical 再進行這 20 個采樣點的求解來得到Lumerical 求解器的仿真結(jié)果,由上圖中 “Validator System” 執(zhí)行。
下圖展示的是采用元模型執(zhí)行10000次的優(yōu)化過程以及所有的輸入和輸出結(jié)果。
點擊圖片即可跳轉(zhuǎn)原文觀看視頻
打開后處理,首先針對我們的優(yōu)化目標:Q 因子在 20000 左右且調(diào)制效率至少為 1.2e-11 m/V,我們在 Parallel coordinates plot 中做初步篩選,如下圖所示:
點擊圖片即可跳轉(zhuǎn)原文觀看視頻
篩選后采樣點的Pareto 結(jié)果如下圖所示:
圖中紅色點所示的 Pareto front 即為我們在多目標優(yōu)化過程中,optiSLang 尋找到的一組最優(yōu)解,這里由于我們所做的是多目標優(yōu)化,不同目標之間會需要有一些權(quán)衡取舍,因此非唯一解也是合理的結(jié)果。綠色點即為返回給 Lumerical 求解器驗證后的結(jié)果。這里我們選取最佳設(shè)計點 #9032,可以看到Q 為 18478,調(diào)制效率為 2.6e-11 m/V,F(xiàn)SR 為 9.6 e-9 ,同時也可以看到其對應(yīng)的輸入?yún)?shù)。
基于此,我們便完成了使用 optiSLang 和 Lumerical針對環(huán)形調(diào)制器的自動化仿真和優(yōu)化,此外 optiSLang 還支持定義參數(shù)的擾動和魯棒性分析,這里我們不做重點介紹。?
第四步:總結(jié)?
1. optiSLang 當前完全集成 Lumerical 各類型求解器,包含 FDTD, RCWA, FDE, EME, varFDTD, CHARGE, HEAT, DGTD, FEEM, MQW, INTERCONNECT.?
2. optiSLang 支持Lumerical 仿真自動化,支持各求解器之間的自動化數(shù)據(jù)交互,數(shù)據(jù)后處理以及全流程自動化求解。?
3. optiSLang 特有的多目標優(yōu)化能力和元模型理論可以幫助用戶快速找到最佳優(yōu)化設(shè)計,節(jié)省迭代時間。?
4. 基于上述能力,Lumerical 用戶可以實現(xiàn)各種不同應(yīng)用下的仿真自動化和優(yōu)化流程,實現(xiàn)更高效的仿真。?