We have an exciting announcement about badges coming in May 2025. Until then, we will temporarily stop issuing new badges for course completions and certifications. However, all completions will be recorded and fulfilled after May 2025.
Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language.

Ansys Insight: 如何使用Matlab, Lumerical Script 与Matlab的集成

    • Guilin Sun
      Ansys Employee
      此帖子最初在原KX论坛,转移到此论坛后,有些链接可能有问题,待以后有时间再行修正。

      Matlab是很强的数据处理工具。Lumerical 的脚本Script可以与 Matlab集成,也就是Lumerical 的脚本可以含 Matlab,但不能反过来。基本教程参见知识库 

      一:在脚本中使用 Matlab的步骤一般是:

      1:用脚本获得仿真结果数据;

      2:对结果数据进行均匀插值,这是因为,Lumerical 的器件级仿真软件经常使用非均匀网格,而Matlab却假定是均匀网格。如果不插值,可能出现Matlab的作图有变形 

      3:在脚本文件中使用Matlab语句

      例如,已经用脚本获得数据并进行过插值,如 x,y,f 和 E(x,y,f):

      1)将这些数据传递到Matlab,使用 matlabput

      matlabput(x,y,f,E);

      2)在脚本中插入Matlab

      matlab("

      E2=abs(E).^2;

      E4=E2.^2;

      …% 其它运算和作图

      “)

      至此Matlab使用完毕,接着可以继续自己的脚本。

      3 如果需要将Matlab的计算结果提取到脚本里面,则使用matlabget

      matlabget(E2,E4);

      image(x*1e6,y*1e6,E4(1:length(x),1:length(y),1),” x um",“y um”, “E^4”);

      这里E4 是经过处理后的三维数组,而image只能画二维数组,并且x、y并没有改变,所以上述image给出的是第一个频率点的x、y面内电场振幅的4次方。

      二:将脚本变量和数据记录为Matlab数据

      可使用matlabsave 。Matlab文件可以直接读取此数据,并直接使用变量名。注意,如果Matlab工作空间有相同的变量名,此举将改写原来变量里面的数据。

      例:matlabsave(“mydata”,x,y,f,E)

      三:用文本格式记录数据

      Lumerical 的脚本Script可以将数据写入文本文件,采用write 语句。因为已经保存为.txt文件,绝大多数计算机语言均可以读取,其它仿真工具一般也能读取。需要注意的是,write是将数字变为字符保存,因此,两个数字之间要留有空格,或者其它可以被第三方语言可以辨认的方式将数据隔开。

      a=linspace(0,2*pi,9);

      b=sin(a);

      上述语句 combine both vectors into a single 2D matrix to be output to file

      data_to_print=[a,b];

      写文件write the data to the file

      write(“testfile.txt”,num2str(data_to_print));

      打开数据文件,可见数据为
    • Guilin Sun
      Ansys Employee


      如果比要,也可以用循环语句。


      VPD.ldev (2.8 MB)
      請問在這個對光偵測器做瞬態模擬的檔案VPD中, 我想製作電荷監視器中charge裡面的n型載流子的二維分布圖, 集結不同時間下的各張image所形成的電影movie, 如下圖

       

      是不是必須只能寫script將其一張一張提取出來存到matlab再進行後製呢?
      有任何類似 Making a CW movie 這個範例的tutorial嗎? https://kb.lumerical.com/en/layout_analysis_cw_movie.html


      遗憾,目前DEVICE尚没有电影的功能,只能如你说的那样单幅制作。


      注:最新版也可以用Matlab的互操作Interoperability运行Lumerical脚本,参见 MATLAB API 例子
      Grating coupler - Matlab-driven optimization (2D) – Lumerical Support

Viewing 1 reply thread
  • The topic ‘Ansys Insight: 如何使用Matlab, Lumerical Script 与Matlab的集成’ is closed to new replies.