【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);

 

posted @ 2023-08-21 12:15  仙妮宝贝  阅读(180)  评论(0编辑  收藏  举报