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