Photonics – Chinese

Photonics – Chinese

圆屏夫郎和费衍射仿真时,发现四周具有高级衍射,是什么原因呢?

    • vision
      Subscriber

      老师,您好!

      我最近在做夫琅和费衍射仿真,仿真中遇到两个问题,请您帮忙解答,谢谢!

      1. 仿真周期结构时,使用grating order transmission分析组获得T-grating数据,将数据log后发现这样,图中为什么会出现旁瓣呢?
    • Guilin Sun
      Ansys Employee

      A1: 应该是出现高级衍射了。你可以用Grating分析函数试一下,看看多少衍射级。Ansys Insight: 关于光栅衍射级及其计算

      A2:这个情况是单个结构,不是高级衍射的问题,可能是仿真区和监视器横向尺寸太小的缘故。你看一下监视器边缘的场是否几乎为零?不知道你说的圆屏相对波长有多大,称谓夫郎和费衍射是否恰当。多年前我曾经有过这方面的文章。你可以网上搜一下。还有,此时用TFSA光源计算远场的物理意义可能不清楚,你需要甄别:Ansys Insight: FDTD 初学者: 平面波和全场散射场tfsf光源有什么区别

    • vision
      Subscriber
      老师,您好!
      感谢您的回答。
      Q1:我用grating transmisiion分析组看了衍射级,其衍射级数是26000,该怎样判断是否有高级衍射呢?我看了一下论坛里关于高级衍射问题,您说当衍射角大于70度,可认为是高级衍射,但无限周期由没有衍射角宽度,那这里的横纵坐标(n,m)是什么含义呢?(绿色圆圈里)

      Q2:圆屏半径是波长的12倍左右。我看了探测器边缘,其电场是基本为0的。同时,我将仿真区域和探测器放大了两倍,但是现象还是一样。“还有,此时用TFSA光源计算远场的物理意义可能不清楚,”这句话意思是,使用TFSF光源计算远场不合适?



    • Guilin Sun
      Ansys Employee

      A1:非零级就是高级。

      “您说当衍射角大于70度,可认为是高级衍射”这是指使用大角度PML的情况。注意,你第一个图仿真周期的文件应该修正,仅仿真一个周期,产生如此多的高级衍射也可能哪里出了问题。grating transmisiion分析组仅适合周期结构周期边界条件。感觉好像是仿真时间不够,或许有其它设置问题。请参考光栅例子的设置仔细调整。

      A2:

      “仿真区域和探测器放大了两倍”完全没有必要,一个周期即可。

      “还有,此时用TFSA光源计算远场的物理意义可能不清楚”,意思是,TFSF把直射光减去了,你用TFSA外面的散射场做远场投射的物理意义不明确!你想一想实验时是这样吗?如果要得到单个独立结构的远场,可能使用高斯光束较好,你试一下看看。

      不要同时讨论周期结构和单个独立结构,这样容易混淆。

      本贴先集中精力讨论周期结构。单个独立结构请另外发帖。谢谢!

    • vision
      Subscriber
      老师,您好!
      根据您的建议,我将网格进一步画细之后,其高级衍射消失但衍射级数仍然还是26000.
      然后我减小了周期结构的周期,同时减小了仿真区域,但圆的尺寸没有变,发现衍射级数降低了2800.
      这种现象正常吗?
      期待您的回答。
    • Guilin Sun
      Ansys Employee
      周期结构,周期远大于波长,出现高级衍射是正常的。对于你来说,可能是需要固定合适的周期,合适的网格以及用多层Steep Angle PML再研究可能更好一些。再有问题请将你所设置的参数等贴上来,周期用整数个网格,最厚的PML 测试看看。原结果感觉好像有两个周期结构产生调制一样,特别注意PML反射:增加传播距离上的长度,增加PML厚度看看衍射级改变不?如果改变就说了是有反射产生的问题。
    • vision
      Subscriber
      老师,您好!
      感谢您的回答。
      根据您的建议,改变了模型的设置,周期用整数个网格,PML设置用多层Steep Angle PML,PML层厚度大于半个波长厚度。但仿真的衍射级数仍然没有变化。这是否说明实际衍射级数有那么多呢,还是我的设置仍然没有设置正确呢?将我的设置对比贴上来。

      下面是模型和获得结果的方式。使用grating transmission分析组获得T_grating 。这个T_grating获得的衍射级数分布可以默认为是远场衍射场分布吗?下面的T_grating结果是上面表格中第二项仿真设置模型的结果,衍射级数是2800,衍射级数分布是最后一张图,这个结果正确吗?


    • Guilin Sun
      Ansys Employee
      说实话我没有见过如此多衍射级的情况。周期是波长的多少倍?你可以用光栅方程先计算一下有多少衍射级。如果与仿真差别大,说明仿真可能有问题。你把具体结构参数和周期和波长范围等贴出来我可以测试。

    • vision
      Subscriber
      老师,您好!
      感谢您的回答!
      我在此贴上我的模型设置,请您帮忙测试一下,谢谢!
      期待您的回答。

    • Guilin Sun
      Ansys Employee
      我不知道你怎么设置的,我根据你的参数,得到
      这是10*10周期的结果

      Visualizer 是近似的,用光栅分析(可以借用光栅分析组中的脚本),得到
      材料

      我不知道你哪里设置有问题。

      请重新设置一个文件,按你的参数,仅需要修改:
      1:边界条件XY为周期,Z为PML;
      2: 光源波长为0.55微米
      3:不要用细化网格
      再看看结果如何。





    • vision
      Subscriber
      老师,您好!
      非常感谢您的回答。
      按照您的建议,我又重新设置模型计算了一下,按照您查看结果的方式,查看了一下监视器的衍射级数,其衍射级数是正负30,和您的结果一样。同时也根据光栅分析组获得了和您一样的图。
      不过,以上图是极坐标显示,当查看分析组里的T_grating和num_orders,其结果和以前的一样。num_orders仍然是2800.
      请问老师这是什么原因呢?还是2800代表是数据量呢?

    • Guilin Sun
      Ansys Employee
      没有问题啊!
      衍射级仍然是零级加正负30共61级乘61级。
      ?61*61;
      result: 
      3721  
      考虑到每一列每一行最大的数字是61个,单个行计算是少于这个数的,你可以将衍射角结果提取出来看看。

      2800 代表总的衍射级数。
    • vision
      Subscriber
      老师,您好!
      感谢您的回答。
      根据您的提示,我提取了(30,0)、(29,10)和(22、22)衍射级的衍射角,其衍射角为90度。所以猜测衍射级数2800是因为远场衍射投射到半球上的原因,π*(30)^2=2827,和2800很接近。
      另外我还有两个问题:
      图例选择一样的情况下,极坐标显示的衍射级数分布图和vector坐标显示的衍射级数分布图为何会不同呢,难道是因为显示方式不同?

      衍射级数分布图为何在外围会有几个能量比较大的衍射级数,正常情况下,从0级到高级衍射,能量应该依次减弱,计算结果为何和理论不同呢?
    • vision
      Subscriber
      老师,您好!
      感谢您的回答。
      根据您的提示,我提取了(30,0)、(29,10)和(22、22)衍射级的衍射角,其衍射角为90度。所以猜测衍射级数2800是因为远场衍射投射到半球上的原因,π*(30)^2=2827,和2800很接近。
      另外我还有两个问题:
      图例选择一样的情况下,极坐标显示的衍射级数分布图和vector坐标显示的衍射级数分布图为何会不同呢,难道是因为显示方式不同?
      2.衍射级数分布图为何在外围会有几个能量比较大的衍射级数,正常情况下,从0级到高级衍射,能量应该依次减弱,计算结果为何和理论不同呢?
      期待您的回答。
    • Guilin Sun
      Ansys Employee

      "所以猜测衍射级数2800是因为远场衍射投射到半球上的原因,π*(30)^2=2827,和2800很接近。"

      你这个是估算,实际是每个方向最大61级,你把一个方向加起来看看

      “极坐标显示的衍射级数分布图和vector坐标显示的衍射级数分布图为何会不同呢”

      哪个是vector坐标?本来是球坐标按角度显示的,你现在按直角坐标按衍射级画,当然不一样了,你再想一想是为什么。

      “衍射级数分布图为何在外围会有几个能量比较大的衍射级数,正常情况下,从0级到高级衍射,能量应该依次减弱,计算结果为何和理论不同呢?”

      你没有看到其中一个坐标是0吗?它代表什么意思?你在球坐标上看看。

    • Guilin Sun
      Ansys Employee

    • vision
      Subscriber

      孙老师,您好!

      1. 按照您的提示,计算了一下所有的衍射级,所有衍射级数加到一起等于num_orders, 但是这个最高衍射级是59,前面用grating显示的衍射级数是61啊,为什么不一样呢?


    • vision
      Subscriber
      孙老师,您好! 感谢您的回答。不好意思,上一条发错了。 我现在还有几个疑惑,请您解答。
      1. 按照您的提示,计算了一下所有的衍射级,所有衍射级数加到一起等于num_orders, 但是这个最高衍射级是59,前面用grating显示的衍射级数是61啊,为什么不一样呢?
      2.使用代码存了一下球坐标中的数据,发现其数据量和T_Grating获得的数据量不同呢?T_Grating数据量是35*35,T_grating数据量是61*61,都是获得的各衍射级能量,其数据量应该相同吧。 3.我理解的该图中红圈标出的点是在球坐标中衍射角为90度的衍射级,这种大角度高级衍射在该模型仿真中不应该出现,应该想办法消除吧?   期待您的回答。
    • Guilin Sun
      Ansys Employee

      A1: 你仅看了一个方向的,你把数据导出来已经显示是正负30加零级了,你要再好好琢磨一下,这个应该不是复杂问题,数据都有摆在那里。你想一想什么地方能给出最高衍射级?你做图的坐标是什么数?

      A3:为什么这种高级衍射不应该出现?有什么理论依据吗?如果有理论支撑,也可能是网格精度造成的。不一定正好90度,你把数据提取出来理论。


      我不知道“T_Grating数据量是35*35” 是怎么得到的,请你把所需要的数据都导出来,再到分析组里看看它们是怎么计算出来的,再认真分析一下吧。

    • vision
      Subscriber

      孙老师,您好!

      1. 球坐标获得的数据量是35*35,T_grating获得的数据量是61*61(直角坐标)。他们的数据量为啥不一样呢?

      2.球坐标是按角度显示的,那在坐标图中显示角度的是红色圈内的,还是黄色圈的呢?


      期待您的回复,谢谢!

    • Guilin Sun
      Ansys Employee

      A1: 我不知道你从哪里得到的35*35.此问题已经讨论几次了,你画的直角坐标结果是从球面结果得来的,你看看



      A2: 球坐标的两个角度:方位角和俯仰角,参见 Ansys Insight: 光源和远场变换的角度Theta, phi及其倾斜的坐标面

      此帖子已经反复几次了,如果还有问题,请与周围同学讨论一下,问老师,或者找书看看,有些问题不能仅凭想想,把结果全部输出,逐个检查理解。这个例子衍射级多不方便的话,可以设计衍射级少的,需要时间琢磨。

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