Ansys Zemax | 如何使用 OpticStudio 非序列优化向导

news2024/9/25 1:19:00

本文描述了如何使用 OpticStudio 非序列优化向导创建常见的评价函数类型,以及创建用于匹配导入图像文件的目标能量分布评价函数。(联系我们获取文章附件)

简介

在非序列模式下优化光学系统通常比在序列模式下的优化更复杂、更耗时。下期我们将会为大家介绍序列模式优化系列文章的第二篇-《如何优化非序列光学系统》,这篇文章描述了非序列优化的基础,其中我们发现所有的非序列评价函数必须在计算性能目标之前清除探测器和光线追迹。这个过程经常是重复且容易出错的,通常通过 OpticStudio 非序列优化向导自动实现。该向导支持创建常见类型的评价函数,并创建用于匹配导入图像文件的能量分布的相关评价函数。本文将详细讨论如何使用这两种功能来辅助优化。

非序列优化向导

许多非序列系统有着共同的性能目标,如光通量均匀性或最大光通量等。非序列优化向导提供了一种快速创建由常用评价目标组成的评价函数的工具。该工具可以在评价函数编辑器中通过 优化 (Optimization) …优化向导 (Optimization Wizards) …优化向导 (Optimization Wizard) 设置。

您还可以通过单击评价函数编辑器中的优化向导和操作数 (Wizards and Operands) 来访问优化向导(注意此工具在混合模式下不可用)。下面的窗口中评价功能组件简洁地被划分为三类。

优化向导总是将一个 NSDD 操作数添加到评价函数的顶部,该函数将在每次运行开始时清除探测器。无论是否勾选“清除数据设置 (Clear Data Settings)”选项,这在添加任何非序列评价函数时都是必要的。除此之外,“清除数据设置”选项允许用户在评价函数的任意点清除单个探测器。通常这种操作是不必要的,除非您确认需要此操作,否则请保持设置的默认值。

光线追迹设置支持常规光线追迹和 LightningTrace™ (LT)。常规光线追迹是系统默认的追迹方式,如果要使用 LT,请选择使用 LightningTrace™。注意,它只支持矩形和颜色探测器的空间数据,并且只支持极坐标探测器的角度数据,除此之外的其他任何探测器都不支持。当该功能被启用时,窗口将自动更新,以显示特定探测器的有效标准。有关  LT  和采样设置的更多信息,请参见 OpticStudio 的帮助文件:优化选项卡(非序列UI模式) (The Analyze Tab (non-sequential ui mode)) ... 光线追迹选项组  (Trace Rays Group) ... Lightning 追迹 (Lightning Trace)

所有其他常规的光线追迹设置都与原光线追迹设置的选项相同。

“标准设置 (Criteria Settings)”定义了评价函数的计算目标。下拉对话框中显示的可用标准基于指定的探测器。边界条件可以通过“边界”下拉菜单选择,然后在文本框中可以定义评价目标(不管是阈值还是确切目标)。此外“最小光通量 (Minimum Flux)”也应当设置,这对于避免优化时出现没有光线入射到探测器的方案是十分必要的。如果在探测器上没有光线的情况下仍有机会达到最小光通量目标,那么这个值应该设置为非零值,不然优化向导在生成评价函数时将忽略这个评价标准。

优化向导支持点击应用 (Apply) 按钮创建动态评价函数。按下后,OpticStudio会基于当前定义的设置添加操作数,但对话框仍然保持打开状态,等待添加其他条件。点击应用 (Apply) 后,“清除数据”和“光线追迹”部分默认是停用的。通常,这些设置只在评价函数的开始时定义一次。但是如果有需要,它们也可以被重新激活。此外,“起始行”值将被更新为当前评价函数末尾的行数,这样添加新操作数时将不会覆盖任何当前定义的操作数。如果只需要添加一次操作数,点击确认 (OK) 按钮后系统将在添加完必要的操作数后关闭对话框。

投影仪示例

为了演示该功能的工作方式,请打开以下文件:

“{Zemax}\Samples\Non-sequential\Miscellaneous\Digital_projector_flys_eye_homogenizer.zmx.”。顾名思义,该系统被设计用于数字投影仪,其中透镜阵列通过模拟多个光源而不是一个非均匀光源来均匀化光束。

该模型已经优化完成,但我们可以建立评价函数来研究在这种类型的系统中哪些评价标准更加重要。

对于任何投影系统来说,最重要的两个性能是光通量均匀性和效率。我们可以构建一个以这两种性能为目标的评价函数。打开评价函数编辑器并打开优化向导。如前文所述操作,“清除数据设置”和“清除探测器:”设置应该保持原样。在光线追迹设置下,勾选启用分裂光线 (Split Rays)使用偏振 (Use Polarization),和忽略错误 (Ignore Errors)。我们的目标是最终的像平面,所以从目标设置中选择探测器对象7。我们将“空间均匀度 (Spatial Uniformity)”定义为评价标准,边界条件为“等于”零。注意,这实际上是针对光通量分布的标准差设置,因此零这个值代表完全均匀。保留所有其他设置的默认值并点击应用 (Apply)。创建的对话框和设置的评价函数如下图所示:

必要的操作数已被添加到评价函数中。注意,对话框保持打开状态,“清除数据设置”和“光线追迹设置”现已被禁用。我们目标的任何其他性能都不需要再次定义这些操作数。此外,“起始行”值已被更新当前定义的操作数之后,所以此后添加的任何评价函数都将出现在当前存在的操作数之后。

如果我们想要达到 100% 的效率,我们可以使用最小光通量设置,但我们将设定一个更实际的限制。放映机的合理标准是至少 65% 的效率。并且,这个投影仪的光源是一盏 10,000 流明的灯,因此我们的目标是总流明超过 6500 流明。定义如下所示的设置,并单击确认

OpticStudio 在之前定义的评价函数之后为总光通量添加了额外的操作数。在确定了恰当的变量之后,系统就可以进行优化了。这个添加额外操作数的过程使评价函数的定义过程变得更为快速容易。

非序列 BMP 位图向导

非序列 BMP 位图向导是一个专门用于定位探测器上复杂的光通量和颜色分布的工具。窗口中的大多数设置,如下图所示,与前面讨论的评价功能工具相同,而这里的区别在于“目标设置 (Target Settings)”部分。

探测器对话框中只会显示矩形探测器和颜色探测器,因为它们是该功能支持的仅有探测器类型。输入文件可以是位于 “{Zemax}\IMAFiles”目录中的任何 BMP、JPG 或 PNG 文件。该输入图像定义了光通量和颜色的相对分布,但它没有定义绝对光通量。总光通量设置允许目标缩放以获得一定的总光通量,同时保留在图像中定义的相对分布。如果选择了颜色探测器,颜色目标设置将启用。

预览显示了在探测器上的目标分布中定义的设置具体看起来如何。如果图像分辨率与探测器分辨率不同,图像将被重新采样到探测器的大小。请注意,低分辨率探测器可能会出现混叠,也可能只在对话框中显示图像。在上面的对话框中,一个306 x 306的位图被向下采样到一个50 x 50的探测器。或者您可以选择重新取样探测器。通过激活“重采样探测器 (Resample Detector)”,探测器上的像素数将被改变以匹配位图中的像素数。

预览还显示是否选择了彩色目标,或者目标是否简单地聚焦于每个像素的光通量(灰度)。预览是一种快速而强大的功能,可以根据已定义的设置可视化所需的目标。

该工具还可以在不关闭对话框的情况下添加操作数。请注意,在使用位图向导时,通常会添加大量操作数。对于灰度目标,探测器上的每个像素都需要添加一个操作数。对于一个颜色目标,探测器上的每个像素也都要添加三个操作数。即使是中等大小的图像文件也需要一段时间才能将目标添加到评价函数中。一个306 x 306探测器需要93,636个用于灰度的操作数,280,908个用于颜色的操作数。建议使用可以准确地表示所需的光通量/颜色分布的最低分辨率图像。

当单击确认 (OK)应用 (Apply) 时,OpticStudio 将在窗口顶部给出一个进度指示器。如果进程花费的时间太长,可以按终止 (Terminate) 按钮结束进程。在这种情况下,OpticStudio 将删除进程终止前添加到评价函数的所有操作数。

彩色测试靶示例

为了简单地说明这个工具,让我们看一看如何为一个简单的方格颜色测试靶创建的评价函数。本示例中使用的图像 “ColorTestMeritFunction” 是为了演示该工具的功能而设计的,可在附件部分下载。如下图所示,使用彩色象限组成的图像作为测试靶。

当启用彩色测试靶时,OpticStudio 将为每个像素添加三个目标操作数。这些目标对应每个像素的 X 、 Y 和 Z 三刺激值。此外,添加一个总光通量操作数以确保绝对光通量是测试探测器面的。用这种方式定义目标似乎有些单调乏味,但是这种针对单个像素的方法非常有效。一旦光线被追迹,OpticStudio 可以非常快速地确定任何像素的颜色和强度。最耗时的优化部分是光线追迹,在此之后数据则容易计算。

通过 OpticStudio 优化向导,可以轻松定义复杂的评价函数。非序列优化向导工具允许用动态的方式定义常见的目标。非序列 BMP 位图向导自动建立任何图像文件中可描述的光通量和颜色分布操作数,将这项极其耗时的任务在几秒或几分钟内完成。所有上述功能都与  OpticStudio  中的强大优化工具和算法协同工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/400039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TencentOS tiny 移植到STM32F103教程

一、移植前的准备工作1. STM32的裸机工程模板这个可以自己创建(创建过程参考之前的STM32裸机工程也有工程网盘在上面)2.下载TencentOS tiny 源码TencentOS tiny的源码可从TencentOS tiny GitHub仓库地址https://github.com/Tencent/TencentOS-tiny下载&a…

无人机动力测试台:150kg级-Flight Stand 150

“飞行汽车”被人们广泛视为下一代交通工具。从2022年初至今,eVTOL(电动垂直起降飞行器)产业乃至整个UAM(城市间空中交通)市场呈现爆发式增长——各国航空制造企业纷纷入局,不断有新产品问世、试飞或试运行…

吐血整理,web自动化测试,POM模式搭建自动化测试框架(超级详细)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 POM设计模式 主要是…

IO多路复用(select、poll、epoll网络编程)

目录一、高级IO相关1.1 同步通信和异步通信1.2 阻塞与非阻塞1.3 fcntl 函数二、五种IO模型2.1 阻塞式IO模型2.2 非阻塞式IO模型2.3 多路复用IO模型2.4 信号驱动式IO模型2.5 异步IO模型三、认识IO多路复用四、select4.1 认识select函数4.2 select函数原型4.3 select网络编程4.4 …

脂肪毒性的新兴调节剂——肠道微生物组

谷禾健康 肠道微生物组与脂质代谢:超越关联 脂质在细胞信号转导中起着至关重要的作用,有助于细胞膜的结构完整性,并调节能量代谢。 肠道微生物组通过从头生物合成和对宿主和膳食底物的修饰产生了大量的小分子。 最近的研究表明,由…

[计算机操作系统(第四版 汤小丹 汤子瀛)]第一章 操作系统引论(学习复习笔记)

操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。操作系统的主要作用: 管理硬件设备,提高他们的利用率和系统吞吐量 利用率:使硬件充分忙碌系统吞吐量…

MQTT协议-心跳请求和心跳响应

MQTT协议-心跳请求和心跳响应 心跳请求是客户端发送给服务器的,心跳响应是服务器回应给客户端的 作用是保持客户端与服务器之间的连接 CONNECT报文的可变报头是由协议名(Procotol Name)协议级别(Procotol Level)连接…

冰刃杀毒工具使用实验(29)

实验目的 (1)学习冰刃的基本功能; (2)掌握冰刃的基本使用方法;预备知识 windows操作系统的基本知识,例如:进程、网络、服务和文件等的了解。 冰刃是一款广受好评的ARK工…

MYSQL 中 ROW_NUMBER 的实现

由于mysql没有 row_number函数实现,然后我们后台表里没给可以排序的字段,考虑用mysql实现一个row_number, 由于想使用视图进行实时展示,但是row_number在视图中不生效,所有我们最后还是找了后台程序伙伴沟通加了排序字段。 row_nu…

MySQL的图形化界面开发工具DataGrip的下载安装

在日常的开发中,会借助于MySQL的图形化界面,来简化开发,提高开发效率。目前mysql主流的图形化界面工具,有Navicat、SQLyog、DataGrip等,最后一种DataGrip,这种图形化界面工具,功能更加强大&…

Android Framework-管理Activity和组件运行状态的系统进程—— ActivityManagerService(AMS)

ActivityManagerService(AMS)是Android提供的一个用于管理Activity(和其他组件)运行状态的系统进程 AMS功能概述 和WMS一样,AMS也是寄存于systemServer中的。它会在系统启动时,创建一个线程来循环处理客户…

uni-app中使用vue3语法详解

全局创建 app.use(createPina()).mount 全局方法 通过app.config.globalProperties.xxx可以创建 这里我们写了一个字符串翻转的全局方法 main.js里面添加一个全局方法 不要忘了加$ 否则会报错 // #ifdef VUE3 //导入创建app import { createSSRApp } from vue //导入创建ap…

数据结构刷题(二十一):131分割回文串、78子集

1.分割回文串题目链接思路:回溯算法的组合方法(分割问题类似组合问题)。流程图:红色竖杠就是startIndex。 for循环是横向走,递归是纵向走。回溯三部曲:递归函数参数:字符串s和startIndex&#…

Vue(10-20)

1Vue赋值方式 Object.defineProperty <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" conten…

如何从Outlook向Teams共享电子邮件

从 Outlook 或 web 上的 Outlook,你可以将电子邮件共享到Teams中的聊天和频道。 注意: 你必须具有“共享到Teams”的Outlook”加载项。它为Teams用户自动安装。此外,移动设备当前不支持该功能。外接程序当前不支持共享邮箱。如果你安装了Teams桌面客户端,并且使用的是Outl…

精、稳、敏、融,步入人民金融时代 | 易观银行业数字化转型年度趋势报告

易观分析&#xff1a;2022年&#xff0c;在深化金融供给侧结构性改革和高质量增长要求的指引下&#xff0c;赋能实体、公平普惠、审慎经营成为银行业转型发展的关键词。一方面面临内外部复杂的经济环境和不确定性风险&#xff0c;银行主打稳健策略&#xff0c;数字化转型仍在持…

软件测试用例篇(5)

测试是否运行代码去划分&#xff1f; 1)静态测试: 不运行代码&#xff0c;检查代码的风格&#xff0c;格式是否符合公司的标准规范&#xff0c;检查代码的逻辑结构是否满足需求要实现的功能 看代码&#xff0c;不运行代码&#xff0c;通过静态分析代码的语法&#xff0c;编写规…

谷歌Google Pixel6Pro/7pro手机刷入ROOT权限-开通Volte+破解5G网络高速刷机教程

谷歌pixel6和pixel7系列&#xff0c;出厂并不带volte功能&#xff0c;也不支持完美的5G效果&#xff0c;对于我们这种身处大陆&#xff0c;又想体验高清通话的小伙伴来说&#xff0c;并不友好&#xff0c;所以第三方破解实现就显得非常重要了。通过实际测试&#xff0c;两款机型…

Java 文件上传 MultipartFile RequestPart 方式上传 HttpClient

Java springboot/springCloud项目&#xff0c;后端接口是用RequestPart 注解MultipartFile类型和实体类型的参数&#xff0c;目的是同时提交文件和表单参数。前端调用方式&#xff1a;需要使用表单&#xff08;form-data&#xff09;方式进行提交&#xff0c;content-type设置为…

Hive排序,窗口函数

数据排序1&#xff0c;全局排序&#xff08;order by&#xff09;&#xff1a;类似于标准SQL&#xff0c;只使用一个Reducer执行全局数据排序&#xff1b;速度慢,应提前做好数据过滤 &#xff1b;支持使用case when或表达式&#xff1b;支持按位置编号排序desc升序&#xff0c;…