Ansys Zemax | 如何模拟双折射偏振器件

news2024/9/20 9:26:34

这篇文章介绍了什么是双折射现象、如何在OpticStudio中模拟双折射 (birefringence)、如何模拟双晶体的双折射偏振器以及如何计算偏振器的消光比。(联系我们获取文章附件)

什么是双折射现象

一般的光学材料都是均匀的各向同性的,也就是说无论光从哪个方向穿过材料,其折射率都保持一致。对于单轴材料来说,例如方解石 (Calcite),其晶轴定义了材料的对称轴。这类材料对光线的偏折能力随入射光的偏振态及入射光与晶轴的夹角不同而不同。因此对于任意一束光,两个正交的偏振态下可能存在不同的折射角。这种现象称为光的双折射。

光线在双折射材料中的折射总是遵循斯涅耳定律 (Snell`s Law) 的,但是材料中的有效折射率与入射光的偏振态和入射方向与晶轴夹角相关。其中“寻常光 (Ordinary)”的折射角由下式定义:

其中no为寻常光的折射率,这是斯涅耳定律的一般形式。“非寻常光 (Extraordinary)”的折射角由下式定义:

该式同样遵循斯涅耳定律,但是此时的折射率是角度θw的函数,该角度表示晶轴向量a和折射光波矢k的夹角。

光线向量S指向能量传播方向。在普通材料中,光线向量S与波矢k为同一向量,此时我们使用k表示。但在双折射材料中,光线向量S与波矢k的方向存在较小的夹角,因此需要单独考虑。其中向量S和k与晶轴向量a共面且满足:

非寻常光的有效折射率由下式定义:

其中ne为非寻常折射率。

双折射输入面

准确的进行双折射光线的追迹要比追迹普通光线复杂的多:我们必须分别考虑寻常光和非寻常光的折射率和波矢方向。因此双折射光线追迹功能只在光线入射到双折射输入 (Birefringent-In) 表面时开始执行,在双折射输出 (Birefringent-Out) 表面结束。并且在双折射输入和双折射输出表面之间只允许存在坐标间断 (Coordinate Break) 表面。

在寻常光追迹中,光线向量S和波矢k的方向一致,因此OpticStudio使用寻常光的波矢k的分量来定义光线的方向余弦。

在非寻常光追迹中,k、S和晶轴向量a处于同一平面但不重合,因此使用S的分量定义光线的方向余弦。

以下为模拟一块方解石晶体双折射的示例,其中虚线表示晶轴:

入射光线入射到方解石晶体上并分裂为两个方向的光线。其中寻常光线产生正常的折射,由于入射表面为平面,因此光线没有发生偏折。非寻常光线则产生双折射,因此即便光线正入射平面也产生了偏折。

下图为OpticStudio中有关双折射晶体的设置:

光线在入射到双折射输入面之前都是按照正常情况进行光线追迹。双折射输入表面与标准表面一样(可定义为圆锥面),此时材料使用的是CALCITE,OpticStudio将使用该材料折射率进行寻常光光线追迹。OpticStudio将在相同的材料库中寻找材料名为CALCITE-E的材料,并使用该材料折射率进行非寻常光光线追迹。通过使用两种实际材料,追迹过程可以考虑材料的所有属性(透过率、色散和热膨胀属性等)。

晶轴方向与表面法向量的夹角在双折射输入表面中定义:

在双折射输入面的局部坐标系下直接输入晶轴的方向余弦。其中参数“显示轴线 (Draw Axis)”用来定义布局图中表示晶轴的虚线的长度(透镜单位)。如果您不想显示晶轴则设置该参数为零即可。

您可能会对布局图中的结果存在一些疑问:光线因双折射而分裂为寻常光和非寻常光两个分量,但是在序列模式下光线是无法产生分裂的(这意味着输入一条光线时输出也是一条光线)。实际上OpticStudio执行了两次光线追迹分别追迹两种情况,并使用模式参数 (Mode Flag) 来决定当前光线追迹的类型:

·如果模式参数为0,则将追迹寻常光线

·如果模式参数为1,则将追迹非寻常光线

上文中显示的布局图同时显示了多重结构下模式参数为0和模式参数为1的结构:

双折射偏振器件

模拟双折射偏振器件通常需要使用两块双折射材料,并且材料的晶轴方向存在一定夹角。例如洛匈偏振器 (Rochon polarizer) 使用两块双折射棱镜组成偏振器(本例为KDP晶体):

在这个偏振器中,两块KDP晶体材料的棱镜以晶轴夹角为90°组合在一起,如上图所示。第一块棱镜的晶轴(上图橙色虚线表示)的方向余弦为 (0, 0, 1),与局部Z轴重合。在第二块棱镜中,晶轴的方向余弦为 (0, 1, 0),与局部X轴重合。这些参数都是在双折射输入表面中输入的。您可以输入任意方向余弦来定义以表面顶点为起点的晶轴方向。

当光线穿过双折射材料时,材料的折射率在偏振态P和S下并不相同。(需要注意的是偏振态S和前文中的向量S不同。S向量为光线向量,表示光能量的传播方向。与该向量相联系的电场垂直于S,向量S实际上是偏振态S和P在该方向上的叠加。同样需要注意的是在双折射介质中,偏振态S和P方向的定义与其他计算如镀膜和菲涅尔表面效应计算中所指的偏振方向并不相同。)在双折射介质中,S和P表示与晶轴垂直或平行的方向,而不是参考于表面法向量。其中寻常光的折射率为垂直方向(S偏振态)的折射率,非寻常光的折射率为平行方向(P偏振态)的折射率。

如果模式参数为0,则系统追迹寻常光线(只包含S分量),P分量光的透过率为0。如果设置模式参数为1则系统追迹非寻常光线,S分量光的透过率为0。

这个方法可以正确设置每个模式的透过率,但如果想得到总透过率,则需要将每种模式的光组合叠加在一起。如果系统中包含2组双折射面,则共需要进行4次光线追迹;如果系统中有3组双折射面,则共需要进行8次光线追迹,以此类推。

对于该偏振器来说,我们需要设置4个结构以表示4次光线追迹:

对于每个结构来说:

结构1:追迹了晶体1中的寻常光和晶体2中的寻常光

结构2:追迹了晶体1中的寻常光和晶体2中的非寻常光

结构3:追迹了晶体1中的非寻常光和晶体2中的寻常光

结构4:追迹了晶体1中的非寻常光和晶体2中的非寻常光

之后我们需要将各个结构的场振幅 (field amplitudes) 叠加在一起,而不是强度叠加在一起。这一点非常关键,我们之后将详细讨论。

计算消光比

在本节使用的示例文件中我们可以看到,第二块晶体的非寻常折射率使光线在晶体与晶体的交界面发生了偏折。在第一块晶体中,光轴方向与局部Z轴一致,因此不同偏振态光线的折射率相同。需要注意的是,在双折射介质中S偏振所在的平面与晶轴垂直,P偏振所在平面与晶轴平行。因此当光线沿晶轴方向入射时,两偏振态的光无法区分。在第二块晶体中,晶轴方向与局部X轴重合,S偏振态仍然与晶轴方向垂直,P偏振态与晶轴平行。此时两种偏振态的光可以被区分开来,因此Y方向上的偏振光在晶体与晶体的交界面上会产生偏折。

在本例中,结构1和3(均追迹晶体2中的寻常光线)的光线不发生偏折,而结构2和4的光线发生双折射偏折。

假设我们需要计算偏振光的消光比。如果通过实验的方法进行测量,我们需要使用Y方向偏振的光入射偏振器并测量透过的光强,再计算X方向的偏振光透过的光强并计算两者之比。实际上这也是OpticStudio计算消光比的方式。唯一复杂的点在于透过的光强为两个结构的相干叠加。因此我们需要先计算场振幅的叠加再计算光强。最简便的方法是使用ZPL宏来完成这一计算过程。

以下是我们需要用到的宏语言关键词(完整的语法请参考用户手册)

POLDEFINE Ex, Ey, PhaX, PhaY:用来定义光线的起始偏振态

POLTRACE Hx, Hy, Px, Py, wavelength, vec, surf:用来对特定的光线在特定的表面上执行偏振光线追迹,并将追迹结果保存在参数vec定义的数组中。数据保存格式如下所示:

2: E-Field X component, real

3: E-Field Y component, real

4: E-Field Z component, real

5: E-Field X component, imaginary

6: E-Field Y component, imaginary

7: E-Field Z component, imaginary

为了计算结构1和结构3中光线的总能量,我们使用以下宏程序进行计算:

数据依照如下格式进行打印:

宏程序的主函数部分如下所示:

使用这段宏追迹轴上光线的消光比时其结果为无穷大;当计算倾斜光线时其结果显示少部分X方向的偏振光穿过了偏振器,因此存在一定的消光比数值:

使用偏振光瞳图 (Polarization Pupil Map) 也可以计算场振幅并查看给定入射偏振态下的透过率,如下图所示:

在实际使用情况中可能存在任意数量的双折射晶体,因此有可能存在更多数量的多重结构。您可以在该功能的参数设置中以空格为间隔输入任意数量的结构进行分析。

小结

这篇文章介绍了在OpticStudio中模拟双折射元件基本技巧:

·OpticStudio在双折射材料中进行光线追迹时会追迹两条光线,这两条光线分别表示寻常光和非寻常光

·使用双折射输入面中的模式参数和多重结构功能可以分析任意偏振态光线的偏振追迹结果

·分析由2个双折射晶体组成的偏振器件需要4个多重结构;分析由3个双折射晶体组成的偏振器件需要8个多重机构,以此类推

·在计算多个结构光的总透过光强时需要计算光线振幅的叠加而不仅仅是光强的叠加

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

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

相关文章

等级保护、风险评估和安全测评分别是什么?

2022-06-17 15:17 迈入“等保2.0时代”以后,我国对于等级保护的要求更为严格和具体。等级保护、风险评估和安全测评这三个词,也因此总是出现在人们的视野之中,还总是被混淆。那这三者究竟分别是什么呢?如何区分它们?它…

如何以产品经理思维打造一所高品质学校?

学校的建设与管理真不是一件容易事。2023年03月17日,山东菏泽市曹县一家长投诉某中学课业繁重,孩子经常写作业到半夜;2023年4月4日,张先生在华龙网重庆网络问政平台投诉万州区某中学伙食差,指出“发灰的洋葱&#xff0…

本地运行 minigpt-4

1.环境部署 参考官方自带的README.MD,如果不想看官方的,也可参考MiniGPT-4|开源免费可本地进行图像对话交互的国产高级大语言增强视觉语言理解模型安装部署教程 - openAI 当然,所有的都要按照作者说明来,特别是版本号…

练好基本功,优秀工程师成长第一步

计算机基础作用 举例1:若是我们要开发大规模应用系统,如电商服务系统,要考虑很多 1. 这个服务应用要用什么语言来编写? 2. 是采用单体进程,还是用多个进程来协同工作? 3. 如何管理长期使用的内存空间&a…

( 栈和队列) 155. 最小栈 ——【Leetcode每日一题】

❓155. 最小栈 难度:中等 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。…

WiFi电子标签简介

WiFi电子标签系统概述: WIFI电子办公标牌系统是一种先进的无线自动更新系统,取代了传统的纸质标牌/桌牌需要人工更换的方式。WIFI ESL系统只需要一个电子办公标志设备,让它在办公或会议空间工作,快速改变人员或会议信息。这是一种…

Docker -compose 安装使用

命令 总结 yum install docker-compose-plugin docker compose version docker compose up docker compose up -d相关的配置。 创建docker-conpose 目录,并创建docker-compose.yml文件 version: 3 services: mysql: image: mysql restart: always co…

【基础算法】二叉树相关题目

系列综述: 💞目的:本系列是个人整理为了秋招算法的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于代码随想录进行的,每个算法代码参考leetcode高赞回答和…

[ICLR 2023] Token Merging: Your ViT But Faster

Contents IntroductionToken MergingExperimentsImage ExperimentsDesign choicesModel SweepComparison to Other WorksVisualizations Video ExperimentsAudio Experiments References Introduction 作者提出了一种 token 合并方法 Token Merging (ToMe),能够在不…

【Tasking_IDE】-1-如何让目录下的C文件不参与编译

案例背景: 当您在使用Tasking TriCore Eclipse IDE集成开发环境编译时,是不是有时遇到这样一个问题:导入了一个算法/驱动文件夹,但文件夹里面不是所有的C文件都要参与编译,于是您可能想到把这些“不参与编译的文件”删…

Kafka3.0.0版本——生产者 数据去重

目录 一、数据传递语义1.1、至少一次1.2、最多一次1.3、精确一次 二、幂等性2.1、幂等性原理2.2、重复数据的判断标准2.3、如何使用幂等性 三、生产者 事务3.1、Kafka事务原理3.2、Kafka事务注意事项3.3、Kafka事务的5个API3.3.1、初始化事务API3.3.2、开启事务API3.3.3、在事务…

CMake Tutorial Step1

CMake Tutorial Step1 参考资料:Step 1: A Basic Starting Point — CMake 3.26.3 Documentation Tutorial工程:官方Tutorial工程 开发环境:CLion CMake简介 方便起见直接问New Bing。 为什么要学习CMake? CMake的最大特点和…

微服务---分布式搜索引擎 elasticsearch基础

分布式搜索引擎 elasticsearch基础 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitH…

centos7操作yum命令失败

前言设置网卡开机自动启动设置国内dns服务器系统修改CentOS-Base.repo中的地址 前言 刚安装完的CentOS7的系统,发现无法使用yum命令进行更新,在更新的时候会出现下面这种内容,为此问题有以下这些解决方案可以尝试。 One of the configured r…

两段视频合成一个视频用什么软件 怎么把两段视频合成一段看不出来

两段视频合成一个视频用什么软件?无论是两段视频的合成,还是三段视频的合成,用视频编辑软件都能轻松搞定。但怎么把两段视频合成一段看不出来?这就比较考验制作者的功力了,不过我们还是有捷径的,下面一起来…

new和delete

目录 malloc: 开辟失败:返回值为空指针 new: 内置类型: 申请一个int对象(开辟一块存储int类型数据的空间,只能存储一个int数据): 申请5个int对象(开辟一块存储int类型数据的空间&#xff…

Blender3.5 边的操作

目录 1. 边操作1.1 边的细分 Subdivide1.2 边的滑移 Edge Slide1.3 边的删除1.4 边的溶解 Dissolve1.5 边线倒角 Bevel1.6 循环边 Loop Edges1.7 并排边 Ring Edges1.8 桥接循环边 1. 边操作 1.1 边的细分 Subdivide 在边选择模式,选中一条边,右键&…

JVM系列(十一) 垃圾收集器之 Concurrent Mark Sweep 并发标记清除

垃圾收集器之 Concurrent Mark Sweep 并发标记清除 上几篇文章我们讲解了单线程垃圾收集器 Serial/SerialOld ,多线程垃圾收集器 Parallel Scavenge/Old, 本文我们讲解下 Concurrent Mark Sweep 简称CMS垃圾收集器 垃圾收集器 新生代收集器: Serial、ParNew、Par…

图解 | 原来这就是网络

​​ 你是一台电脑,你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 ​ 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起来。 ​ 用一根网线连接起来…

[晕事]今天做了件晕事7

今天在使用iptables与grep的时候碰到一件晕事; 第一步添加了一条rule到OUTPUT: iptables -A OUTPUT --source 10.87.51.2 --destination 10.87.51.10 -p tcp --sport 5060 -j DROP 第二步使用:iptables -nL | grep DROP 发现这条记录跑到了FO…