news 2026/4/18 9:45:01

Ansys Zemax|探索OS中的物理光学传播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ansys Zemax|探索OS中的物理光学传播

概述

物理光学传播 (Physical Optics Propagation, POP) 分析是OpticStudio序列模式中的一个强大的分析工具,它可以用来分析光束的传播和光纤耦合的效率。这篇文章旨在介绍这一分析工具的功能,并向您展示一些具体的应用示例。本文同时为您介绍了如何使用光束文件查看器 (Beam File Viewer) 这一重要功能。

介绍

使用几何光学追迹对光的传播进行描述并不完善。严格来说,光的传播是一个相干的过程。当一个波前在真空或光学介质中传播时,其各部分之间会发生干涉。模拟此类相干的传播便属于物理光学的范畴。OpticStudio通过衍射算法对系统进行POP分析,模拟波前在光学系统里从表面到表面的传播行为。该分析模式充分考虑了光的相干性。

什么是物理光学传播

在进行POP分析时,波前使用点阵进行模拟,其中点阵中的每个点都储存了光束的复振幅信息。您可以自行定义复振幅的维度、采样率和纵横比。

在计算光束从一个表面传播到另一个表面时,可采用菲涅尔衍射传播或者角谱传播算法进行计算。OpticStudio在计算时会自动选择数值精度最高的算法。衍射算法在任意光束性质、任意传播距离或任意的表面孔径包括用户自定义孔径,都能得到正确的分析结果。

POP分析通常应用于计算光纤耦合(单模和多模)效率、计算任意类型光学空间中的衍射传播、计算引入像差后的最佳束腰位置偏移、计算在光学表面上的光通量和照度等。POP分析同样可以详细计算任意激光光束在复杂光学元件中传播,包括对M平方的计算。

变形光束

点击文件菜单或者工具栏中的打开按钮,打开文件Zemax\Samples\Physical Optics\Anamorphic Beams.zmx。

该示例文件展示了光束在变形棱镜中的传播。

如果勾选了配置选项(Project Preferences)中的常规 (General)设置中的“使用Session文件(Use Session Files)”选项,则在您打开文件时软件会自动打开镜头数据编辑器 (Lens Data Editor)、点列图 (Spot Diagram)、实体模型 (Shaded Model Layout) 和物理光学传播 (Physical Optics Propagation) 等窗口。

POP分析窗口显示了光束在像面(表面14)上的辐照度分布。

如果想查看初始光束的设置参数,请点击POP分析窗口的菜单栏上的设置(Settings)按钮,选中光束定义(Beam Definition)标签。可以看到光束的类型为高斯光束,沿X和Y方向的径向束腰均为0.004mm (4μm)。现在选中常规 (General)标签,可以看到光束设置为从表面1开始一直传播到像面。勾选单独X, Y (Separate X, Y)选项。该选项可以更加精确的模拟像散光束或变形光束的传播。勾选该选项后OpticStudio会分别在X和Y方向使用不同的相位参考面进行计算。

现在请点击确认,重新运行分析。

需要注意的是,入射光束为旋转对称的高斯光束(束腰半径为4μm),由于光束传播经过变形棱镜(对应表面5到表面13),因此出射光为变形光束。Pilot beam数据(显示在窗口的底部)的数值显示出了该光束的变形。Pilot beam是最佳拟合的高斯光束。该拟合是基于实际波前的参数生成的。

如果想要对变形光束进行更详细的分析,您可以查看POP分析的截面图。点击POP分析窗口菜单栏的设置按钮,在显示 (Display)标签中将显示为 (Show As)设置为X截面 (Cross X)并点击确认,便可得到辐照度分布的截面图。

使用技巧:您可以点击POP分析窗口底部的文本 (Text)标签,对当前所显示的结果生成一个文本数据的总结。在文本数据中,您可以使用windows系统标准快捷键组合(Control-C和Control-V),将所选取的数据部分复制粘贴到剪贴板或者其他程序中。您也可以点击菜单栏上方的复制按钮来复制整个文本数据,或者点击保存按钮将数据以文本文件的形式保存。这在分析复杂的数据时非常有用。

光纤耦合

打开示例文件Zemax\Samples\Physical Optics\Fiber Coupling.zmx。该示例文件展示了如何在OpticStudio中使用POP分析功能计算光纤耦合。您可以在POP分析窗口的底部看到光纤耦合的详细信息(请确认勾选了“使用Session文件”选项)。分析结果显示,当前耦合效率超过99%!

您可以在POP分析的设置对话框的光束定义标签中设置光源光束的参数。在本例中,光束为束腰半径为2mm的高斯光束。点击光纤数据 (Fiber Data)标签,您可以查看接收光纤的定义参数,本例中接收光纤的模式为高斯模式,束腰半径为8μm。当前系统中勾选了计算光纤耦合效率 (Compute Fiber Coupling Integral)选项,只有该选项启用时OpticStudio才会显示光纤耦合的分析数据,否则在窗口底部显示的是Pilot beam的数据。

如果想要模拟将光束耦合到模场直径更小的光纤的情况,您可以改变接收光纤的光束模式及参数。在光纤数据标签中,更改束腰-X (Waidt X)束腰-Y (Waist Y) 为0.004,点击确认。OpticStudio将重新计算光纤耦合的效率。

和预料中的一样,将光束耦合到模场直径更小的光纤中时,耦合效率降低了。

使用技巧:OpticStudio的专业版及旗舰版用户可以基于POP分析,使用优化操作数FICP对光纤耦合的效率进行优化。

您还可以在这篇官网知识库文章中了解更多关于单模光纤耦合的信息在OpticStudio中仿真单模光纤耦合http://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650032464&idx=2&sn=779b4101de3ec320741d73aa4730a95e&chksm=8ffd7089b88af99f74bc5036fc85733083a44efa4e1a53ca565fa3a6f4ef3de89ad70017cfff&scene=21#wechat_redirect

吉布斯效应

现在让我们使用POP功能,模拟均匀的近场光束被孔径拦截时所产生的衍射效应。打开示例文件Zemax\Samples\Physical Optics\Gibbs Phenomenon.zmx。

注意在该示例文件中,光阑面的半口径 (Semi-Diameter)后面有一个字母U。这表示该表面上设置了一个尺寸固定不变的孔径。孔径的径向距离等于这个表面的半口径。在本例中,该表面孔径为半径0.1mm的圆形。

打开示例文件会同时打开两个POP分析窗口的截面图。其中一个展示了表面1上的POP分析结果,另一个展示了像面(表面2)上的POP分析结果。两个窗口的光束定义相同,唯一的区别在于设置对话框的常规标签中终止面 (End Surfaces)的设置。在光束定义标签中可以看到,光束的定义类型为平顶 (Top Hat),束腰半径为0.1mm。

左侧的截面图展示了光束在经过孔径之前的幅值截面图。右侧的窗口则展示了光束在经过孔径之后很短的距离位置上的幅值截面图。从分析结果可以看到,光束的边缘产生了由衍射效应带来的环状特征。

这样的环状特征是无法用几何光学追迹来计算的,因此必须使用POP分析来计算这个衍射效应。

使用技巧:由于POP分析使用复振幅阵列来模拟波前,因此您可以在POP分析中查看光束的相位信息。在设置对话框的显示标签中,将数据 (Data)选项改为相位类型即可。

空间滤波器

打开示例文件Zemax\Samples\Physical Optics\Pinhole Aperture.zmx。该文件展示了如何用POP分析功能模拟一个空间滤波器。表面2和3构成的透镜将光束聚焦到表面4上。在与表面4处于相同空间位置的表面5处放置有一个小孔光阑。如果您想要查看光阑的设置参数,在透镜数据编辑器中双击表面5对应的标准面单元格,打开表面属性对话框的孔径选项卡。您可以看到在该表面上设置有一个圆形孔径 (Circular Aperture)来模拟“针孔”,该孔径的直径为6μm。

打开示例文件同时打开的两个POP分析窗口分别展示了光束在孔径前(表面4)和之后(表面5)的光束分布。

可以看到经过孔径后,光束的分布显著地改变了。如果入射光束是畸形的,孔径将只允许光束中的基模通过,从而实现空间滤波的作用。在POP分析窗口中我们也可以看到,光束通过孔径后的总功率也显著地降低了(原输入功率为1W)。因此孔径在实现空间滤波的同时,光束的功率降低到为0.18W,不到原功率的20%!

使用技巧:对于定义为终止面的表面,其在透镜数据编辑器中注释栏 (Comment)中的信息会显示在相应的POP分析窗口中。这可以能帮助您在分析不同表面的光束分布时方便区分。

复杂光学元件

POP分析功能不仅可以模拟简单的透镜系统,还可以模拟光束在更复杂的光学系统中的传播,例如在透镜阵列系统中传播。

打开示例文件Zemax\Samples\Physical Optics\Lenslet Array.zmx。

该示例文件展示了一束平顶光通过一个由球面透镜组成的矩形阵列时的情况。透镜阵列使用用户自定义 (User Defined)表面类型在表面2上进行定义。这一类型表面的性质完全通过外部的DLL文件定义。有关用户自定义表面的更多信息,请查阅官网知识库文章如何编写用户自定义表面http://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650036572&idx=2&sn=8fb817b65c14efc0991422830039d308&chksm=8ffd6085b88ae9936560bc4bf8a25611590ad60f5acfbb0fed769f70499cdf803477768b238a&scene=21#wechat_redirect示例文件中的自定义表面所使用的DLL是OpticStudio在安装时自带的许多示例DLL文件之一,它表示一个由球面透镜组成的矩形阵列。该阵列的参数可通过镜头数据编辑器中的参数列进行设置。点击透镜数据编辑器中表面2所在行的任意位置,使用键盘的右方向键向右移动到圆锥系数之后的参数。您可以看到沿X和Y方向阵列数目和每个单元的宽度设置参数。其中,阵列中每个单元的曲率半径则通过标准的曲率半径 (Radius)来定义。

文件打开的表面矢高 (Surface Sag)分析窗口展示了阵列中每个单元透镜的曲率变化和孔径大小。

随文件打开一同开启的POP分析窗口展示了一束均匀的平顶光束通过透镜阵列后的光束分布。

观察由阵列中每个单元所形成的像,您可以发现透镜单元的矩形孔径同样产生了衍射效应。如果您想更清晰地看到这个效应,请打开设置对话框选中显示标签,将缩放 (Scale)改为Log-5并点击确认。

使用技巧:OpticStudio的专业版及旗舰版用户可以使用优化操作数POPD对POP分析结果进行优化。

光束文件查看器

POP分析功能同样允许您保存计算好的光束结果,您可以在之后用光束文件查看器 (Beam File Viewer)来查看已保存的光束文件。

为了展示这一功能,请打开示例文件Zemax\Samples\Physical Optics\Tangential and Sagittal Focus.zmx。该文件展示了一束旋转对称的高斯光束通过一个环型面透镜 (Toroidal lens)(表面2和3)的情况。环型面透镜会在光束中引入像散。

打开POP分析窗口的设置对话框,计算表面6(像面)的光束分布结果。选中显示标签,勾选“保存输出光束至 (Save Output Beam To)” 选项并在随后的文本框中把文件命名为Toroidal Lens.ZBF。勾选“保存所有面的光束 (Save Beam At All Surface)”选项并点击确认。

OpticStudio将重新运行POP分析,但这一次会把每个表面的光束数据都保存下来。如果想要查看保存的数据,请点击分析选项卡中的光束文件查看器。打开光束文件查看器窗口的设置对话框,在文件选项的下拉菜单中您可以看到现在可以查看的光束文件。您之前保存的Toroidal Lens.ZBF文件也会出现在列表中,并且每个文件名后面跟随着一个数字,该数字与光束文件所保存的表面相对应。由于您勾选了保存所有面的光束选项,因此在列表中会出现每个表面的数据文件。选择Toroidal Lens_0001文件并点击确认。

光束数据查看器的输出结果和POP分析窗口的分析结果是完全一致的。光束数据查看器中的设置选项很多都与POP分析中的显示标签中的一样。如果您想要查看其他表面上的光束输出结果,在光束数据查看器设置对话框的文件 (File)下拉菜单中,选择相应的文件即可。

使用技巧:点击键盘上的左右方向键也可以按照列表的顺序,依次切换所要查看的光束文件。

小结

物理光学传播分析是一个非常强大的工具,您使用该工具分析系统中每个光学表面上的相关和衍射效应。您可以查看示例文件夹中位于Physical Optics文件夹下的其他示例文件来进一步探索POP分析的相关功能,您可以在这些文件中尝试使用设置对话框中的光束定义和光纤数据标签中的相关功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 9:41:18

Jupyter Notebook转Python脚本方法

Jupyter Notebook转Python脚本方法 在深度学习项目开发中,一个常见的场景是:研究人员在一个预装了 PyTorch 和 CUDA 的容器环境中,通过 Jupyter Notebook 快速完成模型原型设计与调参实验。一切验证无误后,团队准备将这段代码部署…

作者头像 李华
网站建设 2026/4/17 16:05:02

GitHub热门PyTorch项目推荐:基于CUDA-v2.7镜像快速部署

GitHub热门PyTorch项目推荐:基于CUDA-v2.7镜像快速部署 在深度学习项目开发中,你是否曾经历过这样的场景?好不容易写完模型代码,准备在GPU上训练时却发现:CUDA版本不兼容、cuDNN缺失、PyTorch编译失败……一顿操作猛如…

作者头像 李华
网站建设 2026/4/18 8:20:09

‌国际化与本地化测试:语言、文化、区域设置‌

在跨境电商用户界面测试中,阿拉伯语从右向左(RTL)的排版适配缺陷曾导致某支付平台30%中东用户流失。这个典型案例揭示了国际化测试(验证代码架构支持多语言的能力)与本地化测试(确保符合特定区域文化习惯&a…

作者头像 李华
网站建设 2026/4/18 5:27:16

金融科技测试:合规性、安全性与高可用性

金融科技测试的核心框架 金融科技(FinTech)革命正重塑全球金融生态,从移动银行到加密货币,系统复杂性激增。测试从业者肩负重任:确保应用在合规、安全和高可用性上无懈可击。合规性测试验证系统遵守法规(如…

作者头像 李华
网站建设 2026/4/17 14:14:34

Git blame查找PyTorch代码修改责任人

Git blame查找PyTorch代码修改责任人 在深度学习项目的日常开发中,你是否遇到过这样的场景:模型训练突然出现 NaN 输出,排查一圈后发现是某个底层模块的数值稳定性逻辑被修改了——但没人记得是谁改的、为什么这么改?当团队规模扩…

作者头像 李华
网站建设 2026/4/18 8:00:40

后端开发转大模型开发经验(保姆级)

后端转大模型应用开发,缺的不是那种只会跑通Demo的算法实习生,而是像我们这样,懂高并发、懂分布式、懂怎么把系统做得稳定、安全、可维护的人。大模型开发需掌握Python、Prompt Engineering、RAG、Fine-tuning和Agent技术。 你只要把 Python …

作者头像 李华