ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数

本文介绍了如何通过使用 ZPLM 优化操作数在 评价 函数编辑器  ( Merit Function Editor  )中使用 ZPL 宏定义复杂的优化目标。本文介绍了如何使用 ZPLM 约束系统的质心,以确保其能正确地平衡。 (联系我们获取文章附件)

简介

OpticStudio 中有将近400个操作数,几乎可以将任何感兴趣的值作为目标,包括SINE,PROD,SQRT 等数学操作数,可以定义详尽的评价函数。有时所需的值需要进行复杂的计算,但是无法在评价函数编辑器中执行。在这种情况下,可以使用优化操作数 ZPLM 执行宏来确定操作数的值。运行宏,并使用 OPTRETURN 关键字将值返回给评价函数。

ZPLM 操作数

ZPLM  操作数包含六个参数: Mac#, Data, Hx, Hy, Px, Py

  • Mac# 是 OpticStudio 应该执行的宏的编号。应将与 ZPLM 操作数一起使用的宏另存为 ZPLnn.zpl,其中,00 ≤ nn ≤ 99。
    • 例如,ZPLM 调用宏 ZPL03.zpl 时,Mac# 应该为3。
  • Data 是由宏计算出来的数据值。单个宏中最多可以计算51个数据值 (0 ≤ Data ≤ 50)。为了提高效率,仅当 Data = 0 时才执行宏;否则,将使用来自先前宏调用的数据(即 Data = 0,至少需要调用一次)。
  • Hx, Hy, Px, 和 Py 是可以传递给宏以用于计算的值,它们不一定必须是归一化的视场/光瞳坐标:

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图1

下面的示例将说明与 ZPLM 优化操作数一起使用的宏的定义。

ZPLM 示例:质心约束

在某些光学系统(瞄准镜,双筒望远镜,安装在三脚架上的照相机等)中,质心是要考虑的重要的机械因素。假设我们正在设计瞄准镜,其中一个约束条件是使系统平衡。这意味着,质心(CM)应该位于前组元件和后组元件之间的中间位置。
加载示例文件:<Documents>\Zemax\Samples\Sequential\Afocal\Afocal Riflescope.zmx

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图2

出于本示例的目的,将做出一些简化示例的假设:

  • 所有透镜均旋转对称

  • 所有材料为均匀介质

  • 每个透镜的质心都位于顶点的中间(严格来说,这仅适用于曲率相等且符号相反的透镜)

  • 表面1是全局坐标参考(GCRS)


要限制质心的位置需要有以下参数:

  • 每个元件的全局位置
  • 每个元件的质量
  • 系统总长(前透镜至后透镜)

因此,将使用以下 ZPL 函数和关键字:

  • GLCZ() 函数返回表面的全局 z 坐标
  • OPEV() 函数使用 TMAS 优化操作数提取元件的质量
  • GETSYSTEMDATA 关键字返回总光路长度(表面1到像面)
  • OPTRETURN 关键字将数据返回到宏

ZPLM 宏代码

文章附件中“质心”宏,如下所示:(联系我们获取文章附件)

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图3

将宏另存为:ZPL01.ZPL,以便可以使用 Mac#= 1调用它。

评价函数中的 ZPLM

在评价函数中,添加 Mac#= 1,Data= 0 的 ZPLM 操作数,这将运行宏并返回系统的质心。
ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图4
此处仅返回一个值,要返回其他值,只需在宏中添加额外的  OPTRETURN 行:
OPTRETURN data_number, value
在此示例中,不进行优化,但是,操作过程与其他操作数相同(即设置所需的目标值和非零权重)。请注意,宏返回的值的单位可以是任意的,因此需要考虑ZPLM操作数的权重,以准确地表达此目标值相对于评价函数中列出的其他目标值的重要性。特别是,此宏需要非常小的权重才能使ZPLM与其他针对系统性能的操作数保持平衡。
如前所述,ZPLM 可以使用最多四个值(Hx,Hy,Px,Py)将数据传递到宏。可以使用  PVHX(), PVHY(), PVPX(), PVPY() 数值函数在宏中访问传递的值。在此示例中,可以将镜筒质心的位置和质量传递给宏,以说明镜筒和透镜组合的质心。
  • Hx = 镜筒质心到系统中心的距离

  • Hy = 镜筒质量



按照下图修改宏,并将修改后的宏另存为ZPL02.zpl。

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图5

在评价函数中,将 Mac#设置为2,输入镜筒质心位置(Hx)和质量(Hy)的值,并注意报告的数据值的变化:

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图6

切记:仅当 Data = 0 时才执行宏,以提高评价函数的评估速度。

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图7· 扫码关注我们 ·

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图8


如果您对产品感兴趣,或需要技术支持,欢迎致电垂询!

电话:027-87878386

邮箱:market@ueotek.com 



近期活动

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图9

免费领取视频 | 在 OpticStudio 中模拟全息

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图10

【限时抢购】Zemax 价格上调通知!

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图11

惊喜特惠 | Zemax 永久授权以旧换新!


宇熠精选

关注武汉宇熠视频号 查看更多精彩视频 



推荐阅读

· ZEMAX | 如何使用米氏散射模型模拟环境中的散射现象

· ZEMAX | 如何使用 ISO 元件制图工具

· ZEMAX | 如何使用快速调整工具和滑块

· ZEMAX | 如何使用光学制造全息图修正像差

· ZEMAX | 将二进制文件光源转换为 ASCII

· ZEMAX | 多模光纤耦合

· ZEMAX | 如何共享 OpticStudio 文件

· ZEMAX | 使用 Project Directory 组织 OpticStudio文件

· ZEMAX | 内窥镜物镜系统初始结构的优化提升Ⅰ

· ZEMAX 内窥镜物镜系统初始结构的优化提升Ⅱ

· ZEMAX | 如何使用 ZPL 创建用户自定义求解



武汉宇熠科技是 ZEMAX 中国区官方指定代理商,提供 ZEMAX 光学设计软件的培训、销售、技术支持、二次开发、解决方案及 ZEMAX 软件相关全方位定制服务。有关 ZEMAX ,您可以点击文末“阅读原文”了解更多信息,或致电垂询武汉宇熠工作人员:

销售热线:027-87878386

咨询邮箱:sales@ueotek.com




技术交流

光机解决方案

电话:027-87878386

邮箱:sales@ueotek.com

网址:www.ueotek.com

长按识别二维码关注

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图12

新闻咨询

Zemax 中国区代理

Solidworks 增值经销商

MCGrating 光栅设计软件

OOFELIE::Multiphysics 多物理场仿真分析软件

Optiwave 光通信设计软件

nPower 软件

ASLD 高级固体激光器设计及仿真软件

武汉宇熠科技有限公司

ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图13
ZEMAX | 使用 ZPL 宏进行优化:ZPLM 操作数的图14
点个“在看”每天收到最新资讯


👇点击阅读原文咨询产品或技术支持。

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注