书名:Zemax中文版光学设计从入门到精通
ISBN:978-7-115-61176-5
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
编 著 追光者
责任编辑 胡俊英
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
读者服务:
微信扫码关注【异步社区】微信公众号,回复“e61176”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。
本书以Zemax 2020作为软件平台,详细讲解了Zemax在光学设计中的使用方法与技巧,旨在帮助读者尽快掌握Zemax这一光学设计工具。
本书结合作者多年的光学设计经验,通过丰富的工程实例将Zemax的使用方法详细介绍给读者。全书共10章,分为两部分,第一部分(第1~6章)主要讲解Zemax的基础知识,包括用户界面和系统选项设置、光学像差理论和成像质量评价、光学系统优化、系统公差分析、非序列模式下的光系统设计等;第二部分(第7~10章)讲解利用Zemax进行各种透镜和目镜的基本设计方法,并对显微镜、望远镜等目视光学系统的设计进行了深入的讲解,帮助读者尽快掌握利用Zemax进行光学设计的方法。
本书注重基础,内容翔实,突出实例讲解,既可以作为光学设计人员、科研人员等相关专业人士的工具书,也可以作为相关专业高年级本科生、研究生的学习参考书。
光学和光学工程是一门古老的学科,它的历史几乎与人类文明同步。从远古时代起,人们就把光作为能源和信息传递的工具加以利用。在人类的五官中,眼睛是了解和认识客观世界的最直接的感官。人们所能获取的信息有 70% 来源于视觉,因此各种光学器件的研发和应用极其重要。随着光学技术的发展,光学设计软件成为有效的工具,并随之涌现出一大批优秀的通用专业设计软件,其中以Zemax、CODE V、LightTools为代表。
Zemax光学设计软件自问世以来,已经广泛应用于光刻物镜、投影物镜等成像设计,以及各种车灯照明设计领域。由于可靠性高,辅以积极的市场开拓,Zemax光学设计软件得到了光学界的广泛认可和青睐,为光学器件的设计、研究、攻关做出了重要贡献。
作为通用、高效的光学设计软件之一,Zemax具有强大的光学设计和仿真分析功能。本书选用Zemax 2020作为软件平台,详细讲解了Zemax的使用方法,希望读者深入学习以掌握此软件。
全书分为两部分,共10章。第一部分(第1~6章)主要讲解Zemax的基础知识,包括用户界面和系统选项设置、光学像差理论和成像质量评价、光学系统优化、系统公差分析、非序列模式下的光系统设计等。各章主要内容安排如下:
第1章 初识Zemax
第2章 光学系统的分析与评价
第3章 初级像差理论与像差校正
第4章 Zemax的优化与评价功能
第5章 公差分析
第6章 非序列模式设计
第二部分(第7~10章)讲解Zemax的应用,包括各种透镜和目镜的基本设计操作,尤其是对显微镜、望远镜等目视光学系统的设计进行了深入的讲解,帮助读者尽快掌握利用Zemax进行光学设计的方法。
第7章 基础设计示例
第8章 目镜设计
第9章 显微镜设计
第10章 望远镜设计
为便于读者学习,书中设置了“提示”模块,大多是提示当前操作可以通过其他方法解决,读者可以自行尝试;书中还设置了“注意”模块,提示当前操作应该注意的要点,否则可能造成操作不成功。
说明:本书重点讲解Zemax的应用,书中的算例可以帮助读者快速掌握利用Zemax进行光学系统设计的操作方法。本书的目的在于帮助读者尽快掌握Zemax这一优秀的光学设计软件,而算例的优化设计结果未必是最优结果,读者不必纠结于结果的准确程度。
本书结构合理,叙述详细,实例丰富,既适合广大科研工作者、工程师和在校学生等不同层次的读者自学使用,也可以作为大中专院校相关专业的教学参考书。
Zemax本身是一个庞大的资源库与知识库,虽然本书编写中力求叙述准确、完善,但由于编者水平有限,书中欠妥之处在所难免,希望广大读者和同人能够及时指出,共同提高本书质量。
如果读者在学习过程中遇到与本书有关的技术问题,可以访问“算法仿真在线”公众号获取帮助,公众号提供了读者与编者的沟通渠道。此外,读者在公众号回复“Zemax61176”还可以获取本书配套的素材及帮助信息。
本书由异步社区出品,社区(https://www.epubit.com/)可为您提供相关资源和后续服务。
您还可以扫码二维码, 关注【异步社区】微信公众号,回复“e61176”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。
作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。
当您发现错误时,请登录异步社区,按书名搜索,进入本书页面(见下图),单击“提交勘误”,输入错误信息后,单击“提交”按钮即可。本书的作者和编辑会对您提交的错误信息进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。
我们的联系邮箱是contact@epubit.com.cn。
如果您对本书有任何疑问或建议,请您发电子邮件给我们,并请在电子邮件标题中注明书名,以便我们更高效地做出反馈。
如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发电子邮件给我们;有意出版图书的作者也可以到异步社区在线投稿(直接访问www.epubit.com/contribute即可)。
如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发电子邮件给我们。
如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发电子邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。
“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网。
“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近40年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的Logo。异步图书的出版领域包括软件开发、大数据、人工智能、测试、前端、网络技术等。
异步社区
微信服务号
Zemax是一款使用光线追迹方法来模拟折射、反射、衍射、偏振,进而对各种序列和非序列光学系统进行光学设计和仿真的软件。Zemax的界面设计比较简洁方便,稍加练习即可进行交互设计。本章讲述Zemax的基础应用知识,包括启动/退出操作、用户界面及常用的窗口操作等。掌握软件的使用方法,能够使后续的学习过程更加顺利。
学习目标:
(1)认识工作界面及功能区;
(2)掌握系统选项参数的含义及设置方法;
(3)掌握利用镜头数据编辑器进行数据编辑的方法。
广义的Zemax是光学产品设计与仿真软件OpticStudio、OpticsBuilder和OpticsViewer的合称,可以帮助光学、机械及制造工程技术人员将他们的想法转变为现实,减少设计迭代和重复打样,缩短产品推向市场的时间,并降低开发成本。
OpticStudio是光学、照明及激光系统的设计软件。航天工程、天文探测、自动化、生物医学研究、消费电子产品及机器视觉领域的企业均优先选用OpticStudio作为设计工具。其主要功能如下。
(1)OpticStudio用户界面包括便捷的工具和向导,可以高效模拟和设计几乎所有光学系统。它拥有超过200个视场点,可以建立复杂的自由曲面和非旋转对称系统。
(2)既可以模拟成像光学,也可以模拟照明设计,还能够模拟杂散光的影响。
(3)OpticStudio包含一套用来分析系统性能的工具。除了经典的分析功能外,还提供能够改善自由曲面设计的全视场像差分析、优化调制传递函数(MTF)的对比度分析,以及为物体场景生成逼真图像的图像仿真。
(4)根据用户自定义的约束条件及设计目标,OpticStudio中先进的优化工具会自动改进系统设计以优化性能,从而减少设计迭代,节省大量时间。
(5)对系统进行公差分析,将制造和装配限制纳入约束条件,以确保可制造性和生产效率,还可以利用蒙特卡罗公差分析模拟实际性能。设计完成后可导出为可生产文件,如ISO图纸或常见的CAD格式文件。
(6)通过ZOS-API可以根据需求定制OpticStudio,以创建独立的应用程序,构建自己的分析工具,可以使用C#、C++、MATLAB或Python等程序从外部控制OpticStudio。
(7)利用Zemax编程语言( Zemax Programming Language,ZPL)能够编写自己的宏来自动化执行重复的过程。通过自定义DLL可以创建任意面型、物体、光源及散射函数等。
OpticsBuilder是面向CAD用户的光学设计软件。通过OpticsBuilder,CAD用户可以直接将OpticStudio光学设计文件导入CAD软件中,分析机械封装对光学性能的影响,导出光学图纸用于生产,从而减少试错并降低成本。其主要功能如下。
(1)导入光学设计数据。帮助CAD用户快速、准确地将来自OpticStudio的镜头设计数据(如透镜材料、位置、光源、波长和探测器)转换为CAD原生零件,而无须花费时间重新创建镜头。利用光学元件的精确数据,在几分钟内即可设计出封装光学元件的机械结构。
(2)轻松查看光学性能。在初始设计阶段发现并纠正错误,能够最大限度地避免意外。OpticsBuilder使用Zemax核心算法,可以轻松地在CAD环境下查看机械封装对光学性能的影响,而不需要依靠假设或者其他信息。
(3)无缝对接设计与生产。使用设计自动导出工具,只需一次点击即可共享符合ISO 10110标准的光学图纸。通过将导入的OpticStudio文件中的光学数据自动填充至生产参数中来节省时间,并通过使用自定义图纸模板减少返工。
OpticsViewer是对OpticStudio的补充,主要面向制造工程师,在光学设计和生产加工之间架起了一座桥梁。通过改进光学工程师共享光学设计信息的方式,减少其他工程师对光学设计信息的误解,加快产品开发速度,避免不必要的迭代成本。其主要功能如下。
(1)在同一工作环境下沟通。OpticsViewer允许制造工程师加载OpticStudio的设计文件,在不丢失精度和设计信息的前提下查看设计文件,并应用设计文件中的数据,包括设计目标和公差范围。利用这些完整的光学设计数据,制造工程师可以更加有效地沟通并做出更好的决策。
(2)共享光学设计成果。通过将光学设计导出为CAD格式文件,包括STEP、IGES、STL或STAT,从而更方便地进行后续的光机设计和分析。
(3)避免生产加工错误。使用OpticsViewer可以生成精确的ISO 10110图纸,几何尺寸和公差标准满足光学设计要求,避免制造工程师收到不完整或者不正确的图纸。
说明:
(1)本书主要是针对光学设计及优化进行讲解。本书所述Zemax为OpticStudio。
(2)Zemax有标准版(Standard)、专业版(Professional)、旗舰版(Premium)3种版本,其中旗舰版的功能最为齐全,本书采用的是旗舰版。
安装Zemax软件后,系统会自动在桌面上生成Zemax快捷方式图标,同时,“开始”菜单中也会自动添加Zemax命令。下面介绍Zemax的基本操作及工作界面。
Zemax安装成功后,即可启动Zemax进行光学设计工作。Zemax的启动方式有如下几种。
(1)在Windows系统环境中,执行“开始”→Zemax OpticStudio→OpticStudio命令。
(2)在桌面上双击Zemax OpticStudio快捷方式图标,或者用鼠标右键单击该图标,在弹出的快捷菜单中执行“打开”命令。
(3)单击任务栏中的OpticStudio快捷启动按钮。
说明:如果桌面上没有快捷方式图标,可以从“开始”菜单中找到相应的程序并创建桌面快捷方式。如果任务栏上没有快捷启动按钮,可以在桌面上找到Zemax图标,把图标拖曳到快速启动区。
设计编辑任务完成后,即可退出Zemax,退出方式有如下几种。
(1)单击Zemax界面右上角的“关闭”按钮,退出Zemax。若用户只是要退出当前的Zemax文件,则单击当前Zemax文件窗口右上角的“关闭”按钮。
(2)单击“文件”选项卡下的“退出”按钮。
(3)使用快捷键,按“Ctrl+Q”组合键,可退出Zemax。
注意:如果有尚未保存的文件,退出Zemax时会弹出信息提示框,提示用户保存文件。单击“是”按钮保存文件并退出,单击“否”按钮不保存文件直接退出,单击“取消”按钮则取消退出操作。
启动Zemax后将进入图1-1所示的Zemax默认的工作界面。Zemax的基本界面比较简单,包括功能区、系统选项区、工作区、快速访问工具栏及状态栏。首次启动时,工作区会显示一个镜头数据编辑器,用于输入序列模式下的光学元件的数据。
(1)功能区:提供对程序功能的快捷访问。这些功能按执行的具体任务分组到各个不同的选项卡中,每个选项卡包括几个不同的面板用于放置不同的功能。
大多数常用功能可使用键盘快捷键执行。例如,“Ctrl+Q”组合键用于退出Zemax。在主窗口中,各窗口之间相互转换的快捷键是“Ctrl+Tab”,该组合键可使Zemax的主窗口自动向前切换。
(2)系统选项区:包含Zemax中有关系统基本结构设置的选项,可以随时显示或隐藏。该区域的系统选项用来定义整个系统的透镜数据,而不是单个表面或物体的数据。
图1-1 Zemax主界面
(3)工作区:完成设计分析工作的主要区域。Zemax设计仿真参数、输出结果等均在该区域显示。
(4)快速访问工具栏:可以根据需要自定义该工具栏,常用的功能可放置在该区域,方便用户随时调用。
单击“设置”选项卡→“系统”面板→“配置选项”按钮,即可弹出“配置选项”对话框,在该对话框左侧选择“工具栏”选项,如图1-2所示,即可创建或撤销多个配置选项。
(5)状态栏:显示在工作界面的底部,用于实时显示设计过程的实用信息,包括EFFL(有效焦距)、WFNO(工作F数)、ENPD(入瞳直径)、TOTR(系统总长)4个参数。
图1-2 “配置选项”对话框
Zemax中有许多不同类型的窗口,每种窗口都有不同的用途,下面将进行简单介绍。读者在后续的学习中需要熟悉各窗口的调用方法及功能。
主界面即启动后的默认窗口,也是其他所有窗口的基础平台。其上方功能区中的命令用于对当前光学系统进行设计与优化。
说明:除对话框外,所有的窗口都可用鼠标或键盘命令来移动或改变大小。
Zemax软件包含镜头数据编辑器、视场数据编辑器、多重结构编辑器、评价函数编辑器、公差数据编辑器等多个不同的编辑器,它们均可在“设置”选项卡→“编辑器”面板中找到,如图1-3所示。
图1-3 “编辑器”面板
(1)执行“设置”选项卡→“编辑器”面板→“镜头数据”命令,可以打开镜头数据编辑器,如图1-4所示。
大部分的镜头数据是通过镜头数据编辑器输入的,数据包括系统中每个表面的曲率半径、厚度和玻璃材料等。
图1-4 镜头数据编辑器
(2)执行“设置”选项卡→“编辑器”面板→“视场数据编辑器”命令,可以打开视场数据编辑器,如图1-5所示。
图1-5 视场数据编辑器
视场数据编辑器包含与系统选项视场部分相同的信息和设置,主要用于定义追迹光线视场点的数量、类型和大小。利用该编辑器也可以自动创建多个不同的视场分布,并转换为其他的视场类型。
(3)执行“设置”选项卡→“编辑器”面板→“多重结构编辑器”命令,或执行“设置”选项卡→“结构”面板→“编辑器”命令,可以打开多重结构编辑器,如图1-6所示。
图1-6 多重结构编辑器
Zemax支持对多重结构中的光学系统进行定义、分析和优化。结构可以按同一参数的不同值进行区分。例如,在变焦透镜中,对各元件的不同间距值进行组合即可构成不同的结构。
(4)执行“设置”选项卡→“编辑器”面板→“评价函数编辑器”命令,或执行“优化”选项卡→“自动优化”面板→“评价函数编辑器”命令,可以打开评价函数编辑器,如图1-7所示。评价函数编辑器用来定义、修改和检查系统的评价函数,系统评价函数用于优化数据。
图1-7 评价函数编辑器
(5)执行“设置”选项卡→“编辑器”面板→“公差数据编辑器”命令,或执行“公差”选项卡→“公差分析”面板→“公差数据编辑器”命令,可以打开公差数据编辑器,如图1-8所示。公差数据编辑器用来定义、修改和检查系统中的公差值。
图1-8 公差数据编辑器
Zemax中包括各种各样的图形窗口,这些窗口用来显示图形数据、图表等,如轮廓图、像差曲线图、MTF曲线图等,以及图1-9所示的物理光学传播图、图1-10所示的衍射圈入能量图。
图1-9 物理光学传播图
图1-10 衍射圈入能量图
文本窗口用来显示文本数据,如光学性能参数、像差系数及数值等,图1-11所示为物理光学传播的数据文本窗口。
对话框是Zemax的弹出窗口,用来进行参数的设置与修改,如视场角、波长、孔径、表面类型。图1-12所示为“波长数据”对话框。
图1-11 物理光学传播数据文本窗口
图1-12 “波长数据”对话框
Zemax常用操作快捷键是为方便快速打开功能选项而设定的。
某些Zemax工具需要相对较长的计算时间。例如,局部优化、全局优化和误差分析等功能的计算需要运行几秒到几天不等。为了能够在运行过程中使这些工具停止运行,Zemax设置了一个停止键。按下停止键后,这些工具将退出运行,回到主程序。此时通常无法得到计算结果。
一些分析特性(如MTF和像特性分析)在某些情况下也需要运行较长时间。例如,若采用很密的光线网格和高密度光线来分析像面以计算MTF,则需要很长的计算时间。
然而,分析时并不会显示一个特定对话框或停止按钮,而是直接在窗口中输出,此时可按“Esc”键来停止长时间的分析计算。
“Esc”键可用来中止MTF、PSF、环绕能量和其他衍射计算。如果按下“Esc”键,画面将回到主窗口(这需要1~2秒时间),此时窗口中显示的数据是无效的。在对像面进行特性分析的过程中,“Esc”键用于停止新的光路追迹,已追迹过的光路会显示出来,这些光路数据是正确的、不完全的。
表1-1中列出了Zemax中常用的快捷操作方式,掌握这些快捷操作方式可以提高工作效率。
表1-1 快捷操作方式
快捷操作方式 |
功能 |
---|---|
空格键 |
切换选择框的开与关,清除编辑器的数据 |
Enter |
在对话框中相当于单击“确定”或“取消”按钮 |
Delete |
在编辑器中表示删除数据行,而不是删除单个数据 |
Tab |
在编辑窗口中将光标移动到下一个选项,或在对话框中移动到下一处 |
Shift+Tab |
在编辑窗口中将光标移动到上一个选项,或在对话框中移动到上一处 |
Ctrl+Tab |
将光标由一个窗口移动到另一个窗口 |
Ctrl+Esc |
打开Windows的任务菜单,在菜单中可选择其他正在运行的程序 |
Ctrl+字母 |
Zemax工具框和函数的快捷键,如按“Ctrl+L”组合键可以打开2D轮廓图 |
Ctrl+Page Up/Page Down |
移动光标到顶部/底部 |
Home/End |
在当前编辑窗口中,将光标移动到左上角/右下角,或在文本窗口中将光标移动到顶端/底端 |
Ctrl+Home/End |
在当前编辑窗口中,将光标移动到左上角/右下角 |
F1…F10 |
功能键(台式计算机中可用) |
Page Up/Page Down |
上下移动屏幕一次 |
字母 |
输入下拉列表框中选项的第一个字母,就进入此选项 |
双击鼠标左键 |
如果将鼠标指针置于图形窗口或文本窗口,双击即可打开窗口中的内容;双击编辑器中的内容,可打开参数设置面板 |
单击鼠标右键 |
如果将鼠标指针置于图形窗口或文本窗口,单击鼠标右键即可打开快捷菜单进行后续操作 |
Zemax中的功能在功能区中进行选择。功能区包括“文件”“设置”“分析”“优化”“公差”“数据库”“零件设计”“编程”“帮助”选项卡,下面分别对其进行介绍。
Zemax功能区中的“文件”选项卡如图1-13所示,包括所有文件的输入/输出功能,各面板功能含义如下。
图1-13 “文件”选项卡
(1)“镜头文件”面板:包括所有的Windows文件管理任务。例如“打开”“保存”“插入镜头”等。文件通常存储为ZMX格式,通常还伴随有CFG文件(配置文件)和SES文件(包含所有窗口的设置数据)。
(2)“存档文件”面板:用于创建和打开Zemax存档的文件。这些文件以ZAR格式存储,包含在其他计算机上打开该文件时所需的全部文件。镜头设计使用的所有数据、玻璃库、膜层、CAD文件和SolidWorks文件等,都被压缩到单个存档文件中,使设计者能够在设计过程中轻松创建设计备份,或将设计转移到其他计算机上。
(3)“输出文件”面板:用于导出Zemax支持的格式的文件,包括导出STEP、IGES、SAT和STL格式的CAD文件,以及导出DXF和IGES格式的图元文件等。
使用“Zemax黑盒文件”功能可在镜头数据表格中对一系列表面进行加密,加密后的表格可以根据需要为其他Zemax用户(如客户)提供结果准确的完全光线可追迹文件,而不会泄露设计处理信息。
针对薄膜层,使用“加密膜层文件”能够以加密格式导出薄膜层的完整处理信息,从而实现精确的光线追迹,而不提供设计信息。
(4)“转换文件”面板:可实现在序列(镜头设计)和非序列(系统设计)模式之间进行转换,还可将各种格式的文件(如MAT、INT和F3D格式的数据)在原始格式与Zemax格式之间进行转换。
(5)“分解文件”面板:用于将各种CAD格式的装配图分解成能用ZOF(Zemax 对象格式)结构表示的若干个独立的零件。
Zemax功能区中的“设置”选项卡如图1-14所示,该选项卡通常在启动每个设计项目时使用,在初始设计之后则较少用到该选项卡。下面介绍序列模式下的“设置”选项卡。
(a)序列模式
(b)非序列模式
图1-14 “设置”选项卡
(1)“系统”面板:用于系统的设置。使用“配置选项”可自定义Zemax的安装、文件夹位置、快速访问工具栏等,并将这些设置保存到项目配置文件中。
为满足不同设计人员的操作需求,单击“配置选项”按钮,在弹出的“配置选项”对话框中选择“常规”标签,然后在右侧设置“语言”即可,如图1-15所示。
说明:为方便读者学习使用,本书所有的讲解及实例的实现均以中文界面呈现。
(2)“模式”面板:用于选择序列模式或非序列模式,几乎所有成像系统设计都在序列模式下完成。
(3)“编辑器”面板:用于访问逐个面,或逐个物体地定义光学系统的表格及其参数设置。
(4)“视图”面板:用于查看光学系统自身的布局图,包括2D视图、3D视图及实体模型等。
(5)“诊断”面板:用于检查Zemax文件。利用“系统检查”工具可以发现许多常见的设置错误。
图1-15 “常规”标签
(6)“窗口”面板:用于定义窗口在Zemax工作区中的行为。用户可以对窗口进行布局,窗口可以自由浮动、平铺和层叠等。
(7)“结构”面板:通常用于变焦镜头、扫描镜头和带有移动部件的镜头,还可用于在一定温度范围内对镜头进行热分析。如果定义了多个结构,则“结构”面板显示在所有功能区上,并可调用多重结构编辑器。
在序列模式下,“分析”选项卡用于访问Zemax在序列模式下的所有分析功能,可提供涉及众多要求的详细性能数据,如图1-16所示。分析功能提供有关设计的诊断数据,以指导所需的任何更改,而不更改底层设计。
图1-16 序列模式下的“分析”选项卡
(1)“视图”面板:用于查看光学系统自身的布局图,与“设置”选项卡中的“视图”组类似。
(2)“成像质量”面板:包括在成像和无焦系统的设计中使用的所有分析工具,包括光线追迹、像差数据、波前、点扩散函数等。
(3)“激光与光纤”面板:用于特定激光系统的分析,如简单高斯光束分析、物理光学和光纤耦合计算等。
(4)“偏振与表面物理”面板:用于计算各个表面上的薄膜层的性能与系统整体性能(作为偏振的函数),以及表面矢高、相位和曲率的绘图。
(5)“报告”面板:提供基于文本的分析报告用于演示。
(6)“通用绘图工具”面板:供用户根据需要创建分析功能。
(7)“应用分析”面板:显示特定应用的分析功能,如杂散光分析、双目镜分析、自由曲面及渐进多焦透镜分析,并提供对Zemax的完全非序列追迹功能的访问。如果镜头使用多重结构,还会显示“结构”面板(同“设置”选项卡)。
在非序列模式下,“分析”选项卡如图1-17所示,用于访问Zemax在非序列模式下的所有分析功能。
图1-17 非序列模式下的“分析”选项卡
(1)“视图”面板:用于查看光学系统自身的布局图,与“设置”选项卡中的“视图”组类似。
(2)“光线追迹”面板:可使用全面的非序列光线追迹来启动光线追迹,或使用“光线追迹”以更快的近似方法来进行光线追迹,当光源无法近似为点光源时,第二种方法更有效。使用“特定光线比对”工具可查看每根特定光线是否完整地穿过系统完成追迹。
(3)“探测器与分析”面板:提供对以前执行的光线追迹的广泛分析。
(4)“光线追迹分析”面板:用于查看光线数据库,根据光线通过系统的路径对光线进行分组分析,对照射到特定物体上的光强进行分析。
(5)“偏振”面板:用于计算物体各个表面的薄膜层的性能。
(6)“报告”面板:用于生成一个包含所有表面数据的列表,并对透镜系统数据进行总结。
(7)“通用绘图工具”面板:供用户根据需要创建分析功能。
(8)“应用分析”面板:显示特定应用的分析功能,如道路照明分析等。
Zemax功能区中的“优化”选项卡如图1-18所示,用于控制Zemax的优化功能。
图1-18 “优化”选项卡
(1)“手动调整”面板:提供手动调整工具,以确保设计达到期望的性能。该组仅在序列模式下可用。
(2)“自动优化”面板:通过访问评价函数编辑器,可以在Zemax中定义系统的性能规格;使用“优化向导”工具可以基于常见的要求(最小光斑、最佳波前差、最小角度偏离等)来快速生成评价函数,并根据设计的准确要求对该函数进行编辑。
(3)“全局优化”面板:在设计过程开始时,用于生成设计表以便进一步分析;在初始优化后,用于改进当前设计。
(4)“优化工具”面板:仅在序列模式下可用,用于执行一系列优化后的功能,例如查找最佳平面,以便将库光学元件的当前设计球面化或更换镜头。
Zemax功能区中的“公差”选项卡如图1-19所示,用于公差控制。
图1-19 “公差”选项卡
(1)“加工支持”面板:用于执行加工支持功能,其中“成本估计”用于估算加工镜头的成本。
(2)“公差分析”面板:可以在公差数据编辑器中输入每个参数的期望公差;“公差分析向导”工具可以快速设置一组公差,设计者能够根据设计需求进行编辑修改。
(3)“快速公差”面板:用于获得早期快速公差预测数据,为实现系统的最终性能提供设计方向。
(4)“公差数据可视化”面板:用于查看公差的所有数据,并对公差数据进行分析。
(5)“加工图纸与数据”面板:仅在序列模式下可用,用于创建ISO格式和Zemax专用格式的加工图纸,并可将有关表面的数据导出以进行重复检查。
Zemax功能区中的“数据库”选项卡如图1-20所示,用于访问Zemax出厂时内置的所有数据库,其中包括光学材料、薄膜层、光源的大量数据,Zemax还允许用户自行添加数据。
图1-20 “数据库”选项卡
(1)“光学材料”面板:用于访问玻璃库,对材料进行分析等。
(2)“库存镜头”面板:用于保存Zemax中的所有供应商的镜头库,使用时可以快速搜索符合需求的镜头。
(3)“设计模板”面板:提供内置设计模板供用户选择。
(4)“膜层”面板:包含用于设计薄膜层并将其涂到光学材料上的膜层数据和工具。
(5)“散射”面板:用于访问表面散射库和散射查看器。其中“IS库”包含一系列光学表面涂层的测量数据。
(6)“光源”面板:用于访问RSMX光源数据或IES光源数据。
(7)“光源查看”面板:包括用于光源配光曲线和光谱建模的相关工具。
Zemax功能区中的“零件设计”选项卡如图1-21所示,该选项卡仅在非序列模式下可用。它提供了一种先进的几何体创建工具,能够创建可在软件中优化的参数对象。
图1-21 “零件设计”选项卡
Zemax功能区中的“编程”选项卡如图1-22所示,虽然Zemax提供了大量的功能和分析工具,但总会存在一些特殊功能或需求,基于此该软件内置编程接口用于实现编程功能。
图1-22 “编程”选项卡
(1)“ZPL宏编程”面板:ZPL是一种类似于Basic的易学易用的脚本语言。使用ZPL可以轻松地执行特殊运算,通过不同方式显示数据、自动执行任务等。
(2)“ZOS-API.NET接口”面板:该接口可以应用在.NET环境中,并使用C#或其他任何支持.NET的语言;也可以应用在.COM环境中,并使用C++或其他支持.COM的语言。
(3)“ZOS-API.NET编译器”面板:针对定制的应用程序进行编译,包括C#、C++、MATLAB及Python等。
(4)“扩展编程”面板:用于控制Zemax、指示其执行分析并从中提取数据的外部程序,MATLAB和Python是适用于Zemax的两种常用的编程语言。设计者也可使用面向软件开发工具编写自己的程序。扩展编程应仅用于遗留代码,ZOS-API.NET编程用于编写新代码。
Zemax功能区中的“帮助”选项卡如图1-23所示,提供帮助文件的链接,以及基于Web的知识库、网站和用户论坛的链接等。
图1-23 “帮助”选项卡
系统选项用来定义整个系统的透镜数据,它包含Zemax中与系统基本结构设置相关的选项,如图1-24所示。单个表面或物体的数据定义是在镜头数据编辑器中定义的,1.5节将进行介绍。
图1-24 “系统选项”窗口
“系统选项”默认位于Zemax的左侧,执行“设置”选项卡→“系统”面板→“系统选项”命令,可以显示或隐藏“系统选项”窗口。
系统孔径表示在光轴上通过系统的光束大小。要建立系统孔径,需要先定义系统孔径类型和系统孔径值。系统孔径参数面板如图1-25所示。
图1-25 系统孔径参数设置
在Zemax中,系统孔径类型及其代码(用于ZPL宏文件)如表1-2所示。
表1-2 系统孔径类型
孔径类型 |
代码 |
描述 |
---|---|---|
入瞳直径 |
0 |
从物空间看到的光瞳直径(以镜头单位表示) |
像方空间F/# |
1 |
像空间的无限共轭近轴F/# |
物方空间NA |
2 |
物空间边缘光线的数值孔径(NA=nsinθ,其中n为物体的折射率) |
光阑尺寸浮动 |
3 |
用光阑面的半口径定义 |
近轴工作F/# |
4 |
像空间定义的共轭近轴F/# |
物方锥角 |
5 |
物空间边缘光线的半角,单位为度,可超过90° |
说明:
(1)如果入瞳是虚的,即物到入瞳的距离为负,则不使用物方锥角。当使用物方锥角时,默认的光瞳面上的“均匀”光线分布指的是角度而不是平面。
(2)如果“切趾类型”设置为“余弦立方”,那么光线在立体角中是均匀分布的,对应一个点光源,且在所有方向上都均匀辐射。该光线的设置分布可能与大锥角其他孔径类型的设置有显著区别。
(3)如果选择了“物方空间NA”或“物方锥角”作为系统孔径类型,那么物方厚度必须小于无穷远。
在ZPL宏中只能定义上述系统孔径类型中的一种。例如,一旦定义了入瞳直径,那么所有其他孔径的定义都由该镜头数据决定。
系统孔径值的意义取决于所选择的系统孔径类型。例如,当选择“入瞳直径”作为系统孔径类型时,系统孔径值就是用透镜计量单位表示的入瞳直径。
Zemax同时使用系统孔径类型和系统孔径值来确定基本量的大小,如入瞳尺寸和各个组件的净孔径等。
注意:当选择“光阑尺寸浮动”作为系统孔径类型时,需使用光阑面的半口径(在镜头数据编辑器中设置)来定义系统孔径,这是唯一的例外。
切趾类型包括以下选项。
(1)均匀:表示光线均匀分布在入瞳上,模拟均匀照明。默认情况下,入瞳总是被均匀地照亮。
(2)高斯:表示光束在光瞳上的振幅以高斯曲线形式变化。切趾因子(分布因子)决定光瞳振幅的衰减速度,表示光束的振幅作为径向光瞳坐标的函数的下降比率。光束振幅在光瞳中心归一化。
(3)余弦立方:用于模拟点光源照在平面上的强度衰退特点。余弦立方分布只对点光源或与入瞳直径相比更接近光轴的场点有效。
在“自动”模式下,计算通过所有光线所需径向孔径的每个表面的半口径,而不需要任何修剪。注意:Zemax中的净口径为元件的半口径。
对于在边缘接触处或接触附近紧密排列元件的系统,将会产生一个表面光阑,该光阑不会为精加工或安装提供任何间隙。通常,光学表面只能在全径向孔径的某一部分内完成,一般在90%~98%范围内,具体取决于零件的尺寸。
(1)净口径余量(毫米):当半口径圆柱中的表面有一个自动解时,允许用户指定一个额外的径向孔径作为一个固定的数值。默认值为零,表示不保留任何余量。
(2)净口径余量(%):净口径余量控制允许以百分比来指定额外数值的径向孔径,例如,余量5%表示在自动控制下的所有表面的半口径增加5%。默认值为零,表示不保留任何余量;最大允许余量为50%。
如果“百分比”和“毫米”的余量值都不为零,则先添加百分比,然后添加镜头单位余量。半口径余量不适用于光阑面。
全局坐标是由每个表面局部坐标的旋转和转换来定义的。用户可以将任意表面作为全局参考坐标,Zemax能计算出任何表面的旋转矩阵和偏移矢量。默认的参考面是#面1,也可以选择其他任何面。
勾选该复选框,Zemax将假设入瞳位于无穷远,而不考虑光阑面的位置。所有从物体表面射出的主光线将平行于Z轴。此时,不再使用光线瞄准和用角度定义的视场点。为了获得最好的效果,使用远心模式时,建议设置光阑面到#面1。
勾选该复选框,Zemax将以适合当前光学系统的方式执行大部分分析功能,该光学系统输出到像空间的光线在理论上是平行的。
当使用无焦模式时,横向、纵向和MTF像差都以适合于无焦系统的单位计算。横向像差计算为与参考光线相关的角度函数(非长度单位)。纵向像差计算为以屈光度(米的倒数)为单位的离焦(而不是以长度为单位的离焦)。MTF计算为每度多少周期(而不是每个长度多少周期)。
Zemax在计算时,一般会探测迭代的需要,以便满足计算精度的要求。当Zemax不能自动迭代时,勾选该复选框将会在更新透镜数据时对所有的解启动迭代。迭代会减慢计算速度,特别是优化速度。
勾选该复选框,将会按照要求追迹尽可能多的边缘光线,以便精确计算每个面的半口径,精度可达0.01%左右。该算法先对2根光线进行追迹,然后是4根、8根、16根光线并以此类推,直到半口径的值收敛到与预期值的误差小于0.01%。该方式主要为共轴系统设计。
取消勾选该复选框时,将会追迹在渐晕光瞳周围的每个视场和波长上的至少32根光线,并且可以根据需要来追迹更多光线,直到自动半口径估算到与预期值的误差小于0.01%。这种追迹方法比较可靠,但是速度很慢,且只在对非共轴系统的半口径值的精度要求非常高时使用。
勾选该复选框,Zemax将对所有面孔径渐晕检查梯度折射率光线追迹。介质内的每个渐变折射率元件追迹都会被检查,以观察光线是否已经通过前表面孔径的边缘。若是,那么光线是渐晕的。如果未勾选该复选框,光线可能传播到前表面上所定义的边缘的外面,但只要光线通过了表面的孔径即可。
视场就是成像系统所能观察到的区域范围,也就是从像面上能看到的物面范围,如果物在无限远处,那么视场就是所观察的锥形角度区域。每个视场代表一个物点,每个物点发出的是一束锥形光束,且充满整个光瞳,如图1-26所示。
图1-26 物和成像效果图
物面上有无数个物点发出锥形光束,为了进行几何光线追迹,通常将物面看作圆形面并将它分为X和Y两个剖面,由于视场区域的旋转对称性,只需要对一个截面上的视场进行采样即可。
根据采样视场区域面积相等的原则,对于球面系统,一般选择3个视场即可;对于非球面或复杂系统,将适当增加视场个数,如图1-27所示。
图1-27 视场效果图
在“系统选项”窗口中,“视场”选项用于定义追迹光线视场点的数量、类型和大小,也可以定义渐晕因子。视场参数面板如图1-28所示。
图1-28 视场参数设置
双击“视场”选项或单击“打开视场数据编辑器”按钮,可以打开视场数据编辑器。视场数据编辑器包含与系统选项中视场部分相同的信息和设置,还包含一些其他工具,可以自动创建多个不同的视场分布,并转换为其他视场类型。
该选项用于确定视场点。现有的视场类型及其代码(用于ZPL宏文件)如表1-3所示。
表1-3 视场类型
视场类型 |
代码 |
描述 |
---|---|---|
角度 |
0 |
视场角始终以度为单位。角度测量与物方空间Z轴和物方空间Z轴的近轴入瞳位置有关。正向视场角度是指该方向光线的正斜率,因此需要参照远处物体的负向坐标 |
物高 |
1 |
用镜头单位来计量 |
近轴像高 |
2 |
用镜头单位来计量。当近轴像高被用于定义视场时,此高度是近轴像面上的主波长主光线的近轴像的坐标,如果系统有畸变,真实的主光线将位于不同的位置 |
实际像高 |
3 |
用镜头单位来计量。当实际像高被用于定义视场时,此高度是像面上的主波长主光线的实际光线的坐标 |
经纬角 |
4 |
由方位角θ和仰角φ表示的极角,以度为单位。通常用于测量和天文学 |
归一化包括以下选项。
(1)径向:使用归一化视场坐标表示单位圆上的点。首先根据视场坐标中距离原点最远的视场点的位置来确定一个单位圆,即最大径向视场,然后使用最大径向视场将所有视场缩放到归一化视场坐标中。
(2)矩形:使用归一化视场坐标表示单位矩形上的点。这个单位矩形的X和Y方向的宽度称为最大X视场和最大Y视场,这是通过所有X和Y视场坐标的最大绝对值来定义的。最大X视场和最大Y视场用于将所有视场缩放到归一化视场坐标。
单击该按钮将重新计算当前镜头数据下每个视场的渐晕因子。渐晕因子(VDX、VDY、VCX、VCY)是用来描述不同视场位置的表面入瞳大小和位置的系数。如果系统中没有任何渐晕,那么应保留渐晕因子为零。通过设置渐晕算法可以估算渐晕偏心和压缩因子,以便入瞳的顶部、底部、左侧和右侧边缘的4条边缘光线在每个面的孔径内都能通过,这里只针对主波长。
单击该按钮将清除渐晕因子,使其恢复到默认值0。该算法通过发出经过光瞳的网格光束来开始运算。首先,在每个有孔径的表面上,测试光线能否从指定的孔径内部通过。其次,使用通过所有面的所有光线来计算无渐晕光瞳质心。最后,使用迭代方法计算无渐晕光瞳的边缘,精确到误差小于0.001%。
说明:该算法并不是在所有情况下都能起作用,对于设置渐晕算法失败的系统,需要手动调整渐晕因子。用户可以通过追迹少量边缘光线的方法来检测渐晕参数的精度。
显示当前视场的参数,用户可以根据需求进行视场的修改。
通过该选项可以添加视场,视场参数将显示在当前所选择的视场中,并表示为X视场值、Y视场值、视场权重、渐晕因子和视场注释。渐晕因子包括VDX、VDY、VCX、VCN和子午角,分别代表X偏心、Y偏心、X压缩、Y压缩及切角。
“环境”选项用于定义系统温度和压力,如图1-29所示。波长总是以微米为单位,参考标准为系统温度和压力下的空气。如果系统温度和压力发生改变,应调整波长以匹配新环境。
图1-29 环境参数设置
(1)折射率数据与环境匹配:勾选该复选框,所有用于光线追迹的折射率数据将会从Zemax玻璃库中的值调整为在系统温度和压力下的值。对于个别温度和压力与系统的温度和压力不一致的面,折射率数据将会被调整以反映表面环境。
取消勾选该复选框时,所有的折射率数据将直接采用Zemax玻璃库中的数据,不会对由温度和压力所定义的不同温度下的玻璃数据的差异作出调整。如果未勾选该复选框,且任意玻璃的参考温度与系统温度之差超过6℃,则会在命令数据报告的折射率部分给出警告信息。
通常系统的温度和压力分别设置为20℃和1.0个标准大气压。元件的折射率必定与环境有关,因此建议勾选该复选框。
(2)系统温度的单位是℃。
(3)系统压力的单位是标准大气压,值为0.0表示真空环境,值为1.0表示海平面环境。
“波长”选项用于设置波长、权重和主波长,如图1-30所示。通过波长参数面板可以实现波长的激活或取消,并可以对数据进行排列、保存和导入。
图1-30 波长设置面板
面板中包括常用的可选波长列表。若需使用列表中的项目,可以直接选择所需的波长,然后单击“选为当前”按钮即可。
波长数据一般以微米为单位,并以当前系统温度和压力下的空气为参考。系统默认温度为20℃,默认压力为1.0个标准大气压。如果调整了系统的温度和压力,或者在多重结构操作数的控制下,必须注意调整波长以适应新的温度和压力。
双击“系统选项”窗口中的“波长”选项,可以弹出图1-31所示的波长数据编辑器。波长数据编辑器包含与波长参数面板相同的信息和设置,同时包含一个使用高斯求积算法选择波长的“高斯求积”按钮。
图1-31 波长数据编辑器
高斯求积算法提供了一种优化受宽带源约束的光学系统中最有效的波长和权重的方法。使用该方法时,选择波长编号(2~12范围内的任何偶数),输入波长范围(以微米为单位),然后单击“高斯求积”按钮即可。
“小数位”用于设置波长和权重显示值的小数位数。如果选择“采用编辑器设置”选项,那么所显示的小数位等于“配置选项”对话框“编辑器”选项中的小数位;如果选择“采用全局设置”选项,那么显示的小数位由“配置选项”对话框“常规”选项中的有效数字设置控制。
“保存”和“载入”按钮用于独立地从镜头数据中保存和重新调用波长数据。数据文件的格式是文本,可以在Zemax之外编辑或创建。
“偏振”选项用于设置使用偏振光追迹的多个序列分析计算的默认输入偏振状态,如图1-32所示。许多分析功能需要使用偏振光线追迹和变迹,如点列图和视场函数的均方根RMS,该选项是设置初始偏振状态的唯一工具。
对于大多数(不是所有)序列分析,当考虑菲涅耳衍射、膜层和内部吸收影响时,偏振光线追迹仅用于决定光线的透射强度。此时可以忽略偏振相位差和偏振的矢量性。
图1-32 偏振参数设置
勾选该复选框,Zemax会将根据薄膜转换规则计算的偏振相位转换为沿光线方向的相位。若不勾选,则光场系数不会转换成光线系数。使用时建议勾选该复选框。
膜层行业使用的相位约定与Zemax中光线追迹所需的相位约定不同。膜层相位约定用于测量沿法向矢量的相位偏移,并将其作为从最外层膜层传播到基底的虚平面波。该约定意味着相位偏移在法向入射中为最大,且较大入射角的余弦逐渐减小至约为零。
对于光线追迹,沿光线测量光学相位的提前或延迟。Zemax会忽略膜层厚度而直接追迹光线到基底。这是因为在镜头数据编辑器中指定的表面之间的厚度是基底之间的厚度,忽略了膜层厚度。
勾选该复选框时会执行无偏振计算,而忽略与偏振相关的数值Jx、Jy、X-面和Y-面。无偏振计算用正交偏振的两条光线追迹并计算最终透射率的平均值。无偏振计算比偏振计算所需的时间更长,而偏振计算又比完全忽略偏振的计算所需的时间更长。
在取消勾选“无偏振”复选框时,出现这些参数设置,用于指定默认的输入偏振态。偏振由这4个数值来定义,其中Jx和Jy表示电磁场X方向和Y方向的模值,X-面和Y-面是以度为单位的相位角。在Zemax内部,电磁场向量被归一化为1的强度单位。
用来选择基于光线矢量确定S矢量和P矢量的方法。Zemax使用琼斯矢量来定义偏振:
其中,Jx和Jy同时具有大小和相位值,并使用符号J来表示2D琼斯矢量,以区分3D电场强度E。如果已指定任何入瞳切趾,Zemax将指定的Jx和Jy值归一化,然后适当缩放强度。因此,Jx和Jy的值是根据相对电场振幅来测量的。
假设光线矢量为K,其X、Y和Z方向余弦为(l,m,n)。对于平行于Z轴传播的光线或者K=(0,0,1)来说,Z方向的电场为零,可将琼斯矢量转换为电场强度,即:Ex=Jx、Ey=Jy和Ez=0。
对于更普遍的光线,不能直接将琼斯矢量(Jx, Jy)转换为3D电场强度(Ex, Ey, Ez),即不能将Jx和Jy的值解释为任何光线,此时应在使用Jx值时将Ey值保留为零,在使用Jy值时将Ex值保留为零。原因是由琼斯矢量(Jx=1, Jy=0)和(Jx=0, Jy=1)得到的电场强度E和光线矢量K正交。
Zemax提供三种方法来执行从J到E的转换。其中,矢量K是光线矢量,Jx值为沿着矢量S的场,Jy值为沿着矢量P的场。K、S和P都必须为单位矢量且相互正交。三种方法为:
■ 以X轴为参考轴:P矢量由K×X确定,且S=P×K,该方法为默认方法。
■ 以Y轴为参考轴:S矢量由Y×K确定,且P=K×S。
■ 以Z轴为参考轴:S矢量由K×Z确定,且P=K×S。
当物在无穷远时,所选择的方法将改变不同视场的S和P的偏振方向,但来自同一视场的所有光线都将具有相同的偏振,因为所有光线都互相平行。对于有限共轭,尤其是当物方空间数值孔径较大时,S矢量和P矢量的方向将因光瞳中的不同光线而有所不同。无论选择哪个方法,追迹任意两束正交光线来计算透射率时,无偏振光的透射结果都不会受到影响。对于需要特定偏振的系统,需要特别注意检查从J到E的转换是否得到预期的偏振光。
“高级”选项用于设置光程差、近轴光线、F/#计算等,如图1-33所示。
图1-33 高级参数设置
光程差(OPD)表示成像的波前相位误差,任何偏离零光程差的偏差都有可能降低通过光学系统形成的衍射图像的质量。
出瞳是光阑在像空间中的像,因此出瞳表示像空间中光束有清晰边界的唯一位置。出瞳处的照度,其振幅和相位通常是平滑变化的,并且零振幅和非零振幅区域有明显的界线。
当波前从出瞳传播到像空间时,光束外形在振幅和相位上变得复杂,并且由衍射产生的波前会扩展到整个空间。在出瞳上测量相位误差是精确描述波前和像质的唯一办法。
OPD参考包括以下选项。
(1)出瞳。Zemax中默认使用出瞳作为计算光程差的参考面。因此,对一条给定的光线计算光程差时,可以通过光学系统追迹该光线,一路到达像面,然后反向追迹回到位于出瞳处的参考球面。在此面得到的光程差是有物理意义的相位误差,它对于MTF、PSF和环带能量等衍射计算是非常重要的。
(2)无限。“无限”参考面假设出瞳位于很远的位置,并且光程差矫正项用光线中的角度误差严格给定。该选项在Zemax无法正确计算出有效的出瞳位置和大小的情况下使用。常用在光阑面不能成像(实像或虚像)的不常见的光学系统中,或是一些出瞳和像面靠得太近而要精确计算出瞳的离轴系统中。
(3)绝对/绝对2。“绝对”或“绝对2”参考面表示Zemax根本不能在光程差计算中加上任何矫正项。对于有焦系统,这两个选项通常没有物理意义。对于无焦系统,选择“绝对”将会参考位于像面位置垂直于主光线的平面来计算光程差,而不考虑出瞳的位置;“绝对2”选项类似,光程差不参考垂直于主光线的平面例外。
近轴光线特性通常不用于定义非旋转对称系统,因此,在追迹近轴光线时,Zemax会默认忽略由于坐标间断而引起的所有倾斜和偏心。
(1)忽略坐标间断。通过忽略倾斜和偏心,Zemax可以计算等效的同轴系统的近轴特性,该处理方法同样适用于非对称系统。该方法适用于忽略倾斜和偏心能够形成对实际系统合理的轴向近似的系统。
(2)考虑坐标间断。对于通过光栅的光线追迹,近轴光线均需要考虑坐标间断,否则光线不能满足光栅方程。对于通过非序列物体的光线追迹,近轴光线也可能需要考虑坐标间断,此时需要选择该选项。
(1)追迹光线。Zemax默认使用光线追迹来计算系统的近轴和工作F/#。对于有着非常大的F/#的系统,光线追迹方法可能不精确,因为边缘光线和主光线之间非常小的夹角即可导致修正错误,甚至微小的像差(如球差)都能显著地影响F/#的计算。因此,Zemax的最大F/#是10,000。在使用光线计算F/#的系统中,其F/#设置需要小于10,000。
(2)光瞳大小/位置。用于模拟非常大的F/#的系统,首选无焦模式。根据需要,可以使用出瞳距除以出瞳直径来计算F/#。选中该选项时,Zemax不会用光瞳方向或视场角比例化F/#,同时这些参数所使用的出瞳直径和位置是基于近轴值的。有典型光瞳像差存在时,近轴值可能与实际的像差光瞳尺寸不一致。为了避免出现这种不一致,最好的方法是将光阑放置在光学系统的末端(在像面之前),并使用光线瞄准,同时将孔径类型设置为“光阑尺寸浮动”。当在轴上无法追迹且轴向F/#与实际F/#不同时,该选项非常有用。
该选项决定在出瞳中使用何种相位参考来计算惠更斯积分。这不仅影响惠更斯PSF分析的结果,也影响其他一些基于惠更斯积分的计算,如惠更斯MTF、衍射环带能量和光纤耦合分析,以及一些优化函数的操作数,包括DENC、DENF、FICL、MTHA、MTHS、MTHT和STRH等。惠更斯积分计算包括以下选项。
(1)自动。允许Zemax自动采用合适的相位参考来计算惠更斯积分。该标准基于对像面的出瞳距、波长和像面大小的考虑。
(2)使用平面波。覆盖Zemax标准,以确定使用哪种相位参考来计算惠更斯积分,而不总是使用平面相位参考。此外,惠更斯积分将利用从出瞳传播到像面的平面波,在像平面的每个点上对波前的贡献进行代数求和。
(3)使用球面波。覆盖Zemax标准,以确定使用哪种相位参考来计算惠更斯积分,而不总是使用球面相位参考。此外,惠更斯积分将利用从出瞳传播到像面的球面波,在像平面的每个点上对波前的贡献进行代数求和。
注意,因为平面相位参考是唯一可以在无焦成像系统中使用的参考,所以当在“系统选项”窗口的“孔径”选项中选择无焦像空间时,计算惠更斯积分的方法就会自动被设置为“使用平面波”。
勾选该复选框表示不会将坐标间断面所选的数据打印出来,以缩短一些文本列表,使其展示的内容更清楚,特别是在有许多坐标间断面的系统中。
勾选该复选框表示不会将计算分解为多个计算线程。多线程表示计算机采用多核CPU更快速地进行计算。当内存不足以将计算分解为多个线程时可以关闭线程。
勾选该复选框表示所有的光程差数据将作为小数部分计算。所有光程差计算结果的返回值在−π~π或−0.5~0.5个波长之间。不建议采用。
勾选该复选框表示在当前Session文件中缓存所有打开的分析窗口(序列模式)和/或所有探测器(非序列模式)计算的数据。由此在加载镜头文件时可大幅度减少文件加载所用的时间,但是会增加与镜头文件关联的Session文件的大小。
勾选该复选框表示将公差数据匹配到配置文件中。
“光线瞄准”选项只在序列模式下可用,可用于定义光线瞄准算法,光线瞄准参数面板如图1-34所示。
光线瞄准是对光线追迹进行迭代计算的一种算法,可以找出在给定的光阑尺寸下正确通过光阑的物面光线。通常只有当入瞳(从物空间看到光阑的像)出现较严重的像差、偏移或倾斜时,才需要光线瞄准。瞄准算法中包括以下选项。
(1)关闭。使用轴上通过孔径设置并基于主波长计算的近轴入瞳尺寸和位置,从物体表面发射光线,即Zemax忽略入瞳像差。这对于中等视场角的小孔径系统是完全可以接受的,而对于某些系统(如F/#很小或视场角很大的系统)可能会导致较大的入瞳像差。
图1-34 光线瞄准参数设置
(2)近轴。此时近轴光线被较好地规范,且近轴定义通常用于大多数一级系统性能(如焦距、F/#和放大率),因此近轴光线也可以用来决定光阑尺寸。对于有显著像差的光瞳,在近轴和实际光线光阑半径之间会有所区别。
(3)实际。对于由系统孔径定义的有物空间属性的实际光线来说,可以使用实际光线来代替近轴光线来确定光阑的半径。
虽然实际光线瞄准比近轴入瞳定位更精确,但是在实际运行时,大多数使用实际光线进行光线追迹所花费的时间是相同情况下使用近轴光线进行光线追迹所花费时间的2~8倍。因此,只有必要以及当近轴光线瞄准不考虑大多数光瞳像差时,才使用实际光线瞄准。
勾选该复选框,Zemax将缓存光线瞄准坐标,以便在进行新的光线追迹时能够利用先前光线瞄准的结果进行迭代计算。对于使用光线瞄准缓存能够精确追迹主光线的系统,使用缓存能够明显加速光线追迹的过程;对于主光线无法被追迹的某些系统来说,应关闭光线瞄准缓存。
若勾选该复选框,OpticStudio将使用一种更可靠但速度较慢的运算来校准光线。只有在打开缓存器而且光线瞄准失败的情况下,才应该勾选此选项。此外,该选项只在光线瞄准缓存器打开的情况下可用。增强模式通过执行一个附加检查来确定现存的同一光阑面中的多重光路中是否只有正确的一条被选中。这在大孔径、广角系统中是一个典型问题,这种系统的轴外视场会出现一条通向光阑的虚拟路径,扰乱光线瞄准的迭代过程。
勾选该复选框,Zemax会自动计算出实际入瞳和近轴入瞳之间的位置差异,以确定光瞳漂移因子的值。光线瞄准开启时将默认勾选该选项,取消勾选时需要手动设置光瞳漂移量X、Y、Z。
说明:当光阑在物体的左侧时,自动计算提供的信息并不准确,且自动计算的偏移值为零,此时需要自行设置光瞳漂移。
对于一些广角或者高度倾斜(或偏心)的系统,若不提供额外的辅助,光线瞄准功能将失效,因为Zemax是将近轴入瞳作为第一个估计值来追迹光线的。如果光瞳像差严重,可能连第一个估计值都无法被追迹,更无法得到第二个良好的估计值,从而使算法中断。
人为设置光瞳漂移可以为近轴光瞳漂移量提供初步的推测,并对近轴光瞳进行压缩。光瞳漂移由X、Y和Z三个偏移分量(测量值以透镜为单位)及X和Y两个压缩分量(无量纲的比例因子)组成,这5个分量的默认值为0,通过修改这5个默认值可以帮助算法进行对于光线瞄准的初步估计。
这些偏移量可以改变近轴入瞳校准点的中心。若偏移量Z的值为正数,则校准点在近轴光瞳的右边;若其值为负数,则校准点在近轴光瞳的左边。大多数广角系统中都是左移光瞳。光瞳漂移量Z与所追迹的视场角呈线性比例,因此光瞳漂移是指全视场光瞳的偏移量。
通过压缩值X和Y改变近轴入瞳的相对坐标来反复迭代,值为0表示无压缩量,值为0.1表示压缩10%。当实际光瞳比近轴光瞳小时,压缩量的作用明显;在完整的近轴光瞳尺寸下,光线追迹非常困难甚至无法实现。
光瞳漂移值和压缩值只是光线瞄准的开始,如果第一条估算光线可以被追迹,光线瞄准算法将找到精确的光瞳位置。光瞳漂移值和压缩值都无法改变入瞳的大小。
Zemax根据材料库中输入的公式及系数来计算折射率。在镜头数据编辑器的材料列指定一种材料名称(如BK7)后,Zemax将会在当前已加载的所有材料库中搜寻该材料,并使用该材料在库中的系数及其相应公式,针对每个被定义的波长计算其折射率。
材料库选项用于设定当前使用的玻璃库,参数设置如图1-35所示。当前玻璃库中列出了当前所使用的玻璃库的名称(不包含文件扩展名);可用玻璃库中列出了可用但当前未使用的玻璃库的名称。使用箭头按钮可以在“可用玻璃库”列表中选择不同的玻璃。
图1-35 材料库参数设置
非序列选项用于设置在NSC组中光线如何追迹,参数设置如图1-36所示。
图1-36 非序列参数设置
用于定义一条光线在沿着初始的光源母光线到最终与物体的交点这一路径中,与物体相交的最大次数。如果使用光线分裂,这一参数将控制从母光线分裂出的子光线的最大数目。该条目允许的最大交点数为4000。
在某些系统中,例如光源在反射球内时,光线反射良好、没有明显的吸收,会发生多次反射,直到达到这一极限次数为止。这种系统实际上是不存在的,因为光线的任何传播过程都存在能量损耗,除非是在绝对真空中传播。
用于设置每条发射光线的最大片段数,而不是Zemax能够追迹的总片段数。片段指光线从一个交点到下一个交点的光线路径的一部分。当光线由光源发出后,传播到第一个物体,这就是一个片段。如果这时光线分为2条,每条就成为一段(现共有3段)。如果每条光线再次分裂,就会得到7个片段。通常,如果使用了光线分裂,片段数的增长会比光线和物体交点数目的增长更快,因此需要为片段数设置更大的数目。
用于定义最多有多少个物体可以在另一个物体内部或者与另一个物体接触。例如,如果#物体3在#物体2内部,#物体2又在#物体1内部,那么最大嵌套物体的数目就是3。这种情况还可以是任何数目的物体组,每组是3嵌套。如果几个物体共边,例如多面体与另一个物体的面相接,那么最大嵌套数至少应设置为与物体数目相同。
用于为每个导入内存中的文件型光源物体设置最大的光线数目。建议值为1,000,000,最小值为5000。
光线分裂时其能量会减少。相对光强是对光线所携能量和能够追迹的能量的最小限制。该参数是一个小数(如0.001),表示相对于由光源发出的起始光线强度。一旦子光线能量小于相对能量,光线即被终止。
该参数与光线追迹相对阈值强度相似,区别在于它用光源单位下的绝对强度表示,而不是用相对于起始光线的强度表示。如果光线追迹绝对阈值强度为0,则绝对光强没有极限值。每条光线的初始强度是由光源强度除以光源内分析光线的总数得到的,输出光线的数目不会影响初始光线强度。
当两个非序列物体胶合在一起时(如一个透镜与棱镜的某个表面黏接),数字环孔将会使用光线追迹法则去探测两个物体之间的微小距离。当两个物体在三维空间中旋转,并且由于在编辑器中输入了有限大的数值互相靠近时,该情况也会发生。
胶合距离是指物体之间可以接合的距离。胶合距离决定了光线追迹的最小传播长度。如果光线与物体的一个交点与前一个交点的距离小于胶合距离,会忽略这一交点。
胶合距离还用于与一般曲面光线追迹相关联的公差分析。Zemax通过迭代进行计算,直到光线与表面截距的误差小于胶合距离的1/5。通常胶合距离不需要进行调整,胶合距离不得小于1.0e-10mm也不能大于1.0e-03mm。
用于定义绘制不通过所有物体的光线时使用的线段长度。Zemax会绘制一段较短的光线段表示光线的传播方向。该参数同样控制光源指示器箭头的绘制大小。若为零,则在绘制不通过物体的光线和一些光源时,Zemax会自动选用该参数的默认值进行绘图。
当一条光线入射到折射面时,该光线的部分能量通常会发生反射,另外一部分能量会发生折射。取消勾选该复选框时,反射和折射光线都会被追迹,每条光线都会得到一部分能量,这与折射界面的反射系数和透射系数有关。勾选该复选框时,只会追迹反射光线和折射光线的其中之一,不会同时追迹两者。追迹反射光线还是折射光线是随机的,反射系数和透射系数可以认为是追迹相应路径的相关概率。无论哪种路径被选中,反射或折射光线都会得到沿两种路径传播所需的全部能量。
如果勾选该复选框,NSC光源的光线在文件打开时会重新追迹,并自动刷新探测器窗口。
标题/注解选项的参数设置如图1-37所示,用于添加镜头标题和注解。镜头标题出现在曲线和文字输出中,是通过将标题输入所需位置得到的。注解部分允许输入几行文字,它们将与镜头文件一起被存储。
图1-37 标题/注解参数设置
文件选项用于选择Zemax目录中包含透镜的相关数据的文件,参数设置如图1-38所示。
图1-38 文件参数设置
(1)“膜层文件”在COATINGS目录下,包含膜层材料和透镜使用的每层定义,默认名称为COATING.DAT。建议每个镜头文件使用一个独立的膜层文件。
(2)“散射文件”在PROFILES目录下,包含透镜使用的散射表面特性,默认名称为SCATTER_PROFILE.DAT。从NSC物体特性对话框的散射标签下可以增加新的散射特性或删除原有的散射特性。建议每个镜头文件使用一个独立的散射文件。
(3)“ABg数据文件”在ABG-DATA目录下,包含透镜使用的ABg数据定义,默认名称为ABG_DATA.DAT。建议每个镜头文件使用一个独立的ABg数据文件。
(4)“GRADIUM文件”在GLASSCAT目录下,包含GRADIUM表面材料定义,默认名称为PROFILE.GRD。关于GRADIUM定义的文件必须以扩展名.GRD结尾。
单位面板用于对系统的单位进行设置,如图1-39所示。
图1-39 单位参数设置
镜头单位包括毫米、厘米、英尺和米4种选项,用于定义大部分电子表格编辑器中尺寸测量的单位,适用于半径、厚度、入瞳直径、非序列中的位置坐标以及其他Zemax参数。
大多数图像分析功能(如光学特性曲线、点列图等)显示的单位是微米,不受镜头单位选择的影响。
光源单位用于对非连续光源的光通量(功率)或能量的测量单位进行设置。该设置用于非序列元件编辑器中定义的光源,还可以用于在物理光学分析中定义光焦度和辐照度。
光源单位可以是瓦特、流明或焦耳,单位前还可以添加前缀femto、pico、nano、micro、mili、无、kilo、mega、giga或tera。瓦特用来进行辐射度学分析,流明用于光度学分析,焦耳用于能量分析。辐射度学和光度学单位的不同在于光度学单位是人眼对不同波长的反应。
分析单位用于对辐照度(辐射)或光照度(光度)测量的单位进行设置。该设置只影响探测器上的数据,探测器用于采集非序列元件编辑器中定义的光源发出的光线。辐照度单位是瓦特/面积,光照度单位为流明/面积,能量密度单位为焦耳/面积,其中面积用平方米(m2)、平方厘米(cm2)、平方毫米(mm2)、平方英尺(ft2)或平方英寸(in2)表示。分析单位前缀包含femto、pico、nano、micro、mili、无、kilo、mega、giga或tera。
无焦模式单位可以是微弧度、毫弧度、弧度、弧度-秒(1/3600度)、弧度-分(1/60度)或度数。
聚焦系统的MTF单位可以是周期/毫米或周期/毫弧度。当使用周期/毫米时,MTF用来计算在像面上像空间的空间频谱。当使用周期/弧度时,MTF用来计算物空间中角度的频谱。MTF单位的选择将影响所有MTF计算式的单位,包括分析、优化和偏差。无焦模式下无须选择MTF单位,它使用的是周期/无焦模式单位。
成本估计选项包括三个按钮,如图1-40所示。单击“供应商管理”按钮可以打开“管理供应商”对话框,以编辑供应商的账户信息供成本评估使用;单击“供应商导出”按钮,可以以加密文件格式导出供应商登录凭据,以便转移到其他计算机使用;单击“供应商导入”按钮,可以从之前导出的加密文件中导入供应商登录凭据。
图1-40 成本估计参数设置
镜头数据编辑器是Zemax中最主要的电子表格,镜头的主要数据通过该表格进行输入。这些数据包括系统中每一个面的曲率半径、厚度、玻璃材料等。例如单透镜由两个面组成(前面和后面),物平面和像平面各需要一个面,这些数据可以直接输入电子表格中。
Zemax启动时会自动启动镜头数据编辑器,用户也可以通过执行“设置”选项卡→“编辑器”面板→“镜头数据”命令,打开镜头数据编辑器,如图1-41所示。默认情况下镜头数据编辑器只显示数据输入栏,单击左上角的“向下箭头”按钮或双击任意行中的“表面类型”设置栏,即可打开表面属性参数设置面板。
图1-41 镜头数据编辑器
在镜头数据编辑器中,用户可以单击或双击需要改动的参数,通过键盘在电子表格中输入需要设置的数值。编辑器中的每一列参数代表具有不同特性的数据,每一行参数表示一个光学面(可能为虚拟面)。
利用键盘中的方向键可以将光标移动到需要的任意行或列,向左或右连续移动光标会使屏幕滚动,屏幕将显示其他列的数据,如半径、二次曲线系数,以及与所在面的面型有关的参数。屏幕显示可以从左到右或者从右到左滚动。利用“PgUp”和“PgDn”键可以将光标移动到所在列的头部或尾部。当镜头面数足够多时,屏幕显示也可以根据需要上下滚动。
在初始状态(除非镜头已给定)下,通常显示3个表面:物面、光阑、像面。物面与像面是永远存在的,无法删除,其他表面可以使用下面的方法进行删除或添加。
(1)利用键盘中的“Insert”或“Delete”键插入或删除表面。
(2)在想要插入或删除表面的位置单击鼠标右键,在弹出的快捷菜单中选择“插入表面”或“删除表面”命令,如图1-42所示。
说明:物面之前和像面之后不能插入任何表面,这里的“前面”表示一个序号最小的面;而“后面”表示一个序号最大的面。
Zemax中的面序号从第0面(即物面)排列到最后一个面(即像面),光线顺序通过各个表面。
若要在电子表格中输入数据,可以双击对应的方格,通过键盘输入数据。利用“Backspace”键可以编辑修改当前的数据,如果选中某一数据方格,可以用左方向键、右方向键、“Home”键、“End”键浏览整个电子表格。当数据修改好后,按任意方向键或单击屏幕的任意位置,或按Enter键即可结束当前编辑。
若要修改当前方格中的数值,可以通过数学计算符号进行操作。例如,如果显示的数据是10,输入+5(加5),按Enter键,数字会变为15。符号“-”“*”和“/”也同样有效。
注意:进行减法操作时,“-”(减号)和数字之间必须有一个空格;如果不输入空格,程序会认为输入的是一个新的负数值。输入“*1”可以改变数值的正负号。
图1-42 插入/删除表面数据的快捷菜单
镜头数据编辑器的数据输入栏用于输入镜头的相关数据,各列参数含义如下。
镜头数据编辑器的最左列显示每个表面的表面编号,其右侧为表面类型。物面的表面编号为0(记为“#面0”),第一个表面编号为1(记为“#面1”),以此类推至像面。物面总是0号表面,像面总是最后一个表面,但是光阑面可以是任意编号。
一些附加信息会显示在表面编号旁边。当在表面上定义孔径时,Zemax将在表面编号旁边显示星号“*”;当一个表面被定义了表面倾斜/偏心数据时,表面编号旁边将显示加号“+”;当一个表面被同时定义了光圈和倾斜/偏心数据时,表面编号旁边将显示井号“#”。
在Zemax的镜头数据编辑器中,每个表面都有一个标注栏,用于添加文本标注信息。用户最多可以在标注栏中输入32个文本字符,这些标注能够增强镜头特性的可读性,且不影响光线追迹。部分分析功能可以作为标注信息,所有标注信息都可以被隐藏。
用于输入或改变一个表面的曲率半径。半径数据通常采用透镜的计量单位进行输入和显示,这些计量单位为长度单位。
用于输入或改变一个表面的厚度。厚度数据通常采用透镜的计量单位进行输入和显示。表面的厚度表示从该表面实体(例如透镜)的一个面到另一个面的距离,像面是唯一没有厚度属性的表面。
厚度符号通常在一个反射镜后改变,奇数次反射后,所有的厚度都是负值,这种符号规定与反射镜的数量与当前的坐标转换无关,不能通过将坐标旋转180°来规避。
表面所用的材料通过玻璃名称来指定,材料必须是当前已被装载到玻璃库中的玻璃之一,默认的玻璃目录是Schott库,也可以选用其他目录。
如要把某一个表面定义为反射面(镜面),该表面的材料应命名为Mirror。当一个表面或物体的材料类型为Mirror,并且没有指定涂层,则默认该表面涂有一层厚的铝层,其折射率为0.7-7.0i。假定铝层足够厚导致没有光线传播通过该层,这意味着未涂覆铝层的镜面具有小于1的反射率,反射率的精确值取决于光的偏振。
在输入新的玻璃名称时,可以将可选的“/P”命令追加到玻璃名称上,表示Zemax将更改前表面和/或后表面的曲率,使镜片元件保持恒定的光焦度。例如,如果玻璃类型已经选定为BK7,则在调整表面和表面的半径之后,输入新的玻璃类型“SF1/P”表示将使玻璃类型改变为SF1,以保持恒定的光焦度。此时Zemax会考虑前面和后面顶点的光焦度,以及修正由于厚度引起的元件光焦度变化。如果透镜在空气中,则该算法会同时调整前表面和后表面的曲率;如果前表面或后表面与另一个玻璃元件相邻,则仅调整与空气相邻表面的曲率。
说明:Zemax能够使顶点间的光焦度保持不变,但是若玻璃的光学厚度发生改变,则整个玻璃的光焦度将会发生微小的改变,这种改变对薄透镜的影响非常小。
与材料属性相似,每个表面所用的膜层材料是通过膜层名称来指定的,且必须是当前已被装载到膜层库中的膜层名称之一。
计算(自动求解)所有光线通过视场时所需的径向通光孔径的默认净半孔径或半孔径。净孔径的默认值是通过追迹各个视场的所有光线,自动计算出它们沿径向所需的通光半径。
用户也可以输入任何值作为半孔径,输入的值将会被保留,并且在数值旁边出现“U”,以表示该半孔径是用户定义的,只影响外形图中各表面的绘图,不反映表面的渐晕。
延伸区是基于净孔径建立的径向表面扩展区。这里的净孔径是根据净半孔径、半孔径或圆形孔径定义的。延伸区的表面曲率与净孔径或半孔径的曲率相同。延伸区不会改变半孔径的值,而是基于该值建立,并且该区域是不可追迹的。在默认情况下,延伸区设置为零。对于特定表面,可以禁用半孔径边距功能。延伸区可采用固定、拾取和ZPL宏三种求解方法。
机械半直径是根据镜片的机械边缘定义的表面径向尺寸。默认情况下,它是使用自动求解计算的,作为净半孔径或半孔径与延伸区的总和。
如果机械半直径大于净半孔径或半孔径与延伸区的总和,则将该差值模拟为恒定矢高的平坦表面,并等于延伸区外缘的值。当表面边缘绘制选项被定义为“方形”时,自动机械半径将进行径向延伸以明确定义镜片的方形边缘。机械半直径可采用自动、固定拾取和ZPL宏三种求解方法。
延伸区和机械半直径都是表面扩展,以便为用户提供更大的灵活性,同时在通光孔径之外产生光学机械特征。这些参数允许被定义为适合加工的光学形状。
由于机械半直径是根据镜片的机械边缘定义的表面径向尺寸,所以该值用于确定透镜的边缘厚度,以及在进行热分析时边缘厚度将如何随温度发生变化。
圆锥系数可以应用于不同的表面类型,是无量纲的量。
TCE(Thermal Coefficient of Expansion)指热膨胀系数。Zemax使用TCE值来模拟线性热膨胀,与温度范围无关。通常玻璃供应商提供的目录值是−30~70℃温度范围内的TCE,而Zemax可以在任何温度范围内使用TCE值。
Zemax中TCE值的单位为1e-6/K。例如,在10K以上10mm厚材料的热膨胀为TCE×1e-6/K×10K×10mm。
在玻璃目录中定义材料后,Zemax将使用为该材料指定的TCE来确定使用该材质的曲面的半径、中心厚度和其他数据的热膨胀。当材料不是固体而是气体或液体时,热膨胀通常不受材料特性支配,而是由安装材料的边缘厚度决定。此时,Zemax需要使用镜头数据编辑器中提供的TCE值来定义安装材料属性,而不是玻璃目录中提供的TCE,因此需要将玻璃目录中的材料设置为“忽略热膨胀”。
大多数数据列(如半径和厚度)有一种或多种求解方法。求解方法在各数据方格的右侧方格中进行设定,在该位置单击鼠标左键,即可在弹出的对话框中选择求解类型。
例如,在编号为1的表面“曲率半径”数据方格的右侧方格中单击鼠标左键,即可在弹出的“在面1上的曲率解”中选择求解类型,如图1-43所示。在编号为1的表面“厚度”数据方格的右侧方格中单击鼠标左键,即可在弹出的“在面1上的厚度解”中选择求解类型,如图1-44所示。
图1-43 曲率半径求解类型设置
图1-44 厚度求解类型设置
Zemax能够模拟传统的球形玻璃表面、非球面、Toroidal面、柱面等许多类型的光学元件,也可以模拟衍射光栅、二元光学、菲涅耳透镜、全息图等。Zemax支持大量的表面类型,默认情况下为标准面,也是最常见的表面类型。
标准面可以是由均匀的材料(如空气、镜子或玻璃等)形成的平面,也可以是球形或圆锥形的表面。标准面所需的参数是半径(该半径可以是无穷大,类似于产生一个平面)、厚度、圆锥系数(默认零值表示球体)和玻璃类型的名称。
其他表面类型使用这些相同的基本数据以及一些其他数据。例如,偶数非球面曲面使用所有标准曲面数据和描述多项式系数的附加值。
单击镜头数据编辑器中“表面类型”列右侧的“展开”按钮,展开的下拉菜单中将显示所有可用的表面类型。表1-4~表1-9总结了Zemax支持的面类型。
表1-4 常规面
序号 |
表面类型 |
描述 |
---|---|---|
1 |
Q型非球面 |
基于Forbes多项式的非球面 |
2 |
Toroidal |
圆锥面、环形非球面、圆柱面和增加的Zernike项 |
3 |
Toroidal光栅 |
在一个圆锥形的圆环上的规则光栅 |
4 |
标准面 |
包括平面、球面和圆锥面 |
5 |
波带片 |
使用不同深度的圆环的菲涅耳波带片模型 |
6 |
不规则面 |
具有偏心、倾斜或其他变形的标准面 |
7 |
菲涅耳 |
具有屈光力的平面 |
8 |
共轭面 |
在两点上定义具有理想成像的曲面 |
9 |
光学制造全息 |
有任意记录光波和椭圆基板的光学制造全息图 |
10 |
黑盒透镜 |
一个可对一系列Zemax表面进行模拟的表面,其定义的数据是隐藏的 |
11 |
扩展非球面 |
使用径向多项式来定义矢高 |
12 |
偶次非球面 |
标准面加多项式非球面项 |
13 |
倾斜面 |
在不改变坐标系时定义倾斜面 |
14 |
双折射输入/输出 |
用于模拟单轴晶体;支持以普通或特殊的模式追踪光线;支持具有可变晶轴方向的双折 |
15 |
双锥面 |
在X和Y上有独立的圆锥系数的非球面 |
16 |
衍射光栅 |
标准面上刻有规则沟槽的光栅 |
17 |
周期面 |
余弦形表面 |
18 |
坐标间断 |
允许旋转和偏心 |
表1-5 衍射面
序号 |
表面类型 |
描述 |
---|---|---|
1 |
Toroidal光栅 |
一个圆锥形的圆环上的规则光栅 |
2 |
Toroidal全息 |
具有两点光学制造全息图的Toroidal基底 |
3 |
Zernike Annular相位 |
使用80个Zernike环形多项式来定义表面相位 |
4 |
Zernike Fringe相位 |
使用37个Zernike Fringe多项式来定义相位 |
5 |
Zernike Standard相位 |
使用231个Zernike标准多项式来定义表面相位 |
6 |
二元面1 |
使用230项多项式来定义相位 |
7 |
二元面2 |
使用径向多项式来定义相位 |
8 |
二元面3 |
双区域非球面和衍射面 |
9 |
二元面4 |
多区域非球面和衍射面 |
10 |
光学制造全息 |
有任意记录光波和椭圆基板的光学制造全息图 |
11 |
径向光栅 |
有径向相位分布的衍射光栅 |
12 |
可变刻线距离光栅 |
具有可变刻线距离的光栅表面 |
13 |
扩展Toroidal光栅 |
具有扩展多项式项的非球面环形光栅 |
14 |
全息面1 |
两点光学制造全息图 |
15 |
全息面2 |
两点光学制造全息图 |
16 |
网格相位 |
由网格点描述的相位表面 |
17 |
衍射光栅 |
标准面上刻有规则沟槽的光栅 |
表1-6 自由曲面
序号 |
表面类型 |
描述 |
---|---|---|
1 |
Q型自由曲面 |
用一组正交的二维Q多项式描述的最先进的参数自由曲面 |
2 |
Toroidal NURBS |
使用NURBS曲线来定义一个环形对称表面 |
3 |
TrueFreeForm |
完全自由曲面。将自由曲面定义为Biconic项、偶次非球面项、扩展多项式项和Zernike标准矢高项组合而成的矢高点网格 |
4 |
Zernike Annular Standard矢高 |
使用80个Zernike环形多项式来定义表面矢高 |
5 |
Zernike Fringe矢高 |
使用37个Zernike Fringe多项式来定义矢高 |
6 |
Zernike Standard矢高 |
使用231个Zernike标准多项式来定义表面矢高 |
7 |
超圆锥面 |
具有快速收敛的超圆锥非球面 |
8 |
多项式 |
在x和 y中的多项式扩展径向 |
9 |
径向NURBS |
使用NURBS曲线来定义旋转对称表面 |
10 |
扩展Toroidal光栅 |
具有扩展多项式项的非球面环形光栅 |
11 |
扩展多项式 |
使用230项多项式扩展来定义矢高 |
12 |
扩展菲涅耳 |
在多项式面上的多项式菲涅耳面 |
13 |
扩展奇次非球面 |
使用径向功率的奇数项 |
14 |
扩展三次样条 |
旋转对称最多拟合250个点 |
15 |
离轴圆锥自由曲面 |
由圆锥部分与多项式叠加而成的一种新的光学曲面 |
16 |
奇次非球面 |
标准面加多项式非球面项 |
17 |
奇次余弦 |
奇次非球面加余弦多项式项 |
18 |
切比雪夫多项式 |
基于切比雪夫多项式的自由曲面 |
19 |
三次样条 |
拟合8个点的旋转对称柱面 |
20 |
双锥Zernik |
有x、y和Zernike多项式项的双锥面 |
21 |
通用菲涅耳面 |
在非球面衬底上的XY多项式菲涅耳面 |
22 |
椭圆光栅1 |
具有非球面项和多项式凹槽的椭圆光栅 |
23 |
椭圆光栅2 |
具有由倾斜平面形成的非球面项和凹槽的椭圆光栅 |
24 |
网格渐变 |
由3D网格描述的梯度折射率表面 |
25 |
网格矢高 |
由网格点描述的表面形状 |
26 |
圆柱菲涅耳面 |
在多项式柱面上的菲涅耳透镜面 |
表1-7 渐变折射率面
序号 |
表面类型 |
描述 |
---|---|---|
1 |
GRADIUM |
有分散模型及轴向梯度折射率的材料表面 |
2 |
渐变1 |
有径向梯度折射率的材料表面 |
3 |
渐变2 |
有径向梯度折射率的材料表面,介质折射率的定义与渐变1不同 |
4 |
渐变3 |
有径向和轴向梯度折射率的材料表面 |
5 |
渐变4 |
有X、Y和Z梯度折射率的材料表面 |
6 |
渐变5 |
有色散模拟及径向和轴向梯度折射率的材料表面 |
7 |
渐变6 |
有Gradient Lens公司的色散模拟及径向梯度折射率的材料表面 |
8 |
渐变7 |
球形梯度剖面 |
9 |
渐变9 |
有NSG SELFOC透镜的色散模拟及径向梯度折射率的材料表面 |
10 |
渐变10 |
有色散模拟及Y梯度折射率的材料表面 |
11 |
渐变11 |
有色散模拟及X、Y和Z梯度折射率的材料表面 |
12 |
网格渐变 |
由3D网格描述的梯度折射率表面 |
表1-8 理想面
序号 |
表面类型 |
描述 |
---|---|---|
1 |
ABCD面 |
使用ABCD矩阵来模拟“黑盒” |
2 |
不规则面 |
具有偏心、倾斜和其他变形的标准面 |
3 |
菲涅耳 |
具有屈光力的平面 |
4 |
幻灯片表面 |
由点阵图充当过滤器的平面 |
5 |
近轴XY |
在X、Y轴具有不同规格的薄透镜 |
6 |
近轴面 |
可理想成像的薄透镜表面 |
7 |
扩展菲涅耳 |
在多项式面上的多项式菲涅耳面 |
8 |
逆反射 |
逆向反射光线沿入射路径反射 |
9 |
琼斯矩阵 |
可校正偏振状态的琼斯矩阵 |
10 |
全息面1 |
两点光学制造全息图 |
11 |
全息面2 |
两点光学制造全息图 |
12 |
通用菲涅耳 |
在非球面衬底上的XY多项式菲涅耳面 |
13 |
圆柱菲涅耳 |
在多项式柱面上的多项式柱面菲涅耳面 |
表1-9 特殊面
序号 |
表面类型 |
描述 |
---|---|---|
1 |
备选偶次非球面 |
可选择备选解决方案的偶次非球面 |
2 |
备选奇次非球面 |
可选择备选解决方案的奇次非球面 |
3 |
大气 |
通过地球大气引起的折射 |
4 |
非序列组件 |
通过3D表面和物体的集合追迹非序列光线 |
5 |
可变刻线距离光栅 |
可变刻线距离的光栅表面 |
6 |
数据 |
虚拟面可将额外数据值传递给UDS |
7 |
用户自定义 |
可使用任意用户定义的函数来描述表面的折射、反射、衍射、透射或梯度特性的一般表面 |
单击镜头数据编辑器中表面属性栏的“向下”箭头或单击任意行中的“表面类型”设置栏,即可展开表面属性设置面板,如图1-45所示。
图1-45 展开表面属性设置面板
单击镜头数据编辑器中的不同表面或者单击表面属性栏中的“向左”或“向右”箭头可以更改所需显示表面属性的表面。在表面属性设置面板中可以定义以下表面属性。
“类型”选项组如图1-45所示,其中“表面类型”的下拉列表中会显示可用的表面类型,也可单击其后面的按钮以打开图1-46所示的“表面类型”对话框,该对话框对表面类型进行了分类,方便使用时进行选择。
图1-46 “表面类型”对话框
(1)“使此表面为光阑”复选框
勾选该复选框,可以将该表面作为光阑面。光阑面可以是系统中除了物面和像面以外的任何表面。如果该表面是物面、像面或已经是光阑面,则该复选框显示为灰色。
选定一个表面为光阑面时,需要确保入射光瞳与物面同轴,如果系统中有坐标转折、偏心、全息、光栅以及其他能改变光轴的组件,应将光阑面放在这些表面之前。
说明:如果系统关于光轴旋转对称,可以忽略该限制;只有使用了使光轴产生偏心或倾斜的表面的系统,才要求将光阑面放在这些表面之前。
如果坐标发生转换,对于只是由反射镜组成的共轴系统,即使光阑面放在这些反射镜之后,光瞳位置也可以正确地计算出来。在某些系统中,无法将孔径光阑放在坐标转折之前,因此必须对光线进行定位。
(2)“设为全局坐标参考面”复选框
勾选该复选框,可以将该表面设置为全局坐标参考面,用于确定全局坐标系的原点位置和方向。
任意表面均可通过局部坐标的旋转和平移来定义全局坐标。利用任意表面作为全局参考坐标,可计算得到其他任意表面的旋转矩阵和偏移向量。默认的全局参考面为#面1,但可以选择其他任意表面设置为全局坐标参考面。
说明:①当物面位于无穷远处时,则不能将#面0作为参考面。②不能将坐标间断的表面设置为全局坐标参考面。
(3)“表面不能是超半球面”复选框
勾选该复选框,表示该表面不允许是超半球面。该选项应与浮动或环形孔径连用,以便实现超出孔径外的光线渐晕。
说明:Zemax通常会检测一个表面是否必须为超半球面(表面超过最大径向半径,并向所在球面的后顶点弯曲,以填满多于半球的空间)以通过所有的光线。
(4)“忽略这个表面”复选框
勾选该复选框,表示该表面将会被忽略。光线追迹、分析、布局图、优化、公差和大多数功能的结果将不会考虑该表面,如同该表面已被删除。该功能特别适用于设计多重结构镜头时要求光线在某些结构中而不在其他结构中的情况。
“绘图”选项组如图1-47所示,用于设置如何绘制表面。
图1-47 “绘图”选项组
“孔径”选项组如图1-48所示,用于设置每个表面的孔径数据。表面孔径通常用于处理渐晕的影响。孔径和遮光类型分别用于定义通过或遮拦光线的区域。
对于构造复杂的孔径,可以通过在指定光学元件的所需位置插入厚度为0的虚拟面,然后在该表面上设置其他孔径,来描述多个孔径。此外,还可以在单个表面使用用户自定义孔径和遮光功能来同时定义多个孔径和遮光。
图1-48 “孔径”选项组
“散射”选项组如图1-49所示,用于设置每个表面的散射类型。散射类型依据概率分布函数来定义。
在Zemax中,当发生光线散射时,光线将选择新的传播方向,该方向由概率函数以及一个或多个随机数来共同决定。如果追迹了多条光线,所得散射光线分布将接近概率分布函数。
图1-49 “散射”选项组
“倾斜/偏心”选项组如图1-50所示,用于设置表面的倾斜和偏心。Zemax允许在光线追迹到表面之前和之后,在坐标系中更改表面倾斜和偏心。
设置倾斜和偏心,可以实现将表面偏心并返回到原始坐标系,倾斜反射镜并再次倾斜以便跟随光束,倾斜表面以便对楔形物进行建模等目的。
图1-50 “倾斜和偏心”选项组
“物理光学”选项组如图1-51所示,用于设置表面的物理光学参数。
图1-51 “物理光学”选项组
“膜层”选项组如图1-52所示,用于选择加载到表面上的光学膜层。用户可以单独修改任一特定表面上定义的膜层的厚度、折射率和消光,而不会改变膜层的既有定义。
单个膜层的厚度可根据一个无量纲的“膜层缩放”按比例缩放,同时折射率和消光系数可被该无量纲值偏移。其中折射率的偏移对所有波长都是均匀的,不支持色散偏移。
图1-52 “膜层”选项组
“导入”选项组用于导入附加数据文件。导入行为是从文件中加载附加数据值并导入附加数据表面,而不是通过直接输入数值导入。数据文件的拓展名必须为.DAT。
各表面的通光孔径用于考虑渐晕的影响。孔径和遮光是根据通过和阻拦光线的面积来分别定义的,当通光孔径被定义在一个表面时,该表面的序号前将显示“*”。
用户可以在需要的位置插入一个厚度为0的虚拟面,然后在此虚拟面上设定附加孔径,从而在某一个光学元件中设定一个以上的孔径,这对结构复杂的孔径非常有用。
多重孔径或遮光也可以由用户自定义其特性并同时放在一个单独的表面上。用户可以在“孔径类型”选项中为每个表面设置通光孔径。当孔径类型为“无”(默认值)时,所有反射和折射的光线都允许通过该表面。
通过一个表面的光线与镜头数据编辑器中的半孔径值无关,这些设置的半孔径数据只在绘制镜片元件图时起作用,并不决定渐晕。如果要把孔径设置成默认值或改变当前孔径的类型,可以在“孔径类型”中选择其他的孔径类型,如图1-53所示。
图1-53 选择通光孔径类型
(1)圆形孔径/圆形遮光:对于圆形孔径,光线到达该表面时,仅允许位于最小半径与最大半径分别定义的两个圆形之间的光线通过该表面,其余光线则被阻拦。圆形遮光与圆形孔径的作用互补。
(2)矩形孔径/矩形遮光:对于矩形孔径,光线到达该表面时,仅允许位于由矩形半宽度x、y所定义的矩形之内的光线通过该表面,其余光线则被阻拦。矩形遮光与矩形孔径的作用互补。
(3)椭圆孔径/椭圆遮光:对于椭圆孔径,光线到达该表面时,仅允许位于由椭圆半宽度x、y所定义的椭圆之内的光线通过该表面,其余光线则被阻拦。椭圆遮光与椭圆孔径的作用互补。
(4)三角形:三角形是由每个边的宽度和臂数定义的。Zemax中假定取相同臂长,相同转角分布。第一个臂取沿x轴正向角度为零的位置。对于具有不同臂长和不同转角分布的复杂三角形,可以分解成相邻的多个虚拟面上的多个三角形,坐标转折面可以将三角形旋转至任何想要的角度。
(5)浮动孔径:除了最小半径一直为0外,它与圆形孔径是相似的,浮动孔径中半孔径的概念等同于圆形孔径中最大半径的概念。在自动模式下,由于浮动孔径的半孔径值可以由Zemax自动调整,因此浮动孔径的孔径值随其半孔径值的浮动而浮动。当宏指令或外部程序默认追迹半孔径以外的光线时,浮动孔径可以将这些光线渐晕掉。
(6)用户孔径/用户遮光:参见下一小节中的详述。
上述孔径都是由顶点的子午面向光学面投影模拟的,渐晕由实际光线与表面交点的x和y坐标决定,与z坐标无关。当孔径被放在当作光学表面之前的虚构表面上,而不是直接放在曲面上时,对陡峭的光学面进行计算会产生不同的计算结果。只有在入射角非常陡时这种情况才会发生,除非虚构面能够被更精确地表示。
通常情况下,需要将孔径直接放在光学表面上,通过输入X或Y或X、Y偏离量的方法,使所有类型的孔径偏离当前光轴,这种偏离量以透镜计量单位给定。注意,偏离不会改变主光线,光阑必须与物体同轴。例如,设计一个离轴望远镜,可以将光阑放在光轴和离轴系统中。
使用圆形、矩形、椭圆孔径和遮光可以满足多数情况下的需求,但是有时会需要一个更广义的孔径。Zemax允许用户使用一系列有序数对(x1,y1)、(x2,y2)、(xn,yn)来定义孔径,这些点是多边形的顶点。多边形可以是任意形状,且可以采用简单或复杂的方式封闭。
复合多边形可以被定义成嵌套或独立的形式来建立用户自定义孔径或遮光。用户可以从“孔径类型”列表中选择需要的类型(孔径或遮光)。
例如,用户可以在“孔径”选项中选择“孔径类型”为“用户孔径”,并在“孔径文件”中选择孔径文件,如图1-54所示。孔径文件是.uda文件,可以用任意文本编辑器进行创建和编辑,文件存储在安装目录的Apertures文件夹中。
图1-54 选择“用户孔径”类型
单击“编辑孔径文件”按钮,将会出现一个允许编辑和滚动定义多边形的顶点的列表框,这是一个简单的文本编辑器。该表面的x坐标和y坐标可以直接输入。坐标点(0,0)表示多边形的端点,因此不能用(0,0)作为顶点来定义多边形。
若一个顶点必须定义为(0,0),则可以用一个非常小的值代替其中的一个,例如(1e-6,0)。只要有一个坐标不为0,则这个点会被认为是顶点,而不是多边形的端点。最后列出的顶点被认为与第一个顶点相连。例如,定义一个如图1-55所示边长为20单位的正方形,其UDA文件如下所示。
图1-55 定义正方形
LIN 10,10
LIN 10, 10
LIN 10, 10
LIN 10,10
BRK
注意:BRK表示多边形定义的结束,定义的最后一个点与第一个点连接,从而定义正方形的最后一条边。使用单个REC命令可以定义与此相同类型的孔径,如下所示。
REC 0 0 10 10 0
注意:使用REC命令时,不要求使用BRK命令来结束孔径的定义。
多个多边形可以通过单个BRK命令分别定义。例如,定义一个图1-56所示由两个狭缝组成的孔径,每个狭缝的宽度为5镜头单位、高度为20镜头单位,两个狭缝内侧间距为10镜头单位,UDA文件如下所示。
图1-56 定义两个狭缝
LIN -10, -10
LIN -10, 10
LIN -5, 10
LIN -5, -10
BRK
LIN 10, -10
LIN 10, 10
LIN 5, 10
LIN 5, -10
BRK
或者,使用两个REC命令定义,如下所示。
REC -7.5 0 2.5 10 0
REC +7.5 0 2.5 10 0
如果想要定义圆角矩形,可以同时使用ARC和LIN命令。例如,定义一个图1-57所示的圆角正方形,正方形的边长为4镜头单位,圆角半径为1镜头单位的90°圆弧,每个圆角由12条线段组成,创建该圆角正方形的UDA文件如下所示。
图1-57 定义具有圆角的正方形
LIN -1 2
LIN 1 2
ARC 1 1 90 12
LIN 2 -1
ARC 1 -1 90 12
LIN -1 -2
ARC -1 -1 90 12
LIN -2 1
ARC -1 1 90 12
上方UDA文件中,第一条LIN命令定义了左上角附近的起点,后续命令定义了该孔径的8个部分。如果只定义单个孔径,可以不使用BRK命令结束。
复合多边形也可以嵌套。Zemax允许在一个大的多边形孔径中,定义一个小的多边形遮光;反之亦然。Zemax允许有多层嵌套,每层嵌套内部和外部的通光状态相反。
当定义多个多边形时,这些多边形可以是分开或嵌套的。但是,它们都不能与相邻边界相交或共享。
例如,在图1-57所示的圆角矩形内部嵌套5个子孔径,分别为五边形、六边形、椭圆形、矩形和圆形,如图1-58所示。
图1-58 嵌套子孔径
UDA文件中的代码不需要执行BRK命令来将REC、ELI、POL和CIR命令与ARC和LIN命令隔开,因为REC、ELI、POL和CIR命令都可以定义独立孔径。
LIN -1 2
LIN 1 2
ARC 1 1 90 12
LIN 2 -1
ARC 1 -1 90 12
LIN -1 -2
ARC -1 -1 90 12
LIN -2 1
ARC -1 1 90 12
REC 1 1 .3 .5 -30
ELI -1 -1 .6 .2 15
POL 1 -1 .5 5 0
POL -1 1 .5 6 0
CIR 0 0 .3
打开Zemax软件,默认情况下打开的是一个简洁的序列成像模式界面,其中包含一个镜头数据编辑器。序列模式是相对于非序列模式而言的。
Zemax软件将序列和非序列两种设计模式集成一体,是其一大优势。序列模式和非序列模式的区别很大,本节只简要介绍两者在光线追迹与建模方面的区别。
在序列模式下,Zemax使用几何光线(比较规则而又有预见性的光线)进行追迹。
注意:这里强调的是光线的预见性,即光线传播所遇到的表面是用户事先排列好的,光线按照既定的表面序号依次向后传播。
例如,光线只能沿#面1、2、3、4…传播,而不能跳过其中任何一个表面或反向传播。这就是序列模式下光线传播的可预见性,如图1-59所示。
图1-59 序列模式下的光线传播
在非序列模式下,Zemax模拟实际光源物理发光的形式,随机生成光线并按光线实际传播路径进行追迹,所以非序列光线是不确定的,如图1-60所示。非序列模式适用于照明系统的设计。
图1-60 非序列光线随机生成
在序列模式下,Zemax使用表面来建模。因为根据光线传播的确定性,可以确认光线遇到的每个表面,所以当新建一个系统时,默认存在物面、光阑和像面3个表面。
例如,一个透镜由两个表面及中间的材质构成,由于成像光路中不涉及透镜的边缘圆柱面,因此在序列模式下,必须存在物面、光阑和像面。图1-61所示为序列模式下建模类型为表面的形式。
图1-61 序列模式下建模类型为表面的形式
在非序列模式下,Zemax使用实际物体来建模,即直接生成实体类型,而不存在物面或像面,但是需要定义光源才能发光。图1-62所示为非序列模式下的物体建模形式。
图1-62 非序列下的物体建模形式
本章从Zemax的基础知识开始讲解,主要介绍了Zemax的工作界面及基本操作,对Zemax的功能区进行了概述介绍,帮助读者对Zemax建立一个初步的认识。随后,本章重点介绍了系统选项和镜头数据编辑器的设置,这是使用Zemax进行光学设计仿真分析的基础知识,希望读者熟练掌握。
读者服务:
微信扫码关注【异步社区】微信公众号,回复“e61176”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。