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,这意味着随机模式已关闭。

图片

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

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

相关文章

Python喜马拉雅免费音频数据爬取部署

1. 代码下载 github代码 https://github.com/toilaj/xmly-downloader/tree/main 只能下载免费音频,vip不能下载。 2. 环境部署 下载miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh或者链接下载, 寻找linux版…

【Leetcode】top 100 技巧

136 只出现一次的数字 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 技巧&#xff1a…

【Redis】解决List类型的消息可靠性问题

前言 平时做后端开发时,如果需要用到消息队列功能,但公司的IT环境又没有提供专业的队列软件(RabitMQ/Kafka…),那么在简单场景下,可以使用 Redis 的List数据类型来做消息队列。 但List类型有一个挺致命的…

LeetCode 96. 不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出:1提…

34-1 SSRF漏洞 - SSRF服务端请求伪造

一、SSRF漏洞定义: SSRF(Server-side Request Forge)服务器端请求伪造是一种安全漏洞,由于服务端提供了从其他服务器应用获取数据的功能,但没有对地址和协议等进行充分的过滤和限制。攻击者可以利用存在漏洞的Web应用作为代理,从而攻击远程和本地的服务器。由于它是由服务…

有大批量的数据导入到数据库,规则是数据库有相应主键的就update没有就insert怎么做效率快

理此类具有条件的 “upsert”(更新或插入)操作时,您想要最小化对数据库的访问次数并使用高效的SQL逻辑。以下是几个数据库平台通常使用的方法: MySQL: 在 MySQL 中,可以使用 INSERT ... ON DUPLICATE KEY UPDATE 语句…

代码随想录算法训练营第二十二天| 235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

系列文章目录 目录 系列文章目录235. 二叉搜索树的最近公共祖先①递归法自己写的简洁版 ②迭代法不能这样写!正确写法 701.二叉搜索树中的插入操作①递归法②迭代法 450.删除二叉搜索树中的节点递归法 235. 二叉搜索树的最近公共祖先 ①递归法 自己写的 class So…

书生·浦语大模型InternLM-Chat-1.8B 智能对话 Demo 第二期

文章目录 InternLM-Chat-1.8B 智能对话 Demo环境准备下载模型运行 InternLM-Chat-1.8B web 运行八戒 demo下载模型执行Demo InternLM-Chat-1.8B 智能对话 Demo 环境准备 在InternStudio平台中选择 10% A100(1/4) 的配置(平台资源有限),如下图…

【c语言】自定义类型:联合体(公用体)【详解】

联合体 联合体类型的声明 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体也叫:共用体。 给联合体其中⼀个成…

Lua 通过元方法简单实现属性Get/Set访问

通过元方法__index、__newindex、rawset,我们可以实现属性的Get/Set访问,类似于C#: public string name; public string Name {get > name;set > name value; }方法一:将属性数据存在元表中 local meta { name "m…

一点点金融 3

一点点金融 3 经验总结如何调整心态 长期交易系统设计逻辑:解决万倍股拿不住,归零股死扛的问题止损点设计:避免爆仓的三部曲(重仓、逆势、死扛)择时点设计:你要赚的不是蝇头小利,而是一整个大波…

2024阿里云域名优惠口令免费领取,COM、CN和xin域名口令

2024年阿里云域名优惠口令,com域名续费优惠口令“com批量注册更享优惠”,cn域名续费优惠口令“cn注册多个价格更优”,cn域名注册优惠口令“互联网上的中国标识”,阿里云优惠口令是域名专属的优惠码,可用于域名注册、续…

【QT入门】 自定义标题栏界面qss美化+按钮功能实现

往期回顾: 【QT入门】 鼠标按下和移动事件实现无边框窗口拖动-CSDN博客【QT入门】 设计实现无边框窗口拉伸的公用类-CSDN博客【QT入门】对无边框窗口自定义标题栏并实现拖动和拉伸效果-CSDN博客 【QT入门】 自定义标题栏界面qss美化按钮功能实现 一、最终效果 二、…

初识人工智能---------自然语言处理词袋模型

1.自然语言处理(NLP) 自然语言处理(Natural Language Processing,简称NLP)研究的是如何通过机器学习等技术,让计算机学会处理自然(人类)语言,以完成有意义的任务。 下面…

数据库调优----分库分表

目录 分库分表 分表 分库 分库分表缺点 分库分表 先考虑读写分离,读写分离不行的话再分库分表 读写分离:将数据库的写操作和读操作进行分离, 使用多个从库副本(Slaver)负责读,使用主库(Maste…

【JAVASE】学习类与对象的创建和实例化

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 目标: 1. 掌握类的定义方式以及对象的实例化 2. …

MVCC的实现原理

简介 MVCC(Multi-Version Concurrency Control)即多版本并发控制。 MVCC的实现原理 我们在了解MVCC之前,首先先了解一下几个比较常见的锁。 **读锁:**也叫共享锁、S锁,若事务T对数据对象A加上S锁,则事务…

一维卷积神经网络的特征可视化

随着以深度学习为代表的人工智能技术的不断发展,许多具有重要意义的深度学习模型和算法被开发出来,应用于计算机视觉、自然语言处理、语音处理、生物医疗、金融应用等众多行业领域。深度学习先进的数据挖掘、训练和分析能力来源于深度神经网络的海量模型…

使用OpenCV4.9的随机生成器和文本

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV 4.9基本绘图 下一篇:OpenCV系列文章目录(持续更新中......) 目标 在本教程中,您将学习如何: 使用随机数生…

软件架构风格_2.调用/返回体系结构风格

调用/返回风格是指在系统中采用了调用与返回机制。利用调用-返回实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为若干子系统,以便降低复杂度,并且增加可修改性。程序从其执行起点开始执行该构件的代码,程序执行…