Guilin Sun
Ansys Employee

似乎使用周期结构的仿真设置(周期性边界+平面波),然后再选择几个周期就想得到正确的结果,事实上这个方法只是近似,不能给出正确的结果,这是因为,我们仿真仅是一个周期:

如果想计算5个周期的远场,在Farfield函数中设置为5个周期: 

 显然,相当于给无限周期的光栅加了一个有限大小的光阑,将产生严重的衍射。

当然,使用高斯函数可以使得结果更光滑一些: 

下面以一个使用平面波+周期边界的真空为例,分析使用Farfield函数(何Visualizer)的计算结果以及为什么它不能用于准确分析周期结构:

image

 由于是正入射,那么在1米远的球面上,它的衍射级应该在Theta=0, Phi=0的位置,而且其强度也是1。

但是,如果直接用Farfield计算,或者用Visualizer计算,得到的远场是 

结果是发散角为40多度的光束,强度为1E-13。

如果使用5个周期:

发散角也有10度。而理想情况下平面波不发散,发散角是零。

如果使用10个周期: 

发散角也有4度左右。强度为对数坐标。

有人说用100个周期,那我们看看结果: 

 

 

发散角也有1度左右。强度为对数坐标:


但是很多光被散射到两个坐标轴上了(十字线)。

 

以上结果都是使用的高斯函数将监视器结果光滑了,如果使用直角函数(矩形函数TopHat),结果是


可以ming可以明显看到Sinc平方的效应,结果更差。

 

所以,周期结构使用周期性边界条件的远场,正确的分析方法是光栅分析,可以得到每一级的衍射角和衍射强度。如果使用Visualizer或Farfield脚本计算,只能是近似的,可以看看有没有高级衍射,多少衍射级,并不能准确得到结果。

因此,提醒大家在分析时注意。

当然,可能有人会说,实际光栅总是有限尺寸,因此周期个数总有限。这个是事实,但是,绝大多数光栅的周期个数都在成百上千,因此,其边缘的衍射可以忽略不计,最多也就是一个Sinc平方函数的调制,使得大角度衍射角的强度略有降低,但是一定比用Farfield函数计算的结果准确。

最后,将周期个数增加,使用Visualizer或者Farfield函数是否可以得到类似光栅函数的结果呢?答案是否定的,下面是测试1000*1000的结果
Tophat:


强度有所提高(对数),但是仍然在1E-5的量级;
Gaussian:


结果是随机分布的,强度在1E-26!

 

为什么? 因为此类函数的计算原理不是计算很多周期的。

因此,也提醒大家,即使是简单分析衍射级,也不要使用太多的周期数,只要相邻衍射级的图案几乎不重叠就可以了,太多的话可能漏掉一些衍射级。

最后,如果你的光栅或者周期结构只有几个周期,如果想研究边缘效应,可以仿真整个结构,是用TFSF+PML。