Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language.

关于使用polygon仿真圆环遇到问题以及sidewall的问题

    • ChengYuxuan
      Subscriber

      为了得到一个具有侧壁角的圆弧,我使用官网给出的语法案例进行修改,但遇到了如下问题:

      1.使用语法来创建polygon的圆环,据我的理解在0°时他们是齐平的,但在这里出现了陡峭峰,且给出的点数不是我设定的1000*2,而是少了很多,请问是为什么呢?

      newproject;

       

      # octagon properties

      n_sides=1000;

       

      r1=300.5e-6;

      r2=299.5e-6;

       

      # x,y position of each corner

      theta=linspace(0,30,n_sides);

      theta=theta(1:n_sides);

       

      x1=r1*cos(theta*pi/180);

      y1=r1*sin(theta*pi/180);

       

      x2=r2*cos(theta*pi/180);

      y2=r2*sin(theta*pi/180);

       

      # combine x,y into one vertices matrix

      V1=matrix(n_sides,2);

      V1(1:n_sides,1)=x1(1:n_sides);

      V1(1:n_sides,2)=y1(1:n_sides);

       

      V2=matrix(n_sides,2);

      V2(1:n_sides,1)=x2(1:n_sides);

      V2(1:n_sides,2)=y2(1:n_sides);

       

      V3 = polydiff(V1,V2);

       

      # add polygon object and set the vertices

      addpoly;

      set("vertices",V3);

       

      set("name","polygon_extruded");

       

      set("z span",2e-6);

       

      V3=get("vertices");

      ?size(V3);

       

      2.使用如下语法设置侧壁角,得不到有效结果;但将上述代码换位简单的矩形代码(无MatrixDiff),可以得到侧壁角结果,请问是为什么呢

      poly_old_name = "polygon_extruded";

       

      poly_new_name = "polygon_sidewall";

       

      poly_vertices =get("vertices") ;

       

      addlayerbuilder;

       

      set({"name": poly_new_name, "x": 5e-6});

       

      set("gds sidewall angle position reference", "Bottom");

       

      set("geometry", {"1:0": {poly_vertices}});

       

      addlayer;

       

      setlayer("default name", "name", "poly_layer");

       

      setlayer("poly_layer", "layer number", "1:0");

       

      setlayer("poly_layer", "thickness", getnamed(poly_old_name, "z span"));

       

      setlayer("poly_layer", "pattern material", str2num(getnamed(poly_old_name, "index")));

       

      setlayer("poly_layer", "sidewall angle", 75);

       

       

       

       

      谢谢回复!

       

       

    • Guilin Sun
      Ansys Employee

       

       

      很可能是因为点数是按角度设置的,坐标差别较大造成的。比如theta=0 它们的y 都是0. 目前未见更好的办法,建议做的长一些,然后用Overlap 结构将不需要的部分挖掉。

      你选

      n_sides=3;

      测试,明显看到两端有问题。

       

      请确认此方法的确产生倾斜的壁。

       

      • ChengYuxuan
        Subscriber

        是设置另一个结果与该结果重叠,另一个结构的mesh的overlap优先级更高吗?

      • ChengYuxuan
        Subscriber

        验证了一下这种方法也不能生成侧壁角,应该怎么修改呢

    • ChengYuxuan
      Subscriber

      请问overlap应该怎么设置呢?

    • Guilin Sun
      Ansys Employee

      关于结构重叠,请参见 

      Ansys Insight: Lumerical 不用布尔运算如何设置嵌套结构 mesh order

      至于带壁角的环形,有人用Bézier,还有人用结构组中的 N-sided polygon toroid  一层一层实现。

       

Viewing 3 reply threads
  • You must be logged in to reply to this topic.