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.

关于使用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.