Ansys Lumerical系列軟件提供了豐富的功能,但在針對(duì)不同的研究?jī)?nèi)容進(jìn)行仿真時(shí), 難免遇到自帶功能無(wú)法滿(mǎn)足需求的情況,這時(shí),就需要借助其他工具完成任務(wù)。Lumerical提供了仿真軟件與Python、Matlab的應(yīng)用程序編程接口 (API, Application Programming Interface) ,使得數(shù)據(jù)處理、自動(dòng)化執(zhí)行仿真、參數(shù)優(yōu)化、繪圖等具有更高自由度,包括對(duì)于高性能計(jì)算的設(shè)置也離不開(kāi)該接口。當(dāng)下熱度很高的器件逆設(shè)計(jì),也常借助Python或Matlab完成算法部分的工作,諸如神經(jīng)網(wǎng)絡(luò)等算法對(duì)光學(xué)仿真的控制,以及過(guò)程中的數(shù)據(jù)傳遞過(guò)程,也都離不開(kāi)API的幫助。
Python和Matlab,一個(gè)是輕便的編程語(yǔ)言,一個(gè)是強(qiáng)大的數(shù)學(xué)工具,兩者各具優(yōu)劣勢(shì),均無(wú)法被彼此替代,需要根據(jù)具體任務(wù)和需求選擇。首先在此開(kāi)設(shè)一個(gè)專(zhuān)欄,總結(jié)Lumerical仿真軟件與Python之間的數(shù)據(jù)傳輸與互聯(lián)。
Lumerical在2016版本中就開(kāi)始提供類(lèi)似的接口,當(dāng)時(shí)的版本只能支持部分?jǐn)?shù)據(jù)類(lèi)型的傳遞,無(wú)法實(shí)現(xiàn)異?;厮莺湾e(cuò)誤記錄的呈現(xiàn),傳遞大型矩陣的表現(xiàn)不佳,且存在一些用戶(hù)使用困難。經(jīng)過(guò)多個(gè)版本的更替,Lumerical為該接口添加了許多功能,現(xiàn)在已經(jīng)具有很好的實(shí)用性。目前,2019a R3開(kāi)始的各個(gè)版本仿真軟件中,均包含了Python v3,免去了許多復(fù)雜的配置與設(shè)置操作,且能夠在裝有Linux的服務(wù)器等設(shè)備上運(yùn)行。Python API在使用過(guò)程中,需要與Lumerical GUI交互,需要GUI license。
具體而言,本專(zhuān)欄將從以下幾個(gè)方面總結(jié)接口的設(shè)置與使用:
會(huì)話(huà)管理 —— Session Management
初始配置 —— Configuration
腳本命令與函數(shù)方法 —— Script and methods
數(shù)據(jù)傳遞 —— Passing Data
具體內(nèi)容將分別總結(jié),參考自官網(wǎng)Ansys optics手冊(cè)[1]。
[1]https://optics.ansys.com/hc/en-us/articles/360037824513-Python-API-overview
電話(huà):15521163312(微信同號(hào))
郵箱:wenye@mooreda.com.cn