标准具和晶体中的电磁场传输算法
由平行平面构成的光学层在光学中广泛应用。层状结构可以用作许多不同情况的模型,像平板和标准具。基于这个事实,光与层状结构相互作用的主题一直引起大家的注意并且对此已经进行了大量的研究。 e"en
ma\_ W2h^ShG 在这类研究中,大多数观点都侧重于平面波,然而仅仅少数的研究使用了平面波谱方法(SPW)来考虑一般的电磁场。例如,参考文献[1-6]中研究了各向同性-各向同性的界面上,高斯光束的反射率和透射率;在参考文献[7-11]中研究了各向同性层或者平板的情况;参考文献[12-22]讨论了各向同性-各向异性界面的情况,在参考文献[23-26]中则讨论了各向异性层或者平板的情况。 1fRYXqx btb-MSkO 上面所提到的许多研究都用于特定的研究主题,像[1,3,5]中研究了高斯光束全内反射的横向偏移,并且他们常常关注于具体的配置。因此,将这些方法推广到更一般的情况的可能性受到了限制。 W&`_cGoP +:w9K!31- 在这篇文章中,我们从一个更一般的观点来考虑此问题。光学层几乎不会单独使用;相反,他们常常是一个光学系统的一部分并且和其他的元件一起使用,如图1中所示。基于此事实,我们遵循场追迹的概念[27],并使用不同的场追迹算子组合[28-32],如图1中所示,以对一个包含了层介质元件的系统进行物理光学模拟。考虑到模拟是对整个系统而不是单个元件,仿真层结构必须与系统的前后部分相连接。这要求我们传播步骤(图1中的P)进行适当的考虑,将前一个元件的输出连接到当前元件的输入,并将当前元件的输出传递到下一个元件。一般情况下,这样的传输步骤会出现在平行或者非平行平面之间。在参考文献[28,29]中已经提到了平行平面间几种有效的传输方法,在参考文献[33]中则可以找到对非平行平面间传输的一个详细的讨论。在这篇文章中,我们不会研究传输步骤,但会关注层状结构的元件算子C。 r-]Au - Pz3jc|Ga 此外,从数值计算的观点出发,为了执行一个连续且有效的系统模拟,要求元件算子C 7V?]Qif~ ,vP9oY[n 正确地处理采样场数据并和其他的算子以一种统一的格式传递场数据; *%5#\ I }8 A] 优化数值计算的效率。 o?uTL>Zin %Bg}
a 考虑到上述两个标准,我们开发了一种具有自动数值采样规则的SPW方法。与之前一些利用积分方法对空间和角谱相关的傅里叶变换进评估的研究相比(如参考文献[23]中的二维中点规则和参考文献[12-14,20,25]中的Stamnes–Spjelkavik–Pedersen方法[34]),我们使用了快速傅里叶变换(FFT)技术,此技术在大部分数值软件包中容易访问并且效率高。再加上在角谱域中经过深入考虑的数值采样规则,我们的方法具有一般适用性,对层元件和入射场没有任何限制。因此,此算法可以直接包含在一个物理光学系统模拟之中。 CD1}.h UMUr"-l =
图1.结合使用不同的场追踪算子来模拟光学系统: C是元件算子,P是相邻元件之间的传输算子。 b8)>:F 2.理论 /yn1MW[. /Kb7#uq 如图2所示,层状结构分别由两个位于 和 的平行平面构成。 和 的区域充满了复折射率为 和 的均匀各向同性介质。参考文献[27]中表明使用横向分量Ex和Ey已足够表征均匀各向同性介质中电磁场了。因此,我们可以使用以下表达式来描述此问题: Mvoi
7dI+aJ 其中,分别在平面 和 处定义输入和输出横向电场矢量,(两者位于界面的数学位置,但总是认为在均匀介质的一侧),由下式给出 SiHZco
I
bnLvJ]i) 其中 。方程(1)中的元件算子是一个2x2的矩阵形式, [0N==Ym1
dUeM+(s1 ,eD@)K_:
图2.层状结构分别由两个位于  和  的平行平面构成。  和  的区域由均匀各向同性介质填充,其折射率分别是  和  。输出场和输出场在层表面进行定义,但总是在相应的各向同性介质的一侧。 |0n h 在这章节,我们的目标是找到C的精确的形式,以连接层介质元件的输入和输出场。为了研究与层结构的相互作用,我们对输入横向场分量进行了一个傅里叶变换,并获得了 ?1}1uJMj-
n5"rSgUtE 其中 , F表示二维傅里叶变换, &!JX
'wz*GMGWC
c ;` \p1H" A
。逆傅里叶变换定义如下 @P+k7"f
iOm1U_S 方程(6)中的积分可以解释为将 分解为具有不同横向波矢分量κ的平面波。因此,在我们的情况下,每个输入平面波都可以单独处理——我们首先计算每个输入平面波的输出,然后进行求和从而获得输出场。 Wfkm'BnV 此外,根据边界条件对电磁场施加的连续性要求,可以显示出一个给定的输入平面波在与层结构相互作用的过程中其横向波矢分量κ必定保持不变。同样可以显示出,通过叠加原理的有效性,不同的κ之间没有耦合。因此,对于输出角谱,我们可以写下 ?sDm~]Z
-wlob`3 其中 ftF?T.dx a9Lf_/w{ & i%>]$*
orf21N+ [ !cT#G 公式(8)中分别是透射和反射系数矩阵。为了计算T(κ) 或者R(κ),我们选择使用数值稳定S矩阵方法。为了计算S矩阵,首先必须确定每个各向异性层的平面波。基于文献[35]中Berreman的4x4矩阵公式,Landry和Maldonado开发并展示了一种数值友好的形式,见参考文献[23]。我们采用了他们的方法,对于每一层,求解了参考文献[23]中由方程(28)所描述的特征系统的特征值和特征向量。 w(n&(5FzB< 不同于[23,25]中直接使用本征解来构建一个转换矩阵,另外,我们还需要根据他们的传输方向整理出平面波,这是为计算S矩阵所做的一个必需的准备。为此,我们遵循[36]中4.3部分由Li所提出的标准。 fHYEK~!C04 然后可以应用递归S矩阵公式。我们在这篇文中不再重复给出已发展成熟的S矩阵方法,读者可以参考文献[37]中的方程(5)-(8)以获得更多的信息。在我们的情况中,由于没有反向传输输入场,我们仅对正向透射或者反向反射感兴趣,因此这篇文章中的矩阵系数T(κ) 和R(κ)对应于[37]中方程(5c)或者(5d)中的子矩阵T_uu 或者R_du。 3WS`,} 一旦获得了矩阵系数,通过方程(7)即可获得输出角谱。对输出角谱进行一个逆傅里叶变换,我们获得了输出横向场矢量 Ta?#o Y&`Vs(
HY9H?T j(6:
通过联合方程(4),(7),(9),我们可以写出从输入场到输出场整个计算流程,如果 &$jg *Kr 我们以透射的情况作为例子,则 8e)k5[\m BIDmZU9tL
'(Uyju= n@{fqj 因此,方程(1)中元件算子C的精确形式如下 r Y|'<$wvg #*#4vMk<
6%C:k,Cx{d D<5)i)J" 通过使用系数矩阵R(κ)代替 T(κ),可以获得反射情况的表达式。 g}|a- ui`xgR\6Rh 3.算法 5.F.mUO 按照方程(10)的顺序,我们可以应用一种数值算法以计算场经过分层介质元件的传输。让我们从横向输入场矢量 和 ,以图3(a)中的均匀网格进行采样。这种网格定义为 ,其中 和 作为索引数,δx和δy是x方向和y方向的采样距离。初始采样参数应该受到合适的控制以使他们符合先前算子的奈奎斯特-香农采样定理。方程(10)中的F为联系空间域和频率域的算子,可以使用不同的数值方法实现,像广泛使用的快速傅里叶变换(FFT)技术,以及包含了能够进一步提高数值效率的半解析傅里叶变换[38]和啁啾z变换[39-41]的更高级的方法。在此篇文章中,我们使用了FFT技术,并以此获得输入角谱。但我们的算法不受限于该技术。 DSYtj}> (qlIQC
e{U`^ao`F8 图3.在角谱域定义均匀采样网格。(a),初始网格定义,5x5采样点, 和 为采样距离;(b),使用5x5采样点,沿垂直方向生成一个测试网格, 和 =0.5 为采样距离;(c)中使用9x5个采样点定义了沿水平方向的一个测试网格, =0.5 和 为采样距离。((b)和(c)中的实心点是在(a)的初始网格中出现的共同的采样点位置,而空心圆环与初始网格中不一样的采样点。 4?g~GI3 *_b4j.)ax, 1gts=g.
FIlw UtG@0(6C @)m[:n 其中角谱域中的均匀网格定义为 ,其中 和 为Kx和Ky的采样距离。利用FFT计算的结果,在两个域中的采样点是一样的,因此我们有 。 -r]s #$ 接下来,将输入角谱乘以系数矩阵,然后我们可以获得输出角谱场,例如,对于透射 <<LmO-92 +|r;t
W!.UMmw` HD ?z 角谱 的采样通过傅里叶变换关系自动确保。然而, 的采样没有必要进行确保,因为他们包含了系数和输入角谱之间的点乘。这个问题将在第四部分的案例中进行清楚地说明。 mJ<rzX 一般来说,采样距离 , 和带宽 必须进行适当调整以确保正确的采样。在我们的情况中,方程(13)中的运算没有改变谱范围。因此,我们仅仅只需要找到合适的采样距离即可。此问题并没有解析解,因为系数矩阵T或者R是通过递归S矩阵方法数值上获得的。确保 采样的唯一方法是实行数值测试。 _s (0P* [wRk)kl` 让我们在角谱域定义一个测试采样网格,如如3(b)或者3(c)所示。测试网格定义为 ,其中 为指数;为了不改变角谱范围,要求 。与初始网格相比,它也需要进行细化,这意味着 。 9z\q_0&i 一方面,我们以一种严谨的方式来计算测试网格上的输出横向角谱分量。由于输入横向角谱分量的合适采样,根据需要可以进行插值,例如,在测试网格上,我们获得 XJ?|\=] e'(n ^_$nl
B~- VGT2o "w=p@/C 其中“INTRPL”代表的是数值插值运算。为了在一个更精细的网格上严格地获得输入场,如方程(14)中,我们总是采用基于FFT的Sinc插值方法,把它们代入到方程(13)中,可以严格地获得输出横向角谱量 NS-u,5Jt qD7(+a
,!F'h:
}fZT$'*; 另一方面,通过对 的插值,我们也可以获得测试网格上的输出横向角谱量,并将插值结果表示为 。我们将此过程描述为 heZJ(mR oiJa1X
zN#$eyt p*_g0_^ 值得强调的是,在方程(16)中无需再使用严格的Sinc插值。因为这些结果仅仅用于评估一下情况。在这篇文章中,我们使用三次插值。上面的插值没必要给出正确的输出值,因此,在方程(16)的左边,我们对那些量使用上标“intrpl”。下一步,我们定义 a3 6n}R4Q ,~X^8oY
B{H;3{0 cz
OhSbmc 作为插值结果和严格结果之间的相对偏差。只要 在初始网格上的采样满足奈奎斯特-香农采样定理,基于他们的插值结果就不会对严格的插值方法表现出一个大的偏差。在这种情况下,根据所选的插值方法,两种结果的偏差应该在数值误差级次,由σ_0表示。使用上述标准,通过一步步的减小采样间距来测试场采样,直至σ<σ_0。 &\. LhOm jr~ +}|@{ 以上的测试过程对应着一个循环,在每个测试循环中都会执行方程(14)到(17)的计算。为了在每个测试循环中充分地使用测试数据,如方程(15)中的结果,我们总是使用图3(b)和3(c)中的测试网格。这样规则的测试网格定义为 y7wy9+>l Otj=vGr0
iBwl(,)?m2 ruS/Yh 对每个循环内,需要对先前的采样距离减半。使用这个测试网格具有如下好处:当计算 时,仅仅需要计算那些在空心圆圈位置处的值,而实心点位置处的值在之前的测试循环中已经计算过了,并且让这些值简单地进行传输即可。在这种方式下,这些基于测试目的所进行严格计算的值不会被丢掉,而会作为下一次循环中的起始点以重新使用。因此,在一个完整的计算中所执行的是严格的计算,从而验证合适的采样,并且这些计算的值能够有效地用于构建最终输出场。我们将上面的方法总结在算法1中。 KArf:d 算法1:通过合适的采样控制来进行输出角谱计算的数值流程 J*U,kyYF 1)在初始网格严格地计算 3%{XJV 2)初始化相对误差值σ=+∞ aWm0*W"(@ 3)判断σ>σ_0, ⊳如果为真,则采样不合适 "Vho`x3 4)沿Kx(或者Ky)二等分采样距离 8xDSeXh; 5)应用新的采样距离定义测试网格 kWjCSC>jA 6)在测试网格中对输入角谱插值,根据方程(14)获得 xE;4#+_I 7)根据方程(15),在测试网格上严格地计算输出角谱 7~C@x+1S/ 8)根据方程(16),通过插值获得 ggVB8QN{ 9)根据方程(17),计算误差σ -9} ]J\ 10)如果σ>σ_(0 ) ,则⊳将目前的输出场设置为下一次循环的起始点 J;+tQ8,AP 11)返回 z[0L?~$ 6aK'%K 为了有效地处理非对称情况,例如,光束在x方向和y方向有不同的发散角,算法1中的测试需要按顺序沿两个方向进行。开始方向的选择是任意的,在我们的情况中,我们是沿y方向开始测试的。
?Vbe f";70}_ 4.示例 "}*P9-% 3lMmSKN 在VirtualLab Fusion[42]软件中,我们将第三节中提出的算法实现在“可编程元件”的编程界面中。这个元件可以与VirtualLab Fusion中其它的物理光学仿真技术进行联合仿真。接下来,我们展示了四个案例:前两个主要关注元件本身并以一种严格的数值方式检查此算法;后两个案例中,元件将用于光学系统中,例如,此算法与其它仿真技术一起使用。 _:+W0YS 0gm+R3;k^ 在进入实际的案例之前,设置方程(17)中的迭代终止标准σ_0很重要。对于在此文中所使用的三次插值,我们预先检查了它在一般情况下的表现并在我们的数值环境中找到了一个0.01的基准值。 Yt++? aN).G1 A.各向同性标准具 9Wb9g/L @NlnZfMu 第一个案例模拟了一个线性偏振高斯光束经过一个标准具的传输。通过这个案例,我们将清楚的指出第三节中所说的采样问题并描述了算法1的工作原理。标准具由熔融石英制成,两侧有多层薄膜,如图4所示。关于标准具的光学参数和结构的更多信息,请见表1。输入场为波长633nm,x方向线偏光的高斯光束。其在元件的输入平面定义为E_⊥^in,且束腰半径为(2um,2um)。在经过傅里叶变换后,我们获得其角谱,同样具有高斯轮廓,如图5所示。按照方程(10)中的操作算子序列,输入角谱将乘以透射或者反射率系数。我们仍以透射作为例子,并且对于线性偏振输入场,我们使用t_xx和t_yx乘以E ̃_x^in,以获得输出角谱分量。 ~ d/Doi SgAY/#
Os*,@N3t 图4.由熔融石英制成,两侧有多层膜的标准具。其结构和光学参数如表1中所示。 DvF`KHsy )+RGXVp 表1 标准具的结构和光学参数 o(]kI?` r9%4q4D?>9
$f_;>f2N 6JmS9ho
_I<eJ\ 图5 .(a)输入高斯场分量的振幅;(b)对应的角谱分量。由于输入光场为沿x方向的线性偏振光,因此仅显示Ex分量。 $d:/cN
8E ]d9;YVAU 如第三节中所指出,乘积 的采样不能自动得到保证,此案例中将显示该现象。标准具由于其频率选择功能(频谱或角频率)而得到广泛的使用。在我们的案例中,角频率选择可以解释为系数txx和tyx以一种方式调制输入角谱,以使特定的角频率加强而其它的减弱。这种调制可以出现在一种非常精细的频率水平上。因此,需要使用更精细的采样以在输出角谱中解析这样一个精细的调制。为了获得需要的采样间距,我们遵循算法1,图6中显示了部分结果。 /jC0[%~jV `R!0uRu 通过图6和表2,我们根据算法1中的步骤描述了工作流程,如下: ,'= Y IJD'0/R'c 第一步:从图6(a)中所示的输入角谱开始,计算各个系数并乘上元件矩阵以生成初始化的输出角谱; REW
*6: 第二步:初始化相对偏差σ=+∞; !R//"{k0? 第三步:开始测试循环; Sl:Qq! 第四&五步:将采样距离沿κ_x或者κ_y方向减半,以定义测试网格 ,对应的采样点如表2中所示; 3VCyq7B^ 第六步:对输入角谱在测试网格上插值; }pu2/44=W 第七步:在测试网格上严格的计算输出角谱 ,在此例中,对应图6(e); |ZJ]`qmZ 第八步:执行插值以获得 ,在此例中对应图6(b)-6(d); ~uq J@#o{ 第九步:比较严格仿真和插值结果,并计算相对误差; W6K]jIQ 第十步:对于较差的插值结果,如6(b)和6(c),表2中的0-3行,其结果是σ>σ_0,严格的结果 将会传递给下一个循环并用于输入;否则,返回当前的结果。 l4O}># -/~^S]
qe"5& |