新聞動(dòng)態(tài)

News Center

Lumerical Python API (二) - 初始配置

發(fā)布日期:
2022-07-18

瀏覽次數(shù):

Lumerical各仿真軟件 (如FDTD, DEVICE, INTERCONNECT) 與Python編程語(yǔ)言的交互,依靠仿真軟件預(yù)留的接口Python API實(shí)現(xiàn),這種接口具體而言就是一個(gè)叫做lumapi的Python庫(kù)。導(dǎo)入lumapi庫(kù)并初始化會(huì)話即可實(shí)現(xiàn)仿真軟件與Python的交互,該過(guò)程需要GUI lisence。


Lumerical的求解器附帶了一個(gè)基本的Python 3發(fā)行版供用戶(hù)使用[1],可以直接從軟件安裝路徑中的\Lumerical\v221\python-3.6.8-embed-amd64\打開(kāi)python.exe并導(dǎo)入lumapi庫(kù):


import?lumapi



python的開(kāi)發(fā)工具很多,個(gè)人習(xí)慣用pyCharm寫(xiě)代碼,接下來(lái)以pyCharm為例,介紹使用Lumerical自帶的Python配置新工程的過(guò)程。新建pyCharm工程時(shí),在圖1中黃圈位置,選擇Lumerical自帶Python作為解釋器,在安裝路徑'Lumerical\\v221\\python-3.6.8-embed-amd64\\'下選python.exe即可 (不同版本的路徑可能略有不同)。這樣建立的工程,可以用pip等工具安裝和管理包。

Lumerical Python API (二) - 初始配置

圖一 使用Lumerical自帶Python配置pyCharm工程


如果不使用Lumerical自帶的Python作為解釋器,用戶(hù)想用自己配置的anaconda環(huán)境來(lái)使用Python,那就需要將lumapi的父目錄附在當(dāng)前目錄上。用append()函數(shù)添加帶有接口包的路徑,讓import類(lèi)可以成功檢索到lumapi模塊:


import sys, ossys.path.append('C:\\Lumerical\v221\\api\\python\\')  #Win默認(rèn)路徑sys.path.append(os.path.dirname(__file__))
import lumapifdtd = lumapi.FDTD() #開(kāi)啟FDTD會(huì)話


使用append( )函數(shù)添加的路徑,只在程序運(yùn)行時(shí)生效。如果想直接從其他路徑導(dǎo)入lumapi.py文件,可以使用load_source( )函數(shù):


import impapipath = 'C:\\Lumerical\v221\\api\\python\\lumapi.py'  #Win默認(rèn)路徑imp.load_source('lumapi', apipath)
import lumapifdtd = lumapi.FDTD() #開(kāi)啟FDTD會(huì)話



這里需要注意的是,用anaconda搭建環(huán)境時(shí),只能選擇python的版本,不能具體指定使用哪個(gè)python解釋器,如圖2所示。

Lumerical Python API (二) - 初始配置


圖2 用conda環(huán)境配置PyCharm工程




所以在用anaconda作為新建工程的環(huán)境時(shí),推薦將python版本設(shè)置為相同的3.6,如圖2紅框所示。以Lumerical 2022 R1版本為例,在安裝路徑Lumerical\\v221\\python-3.6.8-embed-amd64\\python.exe下,有其自帶python,版本為3.6.8。如果選用其他版本,例如3.7、3.8等,可能會(huì)出現(xiàn)缺乏依賴(lài)報(bào)錯(cuò)等問(wèn)題,例如常見(jiàn)的一個(gè)情況就是找不到interopapi.dll:

FileNotFoundError:

Could not find module 'interopapi.dll' (or one of its dependencies). Try using the full path with constructor syntax.

如果只是簡(jiǎn)單地將該dll文件復(fù)制到anaconda環(huán)境的路徑下,是無(wú)法和python關(guān)聯(lián)起來(lái)的,運(yùn)行依然會(huì)報(bào)錯(cuò)。這種由于版本不同導(dǎo)致的問(wèn)題,解決起來(lái)比較麻煩,不如在配置的時(shí)候選用版本相同的python作為解釋器,避免這類(lèi)問(wèn)題出現(xiàn)。當(dāng)然,正如圖1處介紹的,也可以不使用anaconda搭建環(huán)境,在新建工程時(shí)直接用Lumerical自帶的python作為解釋器。

本節(jié)總結(jié)了Python API的初始配置技巧,后續(xù)文章會(huì)繼續(xù)介紹會(huì)話管理、數(shù)據(jù)傳遞等,結(jié)尾處用實(shí)際的例子展示該過(guò)程。




[1]https://support.lumerical.com/hc/en-us/articles/360041873053-Session-management-Python-API



// 聯(lián)系我們//


電話:15521163312(微信同號(hào))

郵箱:wenye@mooreda.com.cn


相關(guān)推薦

光互連技術(shù)的革命性突破:數(shù)字超材料助力多維光通信邁向太比特時(shí)代
光互連技術(shù)憑借其高帶寬、低功耗和抗電磁干擾等優(yōu)勢(shì),成為突破“電子瓶頸”的...
Lumerical & Zemax | 通過(guò)微透鏡和端面耦合器將光纖與光子芯片耦合
在本案例中,我們演示了使用微透鏡和端面耦合器進(jìn)行光纖到光子芯片的耦合。我...
超表面高階微分器助力光學(xué)計(jì)算突破
光學(xué)模擬計(jì)算憑借光速并行處理的天然優(yōu)勢(shì),被視為下一代計(jì)算技術(shù)的核心方向。...
Lumerical & Zemax | 各向異性材料的衍射光柵
在本文中,我們將使用RCWA求解器對(duì)由各向異性液晶(LC)材料制成的可調(diào)...