Skip to main content

大家好,

我目前在尝试复现和《Flat metaform near-eye visor》这篇文献的工作类似的光学系统。论文中的反射式超透镜我改成了透射式超透镜,参数也做了一些修改。如果全部在序列模式下建模,得到的效果大概如图所示。

探索了一段时间后发现,用序列模式下的“网格相位”去定义超透镜比较合理,用非序列模式下的探测器去探测成像效果会更好。(这个结论我不确定是否正确,我邮件询问过文章作者,他说是在非序列模式下建模模拟的,但作者找不到原来的文件了。我在非序列模式下确实没有找到可以模拟超透镜的元件,所以目前的想法是在序列模式下添加两个非序列元件,分别是“矩形光源”和“矩形探测器”)

看了一下用户手册,发现序列模式下的元件和非序列模式下的光源与探测器作用似乎很复杂。简单来说就是非序列模式下的“矩形光源”并不会与序列模式下的“网格相位”相互作用,尝试对照用户手册中去设置输入端与输出端,也没有得到很好的效果。

想要询问大家的问题是,

①是否可以在非序列模式下建立一个像序列模式下“网格相位”一样的元件呢?这样的话整个光学系统都可以在非序列模式下进行模拟。我调研了一下似乎可以用网格矢高表面,但老是会遇到问题。

②如果①不可行,那像我目前在序列模式下添加非序列元件,要怎样才能让两种元件产生交互呢?

附上我目前做的文件以及超透镜的相位数据文件。

非常感谢各位的帮助!

Hi TMX,

您好。感谢在Zemax 社区进行提问。这个主题非常有趣。

首先是回答您所设想的第二个方法,很遗憾答案是No。正如您所做的一些尝试。 虽然一些系统是可以混合使用序列和非序列。但前提是从序列模式Object发出的光线必定要回到序列的Image plane,同样在非序列中定义的光源无法与序列中的表面交互,序列中从视场定义所发出的光线无法被非序列Detector 捕获。

再来查看一下grid phase,其背后作用的原理是人为的给某个位置的光线加入相位,所加入的相位会使光线偏转:

如果是单纯的查看几何光线的话,即使我们将grid phase 转变成 grid sag, 也无法看得到预期的结果。

但如果考察的是电场的传播或者波前的传播的话,理论上会有不一样的效果。这一点再下面的链接中有讨论,这里我想说的波或电场的传播对应到POP/Huygens PSF. 

https://support.zemax.com/hc/en-us/articles/1500005491181-How-to-design-DOE-lens-or-metalens-in-OpticStudio

这也回答了您的第一个问题,我认为直接转换为矢高的方式在非序列中进行模拟是行不通的。

如果我们参考非序列中自定义物体 DiffractionGrating (与序列表面的phase表达式类似)的话,可以知道是能够通过自定义的方式去进行转化。这需要一些编程的工作以及熟悉OpticStudio所开放的数据类型。

 

我能想到的转换方法是,用Grid Sag去替代grid phase表面,但必须达到的效果是光线经过grid sag后的行为与之前通过grid phase是一致的。

您可以尝试先在序列模式中,将一个grid phase表面替换为grid sag lens 且必须设置折射率,否则没有光线偏转效果,然后再像面上查看替换前和替换后要有相同效果。如果这种转换可以实现,再将同样的Grid sag lens设置搬运到非序列中使用。

我查看了下您的phse profile, 不确定这种方法是否可行。

另外您提到的文章,我阅读后如有可添加的信息,再来更新。

另外附加一篇相关文章: 

https://optics.ansys.com/hc/en-us/articles/360042097313-Metalens

感谢~ 

 

Julia 


Hi TMX,

您好。感谢在Zemax 社区进行提问。这个主题非常有趣。

首先是回答您所设想的第二个方法,很遗憾答案是No。正如您所做的一些尝试。 虽然一些系统是可以混合使用序列和非序列。但前提是从序列模式Object发出的光线必定要回到序列的Image plane,同样在非序列中定义的光源无法与序列中的表面交互,序列中从视场定义所发出的光线无法被非序列Detector 捕获。

再来查看一下grid phase,其背后作用的原理是人为的给某个位置的光线加入相位,所加入的相位会使光线偏转:

如果是单纯的查看几何光线的话,即使我们将grid phase 转变成 grid sag, 也无法看得到预期的结果。

但如果考察的是电场的传播或者波前的传播的话,理论上会有不一样的效果。这一点再下面的链接中有讨论,这里我想说的波或电场的传播对应到POP/Huygens PSF. 

https://support.zemax.com/hc/en-us/articles/1500005491181-How-to-design-DOE-lens-or-metalens-in-OpticStudio

这也回答了您的第一个问题,我认为直接转换为矢高的方式在非序列中进行模拟是行不通的。

如果我们参考非序列中自定义物体 DiffractionGrating (与序列表面的phase表达式类似)的话,可以知道是能够通过自定义的方式去进行转化。这需要一些编程的工作以及熟悉OpticStudio所开放的数据类型。

 

我能想到的转换方法是,用Grid Sag去替代grid phase表面,但必须达到的效果是光线经过grid sag后的行为与之前通过grid phase是一致的。

您可以尝试先在序列模式中,将一个grid phase表面替换为grid sag lens 且必须设置折射率,否则没有光线偏转效果,然后再像面上查看替换前和替换后要有相同效果。如果这种转换可以实现,再将同样的Grid sag lens设置搬运到非序列中使用。

我查看了下您的phse profile, 不确定这种方法是否可行。

另外您提到的文章,我阅读后如有可添加的信息,再来更新。

另外附加一篇相关文章: 

https://optics.ansys.com/hc/en-us/articles/360042097313-Metalens

感谢~ 

 

Julia 

非常感谢您的回复!没想到这么快就有答复了,辛苦您了!非常感谢!您提到的改进方法我会逐一研究并尝试一下。再次感谢您的答复!


Reply