新闻动态

News Center

Lumerical Python API (二) - 初始配置

发布日期:
2022-07-18

浏览次数:

Lumerical各仿真软件 (如FDTD, DEVICE, INTERCONNECT) 与Python编程语言的交互,依靠仿真软件预留的接口Python API实现,这种接口具体而言就是一个叫做lumapi的Python库。导入lumapi库并初始化会话即可实现仿真软件与Python的交互,该过程需要GUI lisence。


Lumerical的求解器附带了一个基本的Python 3发行版供用户使用[1],可以直接从软件安装路径中的\Lumerical\v221\python-3.6.8-embed-amd64\打开python.exe并导入lumapi库:


import lumapi



python的开发工具很多,个人习惯用pyCharm写代码,接下来以pyCharm为例,介绍使用Lumerical自带的Python配置新工程的过程。新建pyCharm工程时,在图1中黄圈位置,选择Lumerical自带Python作为解释器,在安装路径'Lumerical\\v221\\python-3.6.8-embed-amd64\\'下选python.exe即可 (不同版本的路径可能略有不同)。这样建立的工程,可以用pip等工具安装和管理包。

Lumerical Python API (二) - 初始配置

图一 使用Lumerical自带Python配置pyCharm工程


如果不使用Lumerical自带的Python作为解释器,用户想用自己配置的anaconda环境来使用Python,那就需要将lumapi的父目录附在当前目录上。用append()函数添加带有接口包的路径,让import类可以成功检索到lumapi模块:


import sys, ossys.path.append('C:\\Lumerical\v221\\api\\python\\')  #Win默认路径sys.path.append(os.path.dirname(__file__))
import lumapifdtd = lumapi.FDTD() #开启FDTD会话


使用append( )函数添加的路径,只在程序运行时生效。如果想直接从其他路径导入lumapi.py文件,可以使用load_source( )函数:


import impapipath = 'C:\\Lumerical\v221\\api\\python\\lumapi.py'  #Win默认路径imp.load_source('lumapi', apipath)
import lumapifdtd = lumapi.FDTD() #开启FDTD会话



这里需要注意的是,用anaconda搭建环境时,只能选择python的版本,不能具体指定使用哪个python解释器,如图2所示。

Lumerical Python API (二) - 初始配置


图2 用conda环境配置PyCharm工程




所以在用anaconda作为新建工程的环境时,推荐将python版本设置为相同的3.6,如图2红框所示。以Lumerical 2022 R1版本为例,在安装路径Lumerical\\v221\\python-3.6.8-embed-amd64\\python.exe下,有其自带python,版本为3.6.8。如果选用其他版本,例如3.7、3.8等,可能会出现缺乏依赖报错等问题,例如常见的一个情况就是找不到interopapi.dll:

FileNotFoundError:

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

如果只是简单地将该dll文件复制到anaconda环境的路径下,是无法和python关联起来的,运行依然会报错。这种由于版本不同导致的问题,解决起来比较麻烦,不如在配置的时候选用版本相同的python作为解释器,避免这类问题出现。当然,正如图1处介绍的,也可以不使用anaconda搭建环境,在新建工程时直接用Lumerical自带的python作为解释器。

本节总结了Python API的初始配置技巧,后续文章会继续介绍会话管理、数据传递等,结尾处用实际的例子展示该过程。




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



// 联系我们//


电话:15521163312(微信同号)

邮箱:wenye@mooreda.com.cn


相关推荐

【Lumerical系列】一种高效多模耦合/(解)复用的新方案
本期文章将介绍一种通过引入硅平面光波电路(PLC)作为中间体来实现高效多...
用于光子集成电路的集成微透镜和光栅耦合器
本文介绍了一种用于光子集成电路光纤-波导耦合系统的多尺度仿真工作流程。光...
【2024 R2】Ansys Fluent 电池热失控和产气模型案例教程
01简要说明‐ Ansys Fluent 2024R2版本正式发布了电池...
Zemax | 如何在OpticStudio内对斜切端面光线进行建模
本文介绍了如何在 OpticStudio 中对具有一定角度斜切端面的接收...