Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language.

拓扑优化迭代报错问题

    • 22721064
      Subscriber

      尊敬的老师您好!我想请教一下为什么迭代到一定次数以后会报错UserWarning: FDTD simulation did not complete successfully: status 0.0,查阅相关forward_0_p0文件如上,可以看到3D初始化均可以完成,但是仿真出现错误,但是我单独运行相关仿真文件可以正常运行,并且拿最后一次参数重新开始迭代又可以正常迭代,我应该如何解决这个问题呢,或者这个问题是由什么原因引起的呢?烦请老师拨冗答疑

    • Guilin Sun
      Ansys Employee

      如果只是Warning, 也许没有什么大问题,看看结果如何? 再仿真一下看看能否重复?

      目前没有查到这种status 的信息,也许那时仿真没有给出结果,还在Layout 状态。如果不能准确重复,很难决定是jia不是BUG .

      j建议重启计算机,或者再安装新版软件。

       

    • 22721064
      Subscriber

      好的谢谢孙老师,我用报错处的参数继续进行迭代可以正常运行;另想咨询一下老师有没有导出gds文件的另外办法,我将mini_size_feature设置为0,应该是跳过了DFM阶段,然后按照官网所给的按折射率导出gds文件的办法尝试导出,代码见下方,然后对gds文件进行fdtd仿真,效果和拓扑优化结果相差较大,想请教一下老师如何将拓扑优化结果进一步加工成可以流片的结果呢,我初步的想法是将mini_size_feature设置成代工厂给定的最小尺寸,添加惩罚,不知道有没有用。

      官网所给代码如下:

      #get index data

      index = getresult("opt_fields_index","index");

      #specify index threshold

      ind = 2.5;

      #extract contours

      contour = getcontour(index,"index_x", ind );

      #generate GDS

      f = gdsopen('contours.gds'); #creates gds in current working directory

       

      for ( i = 1:length(contour)){

      cellname = "contour_" + num2str(contour{i}.level);

      gdsbegincell(f, cellname);

      for (i = 1 : length(contour{1}.polygons)){

      a = contour{1}.polygons{i};

      gdsaddpoly(f,0,a);

      }

      gdsendcell(f);

      }

      gdsclose(f);

      如下图为二值化结束时的折射率分布图

    • Guilin Sun
      Ansys Employee

       

      可以才有专用脚本输出GDS :Importing and exporting GDSII files

      你试一下。

      可能前提是这些优化的结构本身是多边形。

       

Viewing 3 reply threads
  • The topic ‘拓扑优化迭代报错问题’ is closed to new replies.