Lumerical Python API (一) - FDTD等仿真软件的编程接口介绍
Ansys Lumerical系列软件提供了丰富的功能,但在针对不同的研究内容进行仿真时, 难免遇到自带功能无法满足需求的情况,这时,就需要借助其他工具完成任务。Lumerical提供了仿真软件与Python、Matlab的应用程序编程接口 (API, Application Programming Interface) ,使得数据处理、自动化执行仿真、参数优化、绘图等具有更高自由度,包括对于高性能计算的设置也离不开该接口。当下热度很高的器件逆设计,也常借助Python或Matlab完成算法部分的工作,诸如神经网络等算法对光学仿真的控制,以及过程中的数据传递过程,也都离不开API的帮助。Python和Matlab,一个是轻便的编程语言,一个是强大的数学工具,两者各具优劣势,均无法被彼此替代,需要根据具体任务和需求选择。首先在此开设一个专栏,总结Lumerical仿真软件与Python之间的数据传输与互联。Lumerical在2016版本中就开始提供类似的接口,当时的版本只能支持部分数据类型的传递,无法实现异常回溯和错误记录的呈现,传递大型矩阵的表现不佳,且存在一些用户使用困难。经过多个版本的更替,Lumerical为该接口添加了许多功能,现在已经具有很好的实用性。目前,2019a R3开始的各个版本仿真软件中,均包含了Python v3,免去了许多复杂的配置与设置操作,且能够在装有Linux的服务器等设备上运行。Python API在使用过程中,需要与Lumerical GUI交互,需要GUI license。具体而言,本专栏将从以下几个方面总结接口的设置与使用:会话管理 —— Session Management初始配置 —— Configuration脚本命令与函数方法 —— Script and methods数据传递 —— Passing Data具体内容将分别总结,参考自官网Ansys optics手册[1]。[1]https://optics.ansys.com/hc/en-us/articles/360037824513-Python-API-overview来源:摩尔芯创