【4.算法】Lumerical与Matlab互联
官网:
- MATLAB 脚本集成配置指南
https://optics.ansys.com/hc/en-us/articles/360026142074-MATLAB-script-integration-configuration-guide
- MATLAB 脚本集成
https://optics.ansys.com/hc/en-us/articles/360034923913-MATLAB-script-integration
- 光栅耦合器 - Matlab 驱动的优化(2D)
https://optics.ansys.com/hc/en-us/articles/360042304834-Grating-coupler-Matlab-driven-optimization-2D-
一、FDTD关联Matlab
引自:https://zhuanlan.zhihu.com/p/422884454
这个功能比较实用,可以不用导出数据即可用matlab的代码对数据进行处理,处理后的数据导出也比较方便。
①打开FDTD solution软件,在上方工具栏中“Help”下找到并点开 “Matlab integration status”。
此时状态是“inactive”。
②点击select,找到Matlab安装目录下bin/win64下的libeng.dll文件
(一般点开来仅有这一个dll文件,找不到Matlab安装目录请右击Matlab图标-->打开文件所属位置or全局搜索这个libeng.dll文件)。
点击打开,此时状态变为“active”。
(请找到自己电脑对应的Matlab安装目录中的dll文件)
③以管理员身份打开Matlab软件,后在命令行窗口输入以下代码:
!matlab /regserver
若弹出以下错误弹窗,则是没有用管理员身份打开
弹出以下窗口则配置完成
④在FDTD solution “Script File Editor”中输入以下测试代码:
matlab("plot(2:10)");
无报错且成功弹出matlab弹窗即配置完成,若出现“MATLAB session has been closed”的报错,再点一次运行(偶尔会有上述报错,可能是反应慢)。
二、Matlab关联FDTD
这个配置过程相对比较容易,配置完成后可以在matlab上编辑FDTD solution 打开或者用代码建模型等(缺点:你建模建错了不好找错误代码行)
①打开Matlab软件,找到“设置路径”,点击“添加文件夹”,并找到FDTD solution安装目录下api文件夹中Matlab文件夹,即配置完成。
Matlab 2018a 示意图
添加后此文件夹会显示在搜索路径中
②输入一下代码进行测试:
appopen('fdtd');
即打开FDTD solution软件,可以打开就表示配置无问题。
若报错
则是matlab呼叫Lumerical有問題。以下是我之前試過可以正常運作的方法
在matlab的command window中鍵入以下指令 (v202 為舊版本,目前2021 R2 是v212,要根據您的版本更改)
setenv('PATH', [getenv('PATH') ';C:\Program Files\Lumerical\v202\bin']);
path(path,'C:\Program Files\Lumerical\v202\api\matlab')
最後,可以測試一下
appopen('fdtd')
详见:
https://forum.ansys.com/forums/topic/%e8%af%a2%e9%97%ae%e5%85%b3%e4%ba%8efdtd%e5%92%8cmatlab%e8%bd%af%e4%bb%b6%e7%9a%84%e4%ba%92%e8%81%94%e9%97%ae%e9%a2%98-appopen/
③输入以下代码则可在FDTD solution中建立一个2.5微米,折射率为1.5的球:
h=appopen('fdtd');
code=strcat('addsphere;','set("name","sphere");','set("x",0);','set("y",0);','set("radius",0.0000025);','set("index",1.5);');
appevalscript(h,code);