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