标准具和晶体中的电磁场传输算法(4)
算法1:通过合适的采样控制来进行输出角谱计算的数值流程1)在初始网格严格地计算
2)初始化相对误差值σ=+∞
3)判断σ>σ_0, ⊳如果为真,则采样不合适
4)沿Kx(或者Ky)二等分采样距离
5)应用新的采样距离定义测试网格
6)在测试网格中对输入角谱插值,根据方程(14)获得
7)根据方程(15),在测试网格上严格地计算输出角谱
8)根据方程(16),通过插值获得
9)根据方程(17),计算误差σ
10)如果σ>σ_(0) ,则⊳将目前的输出场设置为下一次循环的起始点
11)返回
为了有效地处理非对称情况,例如,光束在x方向和y方向有不同的发散角,算法1中的测试需要按顺序沿两个方向进行。开始方向的选择是任意的,在我们的情况中,我们是沿y方向开始测试的。
4.示例
在VirtualLab Fusion软件中,我们将第三节中提出的算法实现在“可编程元件”的编程界面中。这个元件可以与VirtualLab Fusion中其它的物理光学仿真技术进行联合仿真。接下来,我们展示了四个案例:前两个主要关注元件本身并以一种严格的数值方式检查此算法;后两个案例中,元件将用于光学系统中,例如,此算法与其它仿真技术一起使用。
在进入实际的案例之前,设置方程(17)中的迭代终止标准σ_0很重要。对于在此文中所使用的三次插值,我们预先检查了它在一般情况下的表现并在我们的数值环境中找到了一个0.01的基准值。
A.各向同性标准具
第一个案例模拟了一个线性偏振高斯光束经过一个标准具的传输。通过这个案例,我们将清楚的指出第三节中所说的采样问题并描述了算法1的工作原理。标准具由熔融石英制成,两侧有多层薄膜,如图4所示。关于标准具的光学参数和结构的更多信息,请见表1。输入场为波长633nm,x方向线偏光的高斯光束。其在元件的输入平面定义为E_⊥^in,且束腰半径为(2um,2um)。在经过傅里叶变换后,我们获得其角谱,同样具有高斯轮廓,如图5所示。按照方程(10)中的操作算子序列,输入角谱将乘以透射或者反射率系数。我们仍以透射作为例子,并且对于线性偏振输入场,我们使用t_xx和t_yx乘以E ̃_x^in,以获得输出角谱分量。
图4.由熔融石英制成,两侧有多层膜的标准具。其结构和光学参数如表1中所示。
表1 标准具的结构和光学参数
图5 .(a)输入高斯场分量的振幅;(b)对应的角谱分量。由于输入光场为沿x方向的线性偏振光,因此仅显示Ex分量。
如第三节中所指出,乘积的采样不能自动得到保证,此案例中将显示该现象。标准具由于其频率选择功能(频谱或角频率)而得到广泛的使用。在我们的案例中,角频率选择可以解释为系数txx和tyx以一种方式调制输入角谱,以使特定的角频率加强而其它的减弱。这种调制可以出现在一种非常精细的频率水平上。因此,需要使用更精细的采样以在输出角谱中解析这样一个精细的调制。为了获得需要的采样间距,我们遵循算法1,图6中显示了部分结果。
通过图6和表2,我们根据算法1中的步骤描述了工作流程,如下:
第一步:从图6(a)中所示的输入角谱开始,计算各个系数并乘上元件矩阵以生成初始化的输出角谱;
第二步:初始化相对偏差σ=+∞;
第三步:开始测试循环;
第四&五步:将采样距离沿κ_x或者κ_y方向减半,以定义测试网格,对应的采样点如表2中所示;
第六步:对输入角谱在测试网格上插值;
第七步:在测试网格上严格的计算输出角谱,在此例中,对应图6(e);
第八步:执行插值以获得,在此例中对应图6(b)-6(d);
第九步:比较严格仿真和插值结果,并计算相对误差;
第十步:对于较差的插值结果,如6(b)和6(c),表2中的0-3行,其结果是σ>σ_0,严格的结果将会传递给下一个循环并用于输入;否则,返回当前的结果。
图6.算法1中不同步骤时沿κ_x方向的一维提取结果:(a)输入角谱振幅,(b)-(d),在测试循环中的插值角谱振幅以及(e)在最后的循环中严格地计算输出角谱。所有的子图中的值都缩放到相同的范围内。
从表2中我们也可以看到测试首先是沿y方向,之后再沿x方向执行的,如第三节的最后所提到的。从第0轮到第4轮测试,采样距离δκx并没有改变,因此采样点Mx^,保持不变;在第四轮测试后σ<σ0,沿y方向的测试终止,意味着场数据已经可以从先前一轮的结果中恢复。因此,沿y方向的采样点数是705,在第四轮中额外的704个数据仅仅是用于测试目的,对最终的输出并没有贡献。然后以一种类似的方式沿x方向开始测试并在第11轮终止,同样,场数据可以从先前一轮的结果中恢复。因此,最终输出的采样点数固定在2817x705。在表2的测试轮中,包含的总的采样点数是5633x705+45x704,数据45x704来自于沿y方向的最后测试轮。再次强调一下,为了在角谱域进行合适的采样,有必要采用如此大的采样点数。并且,除了沿x方向或者y方向最后一轮测试,用于测试目的而所有严格计算地值都用于构建最终输出场。
页:
[1]