Ansys Zemax | 设计衍射光学元件(DOE)和超透镜(metalens)
在这篇文章中,我们简要介绍了使用 OpticStudio 设计衍射光学元件(DOE)和超透镜(metalens)的过程。我们讨论了相位面和局部光栅的概念。附件中还提供了一些有用的DLLs,以支持特殊的 DOE 或 metalens 设计方法。
下载
联系工作人员获取附件
本文讨论了衍射光学元件(DOE)和超透镜(metalens)的设计过程。主要目的是为刚接触这个课题的设计者提供一个起点,看看 OpticStudio 有哪些方法可使用。
对包括 DOE/metalens 在内的系统进行模拟和设计总是很棘手,没有通用的方法来处理所有情况。设计师需要根据具体情况决定其设计策略。许多情况下设计过程中需要两种不同的光学理论/算法来分别处理光束在自由空间和微观结构中的传播[1-3],而也有一些设计单纯只使用光线追迹来实现。[4]
在这篇文章中,我们首先简要介绍了一些可能的设计思路。有关自由空间和 DOE/metalens 中的相位面和传播方法概念的更多细节将在后面讨论。在最后一节,介绍了为特殊相位面设计定制的一些有用的 DLLs。
1. 设计思路
在这一节中,我们简要地讨论了一些经典的设计思路。
1.1 相位 -> 微结构 -> 实验验证
在这一过程中,用户首先将 DOE/metalens 等效为其对应的相位面来在 OpticStudio 中用光线追迹的方法进行设计。然后根据得到的相位分布来设计微结构。图1显示了该过程的流程图。该图不包括设计的细节,例如,微结构可以是传统闪耀光栅或现代超透镜。根据微结构的类型,所需的设计和制造方法可能非常不同。
参考文献[5]显示了一个从给定的相位分布生成闪耀光栅的例子。它还讨论了采用单点金刚石车削机的制造方式。图1所示的例子可以在附件 " phase profile example.zar "中找到。另外,参考文献[3]显示了如何使用 Lumerical FDTD 软件为给定的相位分布设计 metalens。
这种方法的缺点是,设计者可能无法检查整个系统的性能。例如,没有办法检查考虑所有衍射阶数的真实点扩散函数(PSF)。同样,尽管可以追踪来自 "非工作 "阶数的光线,但没有计算出衍射效率,因此无法知道杂散光的能量占比。
图1 在 OpticStudio 中设计 DOE/metalens 的一种工作流程
1.2 相位分布 -> 微结构 -> 用 POP+FDTD 验证
为了解决前一个过程的缺点,即在制造前不能模拟整体系统的性能,物理光学传播(POP)和 FDTD 可以用来精确计算 PSF。这种方法主要用于平面 metalens 设计。Zemax OpticStudio 不包括 FDTD 引擎,但是,参考文献[3]显示了一个将 Lumerical FDTD 和 Zemax OpticStudio 整合到这个过程的例子。图2强调了这个过程的概念。
当系统只包含一个 metalens 时,设计者可以首先在 Lumerical FDTD 中建模一个平面波入射到 metalens,经过 metalens 的电场分布被导出为 ZBF 文件,并进一步导入 OpticStudio POP 中以评估最终的 PSF。
然而,当 metalens 被放置在透镜之间,并且入射到 metalens 的光束不是平面波时,设计者可以在 POP 中先以平面波开始模拟,光束在 POP 中传播到 metalens 的前表面,并以 ZBF 文件导出。然后,ZBF 被导入 FDTD 作为一个光源,并被传播通过 metalens。该过程的其余部分与之前讨论的相同。
这个过程的一个缺点是,由于需要强大的运算能力和资源,FDTD 不能处理大尺寸的镜头。另外,这种方法只能模拟每个单独视场的 PSF,像图像模拟或相对照度此类分析是不行的。
图2 图1所示工作流程的加强版。在制造之前,设计者可以使用 POP 和 FDTD 来检查最终的 PSF
1.3 参数化 DOE 的 Sag -> 用 FFT /惠更斯 Huygens PSF 进行光线追迹
若不使用相位面来表征 DOE,也可以直接在序列模式下对详细的闪耀光栅 Sag 进行建模,用传统的光线追迹和 FFT 和 Huygens PSF 等分析方法来设计 DOE。这种方法只有在 DOE 光栅常数的数量级远大于波长时才有效(因为接近波长时矢量衍射效应很强)。由于这个原因,这种方法不适合用于考虑 metalens。参考文献[4]中讨论了一个很好的例子,DOE 的 Sag 分布是由一个方程描述的,生成了类似于菲涅尔透镜的闪耀结构。
除了光栅常数的限制外,这种方法的另一个缺点是,设计者可能仍然需要定制一些工具,以增强 OpticStudio 提供的功能。例如,目前没有支持参考文献[4]中所述的闪耀 Sag 的原生面型。用户需要创建自己的序列面 DLL,以模拟特殊的表面 Sag 分布。此外,目前 OpticStudio 不支持显示横截面 PSF,例如,Y-Z 平面,需要一个宏来扫描不同Z位置的 PSF 并创建参考文献[4]中所述的图。
1.4 参数化 DOE 的 Sag 分布 -> POP
与上述方法类似,可以通过在 OpticStudio 中利用 Sag 进行建模来模拟菲涅尔波带片。但对于这种类型的 DOE,仅使用几何光线追迹来模拟是不行的。因为表面上没有坡度,所以垂直入射到 DOE 上的光线不会改变其方向,然而,事实上,垂直入射的光束可以通过适当设计的菲涅尔波带片进行聚焦。这种效应应该由 OpticStudio 的 POP 来处理。
本文附有使用 POP 处理菲涅尔波带片的实例文件 "Fresnel Zone Plate Phase Type.zar",供用户参考。如图3所示,在这个系统中,准直光束入射到玻璃板上。在玻璃板的背面,使用菲涅尔波带片表面类型创建了一个同心的二元结构。在布局窗口中,您可以看到光线不改变其传播方向,光束保持准直传播,从物体表面到图像表面。
注意,对于这种结构,透镜的最大允许直径可能严格取决于入射光束的相干程度和透镜的焦距。本文将不讨论波带片的设计基准原则。
图3 带有菲涅尔波带片的系统布局
然而,如果现在用 POP 对同样的情况进行建模,就会发现光束会在图像表面处聚焦,如图4所示。在这里,我们从束腰为2.6mm的高斯光束开始,将光束聚焦为束腰约为0.4mm的光斑。这个例子表明,这种类型的结构只能用 POP 进行模拟。
图4 菲涅尔波带片图像平面上的 POP 结果
请注意,POP 是基于标量衍射理论的,所以它不适合于光栅常数通常为亚波长量级的 metalens。
2. 相位面
等效相位面是一种被广泛采用的 DOE 设计方法。它的一大优势是可以自然地与光线追迹引擎一起工作,从而利用 OpticStudio 中的大多数工具。缺点是,在根据给定的相位面计算得出微结构后,我们目前还没有办法在 OpticStudio 中考虑衍射效率。相位面提供了足够的信息来计算光线衍射到哪里。然而,并没有关于衍射光线应包含的能量信息。为了获取这个能量信息,我们需要其他工具来计算衍射效率。
图5显示了一个人工晶状体上的衍射表面如何将光线衍射的例子。通过相位图,我们很容易知道每个阶次的衍射光线的方向。在图3中,绘制了来自衍射-1(红色)阶、0(蓝色)阶和+1(绿色)阶的光线。目前,每个衍射阶数的衍射效率无法计算。换句话说,我们有可能知道每个衍射阶数的光斑是什么样子的,但是这些阶数的能量分布仍然是未知的。
图5 这是一个衍射人工晶状体设计的例子。衍射表面是由 Binary2 表面表征的。布局中的光线是由 DOE 衍射的。画出了-1(红色)、0(蓝色)和+1(绿色)阶的光线路径。请注意,还有更多阶没有画出来。
在这一节中,讨论相位面的确定,用相位面进行光线追迹,以及如何推导出微结构。
2.1 获取相位分布
以下是在许多 metalens 论文中常见的表征相位面的方程式:
然而,这个公式只适用于小视场(FOV)。对于大的 FOV,最佳的相位分布需要在几个视场角和波长之间进行折衷考量。参考文献[1]中有一节解释了在 OpticStudio 中设计相位面的概念。请注意,如果它是离轴设计,相位分布也可以是不对称的[2]。在这种情况下,序列面二元面1(Binary 1)通常是一个很好的选择,但其他相位面,如 Zernike Standard 相位面也有可能被使用。
2.2 相位分布和局部光栅的概念
需要了解的一个重要概念是对局部恒定周期光栅的近似。如图6左图所示,当射线被追踪到一个弯曲的表面时,此处小的局部区域被视为一个平面,根据斯涅尔定律来计算光线的折射。在图6的右图中,一条光线在曲面上碰到了一个周期变化的光栅,在这种情况下,此处小的局部区域也被认为是一个平面,并且光栅的周期被认为是恒定的。这种 "局部恒定周期光栅 "的近似是一个有用的概念,有助于理解由相位面表示的 DOE 如何与光线追迹方法一起工作。
图6 通过法线表面(左)和 DOE 表面(右)追踪的光线
为了追踪光线通过表面的走向(该表面以相位面描述),首先通过求解相位面的导数来确定 DOE 上任意点对应的局部光栅的周期,如下式所示:
请注意,从上述公式中计算出的周期是投影在 XY 平面上的分量,如图7所示。在下图中,您也可以看到,当周期变小时,相位斜率会变大。
图7 局部光栅的周期和相位曲线
一旦从相位图上确定了光栅的周期,就可以用下面的衍射方程来计算出衍射光线的方向:
通过一些矢量运算,r2的解可以写成:
2.3 微结构
一旦设计好了相位面,就可以进一步推导出对应的微结构。有两种不同但相似的方法可以从相位分布中得出对应的微结构。
在 metalens 设计过程中,通常设计者清楚超原子的形状和它所代表的相位之间的关系。然后根据这种关系和给定的相位分布来布局超原子。[1-3]
对于一些传统的 DOE 设计,相位分布通常被认为是一个频率分布函数。这样,DOE 可以被看作是一个同心圆光栅,其中周期是关于径向距离的一个函数。[5]
这两种解释大致相同,因为两者都在表面上产生周期变化的周期结构。主要的区别是每个单一周期区域的结构是不同的。在图8中,显示了我们可以将一个相位转换为闪耀光栅或超原子。一般来说,metalens 有更多的自由度,可以获得更好的效率或实现更多的功能,尽管于此同时它也对设计和制造也提出了挑战。
图8:光栅可以被制作成传统的二元光栅、闪耀光栅或超透镜(metalens)
3. 一些有用的DLLs
这里提供了一些 DLLs 来补充 OpticStudio 目前还不支持的原生特殊表面类型。这些可能对一些较新的 DOE 或 metalens 设计很有用。用户可以从本文的链接中下载它们。下面几节将简要讨论如何使用这些 DLLs。
3.1 us_binary_mix12.dll
这个 DLL 的功能是实现原生二元面1(Binary1)和二元面2(Binary2)表面的混合。它只支持平面。这对离轴 metalens 的设计很有用。这个 DLL 可以通过打开附件 Binary2_mix12_demo.zar 来提取。
图9 来自 Binary2_mix12_demo.zar 文件的系统布局
3.2 us_asp30_bin30.dll
这与原生二元面2(Binary 2)表面基本相同,只不过它支持非球面项数到30阶,而不是原生二元面2(Binary 2)表面的16阶。如果用户想在高阶非球面镜片上设计 DOE 或metalens,这很有用。这个 DLL 可以通过打开附件 test_asp30_bin30.zar 来提取。
3.3 us_binary2_metalens.dll
这个表面与原生二元面2(Binary 2)表面相似,但有一些区别。它只支持平面,并且只有10阶以下的相位项。这个曲面允许不同的波长对应不同的相位分布。参数被命名为 Wxry,其中x是波长数,y是二元面2(Binary 2)相位项数。如果 metalens 被设计成对不同的波长有不同的响应(相位分布),那么这个面就很有用。请注意,这需要特定的设计,以使 metalens 对不同的波长有不同的表现。在使用这个 DLL 之前,请向 metalens 设计者咨询。
图10 us_binary2_metalens.dll 的部分参数
总结
文章介绍并讨论了4种不同的 DOE 和 metalens 的设计过程。详细解释了使用相位面来模拟衍射光学的概念。我们还提供了3个 DLLs 供用户下载。这些 DLL 是为模拟特殊的衍射光学情形而定制的,目前 OpticStudio 的原生表面类型不支持这些衍射光学情形。
参考文献
[1] Chen, W.T., Zhu, A.Y. & Capasso, F. Flat optics with dispersion-engineered metasurfaces. Nat Rev Mater 5, 604–620 (2020). https://doi.org/10.1038/s41578-020-0203-3
[2] Faraji-Dana, M., Arbabi, E., Arbabi, A. et al. Compact folded metasurface spectrometer. Nat Commun 9, 4196 (2018). https://doi.org/10.1038/s41467-018-06495-5
[3] https://support.lumerical.com/hc/en-us/articles/360042097313-Metalens-Zemax-Interoperability
[4] Anna Nemes-Czopf, Dániel Bercsényi, and Gábor Erdei, "Simulation of relief-type diffractive lenses in ZEMAX using parametric modelling and scalar diffraction," Appl. Opt. 58, 8931-8942 (2019)
[5] RIEDL, Max J., “Diamond-turned diffractive optical elements for the infrared: suggestions for specification standardization and manufacturing remarks”, SPIE Vol 2540 / 257