Ansys Lumerical | 用于增强现实系统的表面浮雕光栅

在本示例中,我们使用 RCWA 求解器设计了一个斜面浮雕光栅 (SRG),它将用于将光线耦合到单色增强现实 (AR) 系统的波导中。光栅的几何形状经过优化,可将正常入射光导入-1 光栅阶次。
然后我们将光栅特性导出为 Lumerical Sub-Wavelength Model (LSWM) JSON 格式,以便在 Speos 的系统级仿真中对 SRG 进行建模(请参阅 "Augmented Reality Optical System”).

图片

概述

图片

SRG 几何图形根据其倾斜角度、填充因子和高度进行参数化,如下所示:

图片

光栅和基板的折射率为1.8。光栅被空气包围。周期固定在 393 nm。
将对光栅进行优化,以将波长为 550 nm 的光传输到 -1 光栅阶次。RCWA 求解器用于SRG的优化和完整的特性描述,具体包含定义仿真参数和运行仿真这两个步骤。

第 1 步:耦合光栅的优化

使用内置的粒子群优化(PSO)实用程序,优化SRG的倾斜角、填充因子和光栅高度,以最大限度地提高在法向入射时 550 nm波长下S偏振的透射率。

第 2 步:完整特性描述和数据导出

光栅优化是使用来自光栅上方的正常入射光进行的。但是,一旦选择了优化的几何结构,就必须针对光线追踪仿真中预期的入射角范围以及前进和后退方向计算完整的光栅特性。然后将结果导出到一个 JSON 文件,该文件可以使用脚本在 Speos 或 Zemax 中使用。

运行和结果

第 1 步:优化 SRG 几何结构

  1. 打开并运行模拟文件 ar_srg.fsp 

  2. 右键单击“grating_orders”结果,然后选择“ 新建可视化工具 >可视化 ”。

  3. 单击并拖动绘图以放大“Ts_grating”结果(绿线)。

图片

这些结果表明,初始设计将大约56%的正常入射S偏振光引导到-1光栅阶次。现在,我们将使用优化实用程序优化 光栅几何结构以增加此值。

  1. 在“优化和扫描”窗口中运行优化对象“optimization”。

  2. 优化完成后,通过右键单击“优化”对象并选择“应用最佳解决方案”来应用最佳 几何图形。

“优化”对象将优化 SRG 的倾斜角度、填充因子和光栅高度,这些被定义为“slanted_grating” 结构组 的参数。传输到 S 偏振的 -1 光栅阶次中的功率用作品质因数 (FOM),如“优化”对象的 FOM 脚本中定义。结果如下所示:

图片

在优化几何结构下,-1光栅阶数的衍射效率约为94.7%。

请注意,这种类型的光栅可以具有此FOM的多个局部最大值[1]。虽然内置的PSO工具是一种方便的快速优化方法,但可以使用更高级的优化方法来充分探索参数空间。有关详细信息,请参阅进一步使用模型部分。

第 2 步:完整特性描述和数据导出

  • 传播方向 :两者

  • 入射角 :范围

  • 最小θ :0

  • 最大θ :85

  • θ点 :18

  • 最小 phi :0

  • 最大 phi :360

  • PHI点 数 :37

  1. 在同一模拟文件中,为“RCWA”对象设置以下属性:

  2. 通过单击工具栏中的“运行”按钮来运行 RCWA 模拟。

  3. 运行脚本 LSWM_JSON_export.lsf 。

在此步骤中,针对前向和后向的指定入射角范围计算优化 SRG的S参数。然后将这些结果导出为适合使用脚本文件导入Speos或Zemax的LSWM JSON格式。

使用参数更新模型

光栅几何形状

SRG 几何体被定义为结构组 ,这使得创建用户指定的几何体参数(如倾斜角度和填充因子)变得更加容易。用户可以通过更改结构组的设置脚本来修改此 SRG 几何形状,例如在光栅上添加欠蚀刻或过度蚀刻。或者,可以通过添加新的结构组并编写自定义安装脚本来创建不同的光栅几何体。

优化参数

优化变化的参数及其边界在优化扫描对象中定义。这些可以通过右键单击“优化”对象并选择“编辑”来更改。仿真对象的几乎任何属性都可以用作优化参数,但通常使用用户在结构组或分析组中创建的几何参数。

进一步发展模型

自定义优化品质因数

在本例中,SRG针对单一波长和入射角进行了优化。但是,也可以使用包含一系列波长或入射角的FOM,例如在整个视场上进行优化。

为此,请指定要包含在 RCWA 求解器对象的 FOM 中的波长和入射角。RCWA 求解器的结果将作为数据集返回,其中波长/频率、θ 和 phi 作为参数。然后,可以在优化扫描对象的 FOM 脚本中处理结果,以计算包含完整范围的 FOM。请注意,FOM 最终必须是优化实用程序的单个实数。

替代优化技术

内置的优化实用程序使用粒子群优化方法,用于该光栅的优化。 但是,可以通过Ansys optiSLang使用更高级的优化技术,也可以通过Lumerical Python API使用Python 库。用户还可以通过脚本使用内置实用程序定义不同的优化方法。参数空间的初始探索也可以使用参数扫描工具执行。

相关出版物

  1. Jonathan S. Maikisch 和 Thomas K. Gaylord,“最佳平行面倾斜表面浮雕光栅”,Appl. Opt. 46, 3674-3681 (2007)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Xshell+Xftp通过代理的方式访问局域网内网服务器

最近在部署项目时遇到只有1台服务器拥有公网ip,其它服务器只有局域网ip,当然其它服务器可以正常访问网络,例如如下模型。之前访问其它几台服务器,都是先通过登录公网IP服务器,然后在Xshell里面执行ssh远程连接&#xf…

Android Matrix的使用详解(通过矩阵获取到图片缩放比例和角度)

网上查了好久相关的资料,都没有明确的答案。最终通过多次测试结果,结合安卓定义的矩阵含义,推算出来矩阵的数学含义以及相关的计算公式 1.获取Matrix矩阵: Matrix matrix new Matrix(); float[] matrixValues new float[9]; …

ArkUI实战,深入浅出OpenHarmony应用开发

前言 | 《ArkUI实战》《ArkUI实战》深入浅出的介绍了OpenHarmony开发框架ArkUI组件的使用和应用开发流程,是OpenHarmony应用开发的必备电子书。https://www.arkui.club/ OpenHarmony开发资料归档__南先森-Laval社区OpenHarmony入门看这里 _南先森 Laval社区https:/…

uniapp+vite+vue3开发跨平台app,运行到安卓模拟器调试方法

因为没有使用hbuilder开发uniapp,而是使用了vscode和vite来开发的,所以怎么将这个程序运行到安卓模拟器调试开发呢?其实方法很简单,使用android studio创建一个模拟器或者其他mumu模拟器,然后将项目使用hbuilder打开&a…

IOS上架流程

准备 开发者账号完工的项目 上架步骤 一、创建App ID二、创建证书请求文件 (CSR文件)三、创建发布证书 (CER)四、创建Provisioning Profiles配置文件 (PP文件)五、在App Store创建应用六、打包上架 一、…

STM32中独立看门狗和窗口看门狗的使用方法

独立看门狗(Independent Watchdog,IWDG)和窗口看门狗(Window Watchdog,WWDG)是STM32微控制器中提供的两种看门狗定时器。看门狗定时器是一种硬件计时器,用于监视系统的运行状态,并在…

ORACLE数据库实验总集 实验一 Oracle数据库安装与配置

一、实验目的 (1)掌握 Oracle数据库服务器的安装与配置 (2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握 Oracle数据库服务器安装过程中出现的问题的解决方法。 二、实验…

Java继承和多态(2)

🐵本篇文章将对多态的相关知识进行讲解 一、向上转型 向上转型是实现多态的条件之一;向上转型是让子类对象转换为父类对象或者是让父类的引用指向子类对象,直观的表现形式就是将子类的对象赋值给父类对象的引用;下面讲解向上转型…

gdb详解【Linux知识贩卖机】

你背朝太阳,就只能看到自己的影子。 --纪伯伦语录 文章目录 简介准备常用命令查看代码(list)运行(run)打断点(break)逐语句(step)逐过程(next)完成…

电源管理芯片知识分享:电源芯片的特点及故障检测方法

电源管理芯片用于对电源的控制和管理,提高设备的性能,被广泛应用于智能家居、电子商务、能源管理、汽车等领域,是现代电子设备不可缺少的部分。因此,对于电源管理芯片的检测也是十分重要的,发现其故障并及时解决&#…

MySQL8.0学习笔记

1. CMD命令 1.1 数据库启动与停止 (1) 启动数据库:net start mysql80 (2) 停止数据库:net stop mysql80 1.2 数据库连接与退出 (1) 连接数据库:mysql [-hlocalhost -P3306] -uroot -p[123456] // 本地数据库可省略-h -P (2) 退出数据库…

2023年亚太杯数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

Leetcode刷题详解——太平洋大西洋水流问题

1. 题目链接:417. 太平洋大西洋水流问题 2. 题目描述: 有一个 m n 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界。 这个岛被分割成一个由若干方形单元格…

B : 赫夫曼编码长度

Description 每行一个大小写英文字母组成的字符串,长度不大于 1000,通过前缀编码后最短的编码长度。 Input 每组数据一行,大小写英文字母 Output 每组数据输出赫夫曼编码长度 Sample 思路: string res "";//用于…

市场火爆的AI实景自动直播是什么?一文带你了解清楚!

最近AI实景自动直播在各大短视频平台爆火出了新高度,在如今全民直播的时代,直播已经成为大多数商家商家必须要会的技能,包括全国头部品牌也在纷纷加码直播,甚至早早就开启了直播矩阵的玩法,中腰部商家也在考虑如何入手…

【3】Spring Boot 3 集成mybatis-plus+druid+mysql

目录 【3】Spring Boot 3 集成组件:Druid Mybatis Plus Mysql集成方案1. Hikari jdbc mysql 集成方案增加依赖添加配置Spring Testng 测试用例 2. Druid Mybatis Plus Mysql集成方案2.1 配置Druid添加依赖配置启动Spring Boot Web StarterSpring Testng测试用…

Linux开发工具03:使用GCC、make和CMake编译代码

写在前面 这里主要记录一下如何使用GCC、make和CMake编译代码; 一、GCC g是GCC下专门用于编译C项目的编译器; 假设目录结构如下: include:包含分离的.h和.cpp文件;src:包含主函数入口main.cpp&#xff1…

双点重发布+路由策略实验

一、双点重发布实验 1、实验拓扑图 2、各路由器IP地址、环回地址配置 R1 R2 R3 R4 3、启动RIP和OSPF 4、双向重发布 5、查看路由信息 6、更改网络类型 6、抓取流量 二、路由策略实验 1、实验拓扑图 2、各路由器IP地址的配置 3、启动RIP和OSPF 3、重发布 4、抓取流量 5、创建…

电脑屏幕标记软件——Pointofix

前言 Pointofix是一款由德国人开发的屏幕标记软件,德国人的工匠精神,是出了名的,德国人开发的软件也一样。 Pointofix体积非常小巧,安装包只有1MB大小,使用Pointofix可以直接在屏幕上面写字、画图、标重点。 下面介…

为什么Springboot项目中有些写法继承了SpringBootServletInitializer类?Springboot的两种发布方式

文章目录 一、前言二、SpringBoot的两种发布方式2.1、内置容器运行2.2、外置容器(Tomcat)运行 三、扩展3.1、如何将 Spring Boot 项目打包成 war 包? 一、前言 在一次SpringBoot源码中看到了启动类中继承了SpringBootServletInitializer&…