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