FDTD研究界面引入的相位突变——抛砖引玉


#1


通常我们研究,两个介质界面的反射的时候,一般都研究界面的反射率或者透射率,而往往会忽视界面引入的额外相位差;因为在计算透反射率的时候考虑的是能量的比值,这是由透反射系数复数 complex number 包含幅值和相角)的平方得到的(计算透射时还要考虑两种材料的折射率)。复数平方之后,相角就丢失了,因此透反射率是不包含相位信息的。
但是有时相位信息又很重要,尤其是最近大火的“超透镜”,本质上就是利用微纳结构在波长尺度内引入一个人为可控的额外相位差,从而调控远场的波前,那我们该如何使用FDTD分析界面引入的额外相位差呢? 尤其是在反射的情况下,如 @u201613896 提问的那样。



FDTD采用的相位定义方式和波矢方向,可以参考上面两个帖子。

重点强调的是,在source设置中设置的“Phase”是平面波的初相位 φ0 . 同时,记住,空间相位的零点在光源面上。


我们以一个简单的模型为例,光源的位置为 H_source,界面位置为 H_Sub, 反射监视器位置为 H_R。
光源处相位为 φ0,光源到界面的传播相位 为 φ1,计算方法如图(注意,此时光源的波矢K是负的,即K<0),界面引入额外的相位差 △φ。 从界面传播到反射监视器的传播相位为 φ2;监视器测量的主电场分量Ex的相位为 φR (注意,这里假设界面并不会引起偏振转换,同时也没有高阶衍射 ,这一点与FDTD内置的S参数分析组的假设一致 https://apps.lumerical.com/metamaterials_s_parameters.html)
这样,额外相位差△φ就可以通过φ0、φ1、φ2和φR的数学运算得到。 最后的结果如图绿色部分。
根据这个原理,我在FDTD中编写了一个很简单的脚本。(这个脚本比较简单,就不放上来,有兴趣的可以自行尝试)

利用这个脚本,我测试了两种情形下,界面引入额外相位的提取——光疏介质到光密介质(存在半波损失)、光密到光疏(无半波损失);
此时 光源波长固定为 1.5um,两个传播距离也正好设置成光源波长的整数倍(便于计算)。
通过脚本控制均匀网格的尺寸,我进行了 网格尺寸对额外相位计算的一个简单的“收敛性测试”。
结果显示,当网格比较精确的时候,对于存在半波损失的情况,我们确实可以用FDTD仿真得到180°的额外相位。而不存在半波损失的情况下,额外相位就为0°.


同时,我进一步还研究了网格对相位计算的影响。结果确实如之前孙老师提到的,相位对网格尺寸很敏感,选取合适的网格十分重要。

PS:这里仅以简单的界面反射为例,实际上复杂的超表面结构的相位提取也同样遵循类似的原则(并不是所有,有些会引起偏振转换的就是另外的问题了)。
PS:以上仅是我平时工作的一个简单分享,仅起一个抛砖引玉的作用,如有不正确之处,不吝指正。


#2

我按照你的模型,自己编写了脚本,但是无法仿真你的情况,能帮我看看我的模型哪里有问题吗?test.fsp (327.9 KB)
test.lsf (306 Bytes)


#3

你可能没太理解之前的结果是怎么得到的,横坐标应该是空间量。你仿真文件用的网格太细了导致很强的PML反射,此外在周期方向上网格不是整数,更重要的是你没有使用周期边界条件,导致Ey和气位相成为二次曲线的形状(PML导致衍射)


修正后

test (11).fsp (288.8 KB)
test_phase1.lsf (583 字节)

此帖子主要研究位相突变问题,如果问题与此帖题目不符,请另外发贴。