新闻动态

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


相关推荐

2024R2 | Speos 功能更新
Ansys推出2024R2最新版本有助于遍布全球的工程团队获取新技术以及...
2024R2 | Zemax 功能更新
Ansys推出2024R2最新版本有助于遍布全球的工程团队获取新技术以及...
2024R2 | Lumerical 功能更新
Ansys推出2024R2最新版本有助于遍布全球的工程团队获取新技术以及...
Object-based时-空电磁力二维傅里叶变换
从2022R2版本开始,Maxwell新增了基于Object的时-空电磁...