Ansys Zemax | 如何将光栅数据从Lumerical导入至OpticStudio(上)

图片

附件下载

联系工作人员获取附件

本文介绍了一种使用Ansys Zemax OpticStudio和Lumerical RCWA在整个光学系统中精确仿真1D/2D光栅的静态工作流程。将首先简要介绍方法。然后解释有关如何建立系统的详细信息。

本篇内容将分为上下两部分,上部将首先简要介绍方法工作流,下部将详细阐述示例部分。

介绍

在此工作流程中,设计人员首先在Lumerical FDTD或RCWA中模拟光栅,然后将数据导出到扩展名为json的文件。在OpticStudio中,用户可以导入这些数据,以精确模拟在整个宏观系统中的光栅特性。

许可证要求

此静态链接工作流需要从Lumerical生成数据并导入到OpticStudio中。这两个软件单独工作,不需要在同一台电脑上。要从Lumerical生成所需的数据,用户需要Lumerical FDTD许可证。要将数据读入OpticStudio,用户需要Ansys Zemax OpticStudio的专业版、旗舰版或企业版许可证。请注意,此功能不支持旧版的OpticStudio。

静态与动态工作流

值得一提的是,有两个现有的工作流程可以在Lumerical和OpticStudio之间交换数据。一个是我们将在本文中介绍的静态工作流。另一个是以不同方式工作的动态工作流。这两种工作流程具有不同的灵活性,不存在一个优于另一个。用户应根据其设计案例考虑使用哪一种。

图片

从Lumerical生成光栅数据

在此工作流程中,我们使用扩展文件名为json的文件将光栅仿真结果从Lumerical传递到OpticStudio。json文件可以由组件供应商提供,也可以由使用OpticStudio的同一用户生成。

本文将不介绍在Lumerical中模拟和导出json文件的操作,需要了解请联系工作人员或者查阅帮助手册。(推荐阅读技术文章:Lumerical 亚波长模型:介绍和数据生成)

在Ansys Zemax OpticStudio中建立光栅

在OpticStudio中,要建立光栅,建议使用以下3个物体之一:Diffraction Grating、User Defined Object (DiffractionGrating.DLL)和User Defined Object (Polygon_grating.DLL)。默认安装文件夹中不提供 Polygon_grating.DLL文件,但可以通过联系我们的工作人员获取

请注意,光栅建在这些建议物体的表面1处。

图片

添加上述3个物体之一后,我们使用物体属性...衍射选项卡来定义DLL插件 “lumerical-sub-wavelength-XXXXXX.dll”,其中 XXXXXX 是版本,例如“2023R1”。此DLL将光栅数据(.json)读入 OpticStudio。请注意,光栅数据(.json)应保存在\Document\Zemax\DLL\Diffractive\文件夹中。

下一节将介绍此DLL的参数。

图片

Ansys Zemax OpticStudio中的参数

随机模式

如果将其设置为非零,则光线在击中表面时不会分裂。相反,光线将被随机衍射到一个级次,如下所示。这对于一条光线多次照射衍射表面并分成太多段的情况非常有用。

测试模式

通常不使用此参数。用户应将其保持为零,除非需要下面描述的一些特殊用途。

  • 当测试模式为0时,DLL在正常模式下工作。

  • 当我们需要一些功能时,在此值之上增加一个值。

    - +1表示DLL将导出日志文件到\Document\Zemax\DLL\Diffractive\lumerical-sub-wavelength.log

    - +8表示DLL将在CMOS模式下工作。在此模式下,DLL认为除T(0,0)之外的所有透射级次的衍射功率为0。T(0,0)的衍射功率由1-R计算,其中R是所有反射级次的衍射功率之和。这是专门为CMOS衍射设计的模式。对于CMOS传感器,光永远不会“透射”,而是被硅层吸收,进一步转换为电能。我们需要重新计算“非反射”功率来近似吸收功率并将它们归于T(0,0)阶。有关仿真CMOS的更多详细信息将在另一篇文章中讨论。

例如,如果我们将测试模式参数设置为1+8=9,则意味着需要它在CMOS模式下工作并导出日志文件。

提示和注意事项

随机模式和起始/终止X/Y级次

开启随机模式后,建议用户设置X Start = X Stop = Y Start = Y Stop = 0。这与 Diffraction DLL插件在OpticStudio中的工作方式有关。OpticStudio始终调用从(X Start,Y Start)到(X Stop,Y Stop)所有级次的DLL。但是,当随机模式打开时,DLL仅使用 (X Start,Y Start),对其他级次的所有调用都是多余的,并且会大大降低仿真速度。

另一方面,如果用户想使用X/Y起始/终止级次,随机模式需要为0,这意味着随机模式已关闭。

图片

相关推荐

  1. 使用apoc数据数据库导入neo4j

    2024-04-03 18:26:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 18:26:03       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 18:26:03       5 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 18:26:03       4 阅读
  4. Python语言-面向对象

    2024-04-03 18:26:03       6 阅读

热门阅读

  1. 学习总结!

    2024-04-03 18:26:03       21 阅读
  2. Vue3中props和emits的使用总结

    2024-04-03 18:26:03       23 阅读
  3. IO和NIO的主要区别在哪里?

    2024-04-03 18:26:03       20 阅读
  4. CSS 滚动条样式修改

    2024-04-03 18:26:03       24 阅读
  5. codeforces round 936 div2(a,b,c)

    2024-04-03 18:26:03       25 阅读
  6. Python程序设计 魔法函数

    2024-04-03 18:26:03       19 阅读
  7. ACI Fabric

    2024-04-03 18:26:03       19 阅读
  8. wencoo个人的博客目录索引-更新

    2024-04-03 18:26:03       44 阅读
  9. Oracle extent、segment、datafile、tablespace及存储关系

    2024-04-03 18:26:03       23 阅读
  10. Oracle密码文件

    2024-04-03 18:26:03       22 阅读
  11. SpringMVC 中实现自定义转换

    2024-04-03 18:26:03       23 阅读
  12. 开源的分布式文件系统 Fastdfs 安装入门介绍

    2024-04-03 18:26:03       24 阅读
  13. 在stable diffusion中如何分辨lora、大模型、controlnet

    2024-04-03 18:26:03       21 阅读