Zemax-偏振、膜层和散射

news/2024/11/25 18:36:20/

光线追迹程序通常将光线视为纯粹的几何实体,其只拥有位置、方向和相位等资讯。例如,光线在表面上完全可以通过光线交切点座标说明,然后用方向余弦定义在局域坐标轴上的光线角度,并且用相位确定沿着光线累积的光程长或光程差。

在两种介质(如玻璃和空气)之间的边界,根据Snell's Law可能会发生折射或反射。但除此之外,在这个介面上对光束方向可能产生的任何影响也很重要。这些影响包括电场的振幅和相位变化,取决于入射角、入射偏振态、两种介质的属性和表面的任何光学膜层。

偏振分析是一般光线追迹的延伸应用,在光学系统中考虑光学膜层对光学传播造成的反射、吸收和损失效应。它在序列和非序列系统中我们都支持这种计算。

此外,我们还可以计算接触面上的散射。散射是源于表面纹理的微结构:在足够微小的尺度下,即使经过“平滑”抛光的玻璃的表面实际上也是粗糙的,而这导致离开光线离开的方向受到扰动,而有散射发生。在光线追迹中过一个实体物件的时候,也可能因为我们在物体中加入了材料,而让光线在通过材料时发生散射。这种情况我们称为“体散射”。

1:偏振


一条光线除了位置和方向,可我们还可以定义他的复数电场向量E = (E x , E y , E z )来描述光线的振幅和偏振状态。由于E向量必须和光线方向向量k(通过光线的(l, m, n)方向余弦定义)正交,因此k . E = 0,并且

E x .l + E y .m +E z .n = 0 

由于我们了解方向余弦,因此只需指定E x和E y的复数,然后E z会自然被决定出来(假设归一化)。因此我们可以只使用2D的Jones向量J = (J x , J y )(其中J x和J y定义是垂直于光线方向,并且同时具有振幅和相位)来定义偏振。然后通过2D的J向量回推建立3D的E向量并得到光线的方向余弦。

该方法用于定义光线的初始偏振,然后根据我们是在使用序列系统还是非序列系统,而有相对的设定与计算方法。

在序列系统中定义偏振

在System Explorer > Polarization 中我们可以定义光线的预设偏振状态: 
Click To Enlarge

如果一个分析功能计算时有考虑偏振,但是在设定中没有偏振相关定义选项,则该计算将使用此处的设定。但是,也有许多分析视窗本身允许直接定义偏振状态。这些是在Analyze选单中的“Polarization and Surface Physics”群组中的视窗:
http://forum.zemax.com/Uploads/Images/5f1a7c07-123c-49ee-8545-6c29.png
这些分析工具会读取系统选项(System Explorer)中的偏振设定做为预设值,但是也允许使用这直接修改。例如,Polarization Ray Trace让您可以直接定义光线座标以及偏振状态:
 Click To Enlarge
 Click To Enlarge

在非序列系统中定义偏振

而非序列光源物件则是可以在属性对话框(Object Properties)的光源(Source)部分定义其偏振状态:
http://forum.zemax.com/Uploads/Images/0bda7241-a96f-4420-8375-bd58.png
每个光源都可分别指定不同的偏振属性。

2:薄膜层


OpticStudio具有丰富的薄膜建模功能来支援偏振分析。可通过预定义的或使用者定义的材料资料库定义多层电介质薄膜和金属膜层。许多薄膜设计软体,例如The Essential Macleod、TFCalc和Film-Star,都支援直接将设计好的膜层以OpticStudio格式汇出。

膜层的定义可以是在电解质或金属基底上。膜层可由任意材料层组成,每个材料层都须使用复数折射率定义,也可以建立材料在不同波长的折射率色散关系。基底可为玻璃、金属或使用者自订材料。膜层可为均匀或厚度不均,以反应出制造状况,并且语法支援让使用者可以方便地建立重复的膜层堆叠回圈。

如果此膜层会定义在从空气到玻璃以极从玻璃到空气等不同情况,OpticStudio可自动将膜层定义顺序反向,从而可将相同的膜层施加在诸多表面上,无需定义“镜像”膜层。

膜层是定义在一个.dat副档名的档中。该文件位于膜层资料夹,该资料夹预设为My Documents\Zemax\Coatings。通过按一下“Setup”选单中的“Project Preference”可修改该资料夹。OpticStudio附带有名为coating.dat的档,其中包含范例资料。

注意:您不应该编辑coatings.dat,因为其由OpticStudio安装程式提供,并且将在您之后安装更新时被覆盖。 

务必将您自己的膜层资料储存为自己的.dat档,并通过系统选项(System Explorer) >档案(Files)部分载入它:
http://forum.zemax.com/Uploads/Images/b45917ce-dda2-41ac-8f01-46a5.png
在膜层资料就位的情况下,OpticStudio能计算任何膜层随波长或角度变化的双向衰减、相位、延迟、反射率、透过率或吸收率等物理参数。

给序列式系统的表面加上膜层

再次打开范例档Sequential\Objectives\Double Gauss 28 degree field.zmx。此档案使用内建的coatings.dat 镀膜设定档。注意镜头数据编辑器中的“Coating”栏位:
Click To Enlarge
现在转到资料库选单,并从中选择“Coating Catalog”图示
Click To Enlarge
向下滚动以搜寻膜层AR:
 Click To Enlarge
Click To Enlarge
除非Absolute栏位标记是“非零”,否则膜层厚度的单位是用主波长(Primary Wavelength)波数定义。而在非零的情况下,膜层的厚度用µm表示,而与波长无关。因此膜层AR为MGF2材料的厚度达λ/4的层,该材料MGF2也是使先在coating.dat档中定义过的:
http://forum.zemax.com/Uploads/Images/76616bf0-0a2d-4bd7-b16b-014b.png
该列表提供复数折射率,定义为η = n + ik,其中n为一般折射率,而k为消光系数。由于材料MGF2定义为具有正值n和零值k,因此是纯电介质。但是材料ALUM:
http://forum.zemax.com/Uploads/Images/91bc2426-fa32-44a9-904b-9ab3.png
具有小于1的折射率以及负消光系数,因此是金属(OpticStudio的规约是吸收介质的消光系数为负)。膜层可由任何数目的电介质和金属层制成,层厚度可以不变或呈锥形,并且可方便地定义膜层的重复回圈。

如果您没有膜层规格,OpticStudio支援数种理想膜层定义方式,可让您只指定反射率和透过率,并且也支援用表格定义膜层,跟理想膜层的差别在于透射率和反射率可能随入射角度和波长而变化,并且可为S和P偏振单独指定。

注意:有关膜层档语法的完整详细资讯,请参阅Help文件的“Polarization”章节。 

现在按一下“Analyze”选单中的“Coatings”…“Reflectance vs Angle”选单,查看该膜层在SK2 玻璃基底上的性能:
 Click To Enlarge
Click To Enlarge
相同功能表中的其它工具可让您查看透过率、双衰减、相位、延迟等。在表面1的Coating栏位上滑鼠选一下,然后按下空格并ENTER删除膜层,注意反射率vs.角度图的变化。

你可以直接在Coating栏位输入膜层名称,以将膜层施加至表面,或是透过镜头数据编辑器工具列中的“Add Coatings to All Surfaces”工具一次给系统中的所有表面加上膜层。
 Click To Enlarge

给非序列物件新增膜层
将膜层加上到至非序列物件只是稍微复杂一点。由于物件为实体而非一个表面,因此一个物件可能会有好几个表面,而能各自套用不同膜层。请打开范例文件Non-sequential\Ray splitting\Beam Splitter.zmx:
Click To Enlarge
按两下第二个稜鏡物件(物件3),以打开他们的属性对话框(Object Properties),并选择“Coat/Scatter”区块。可以看到该物件具有两个表面: “1, Splitter surface”,这是分光器表面(稜鏡的消光系数),而剩下的表面则统一由“0, Face0”所定义。
http://forum.zemax.com/Uploads/Images/a4f59292-10bb-4b70-a4f0-1f37.png
表面1涂覆有理想膜层I.5,光线能量的50%会穿透,而50%是反射,表面0则涂覆有I.95,可穿透95%并反射5%能量。

OpticStudio物件使用“表面(Face)”来定义和物件相关的各个光学区域,你可以在Help文件中找到相关定义。如果想知道Face在物件上的位置,您可在“Analyze”选单中使用NSC Object Viewer来查看各个物件。
Click To Enlarge
如果用滑鼠按一下物件的一个表面(Face),这个表面将用不同颜色显示,并在视窗的标题列中标识出他的编号以及名称(如果有)。
 Click To Enlarge

定义CAD 物件的表面
OpticStudio能汇入数种不同的CAD物件:STL、STEP、IGES和SAT格式的档,并且也可动态地用于SolidWorks™、AutoDesk Inventor™和Creo Parametric™(之前为Pro/Engineer)零件和总成。这些CAD档可能由数目巨大的NURBS曲面定义而成。一些CAD设计软体可建立包含许多小曲面构成的资料档案。例如,在CAD档中可以通过数百个小的表面来描述简单的圆柱体,但对于光学分析,这里面可能总共只有两个或三个不同的光学特性而已。因此我们需要的不是将光学性能分配给其中的每个表面,而是将把相关的小曲面(Surface)群组化成为单个表面(Face) ,代表这个CAD档中有相同光学性质的一个平滑表面。

CAD物件都支援“Surface Mode”可以快速指定小曲面的分配方式,你可以在物件属性对话框(Object Properties)中的CAD区块中找到相关设定,可如下将光学表面的分配简化:

· Surface Mode = Use single surface:顾名思义,所有的Surface都会被分配到Face 0。整个物件将只有一个Face(例如阳极氧化铝)。

· Surface Mode = Use angle of normal vector:对所有的Surface来说,如果两Surface沿着一条长度非零的曲线相接,并且两个Surface在这条曲线上各自的法向量之间的夹角小于使用者指定的角度,则此两Surface的Face编号会被设为相同。使用者指定的角度大小可由同一个设定视窗中的Face Angle栏位设定。这个角度的指定可以让使用者指定要把Surface群组切割到多细。如果Face Angle的值非常大(例如180),则所有的Surface的Face编号都会一样。Face Angles越大,产生的Face就越少。

· Surface Mode = Use all surfaces:所有的Surface都会被分配到同样的Face编号。

· Surface Mode = Use previously defined surfaces:保留原始汇入档的Face分配方式。有一些CAD档(例如由OpticStudio所建立的)会在档案内就带有Face编号的资讯,而这些资讯将会被直接使用。如果OpticStudio无法侦测Face编号的资料,则会回到“Use all surfaces”的模式。

· Surface Mode = Use single surface per object:CAD档中个别分离物件上的所有Surface都会被赋予一样的Face编号。此选项在CAD档中有多个物件,并且刚好每个物件的材质都要分开设定时非常有用。

 Click To Enlarge

3:光线分裂


对于序列或非序列光线追迹,可以考虑偏振影响,也可以忽略偏振。如果使用偏振光线追迹,则会考虑所有表面的光能透射、反射和吸收情况,还会考虑光学介质的体吸收。

在纯非序列光线追迹中,还可以进一步考虑在物件表面上分裂光线。在这种情况下,则将不仅是考虑反射损耗,而且会产生新的光线,带走反射的能量。

由于准确的反射和透射计算需要偏振资讯,因此只有在执行偏振光线追迹时才允许光线分裂。
Click To Enlarge
你也可以关闭光线分裂,在这种情况下,在光线遇到折射面时会使中采用透射路径,除非光线发生全内反射。如果物件为镜面,当然始终会采用反射光程。

上述布局显示了光线分裂时的一些可能的光线路径。注意画面中其实只绘制了1条输入光线!在系统选项(System Explorer)的Non-sequential选单下定义的各种光线终止标准是光线分裂开启时进行有效计算的必要条件。建议将Minimum Relative Ray Intensity设定为相当高的值(约0.001),直到此模型能够正常运行,并且需要更多详细结果。
Click To Enlarge
OpticStudio还支援随机选择反射或折射路径而不是将光线分裂为两条并同时追迹。需要这个功能的话,可以勾选上图中所看到的“Simple Ray Splitting”。这个选项会在光线需要分裂时随机决定要走反射或是折射路径;然后把反射和透射的能量比例解释为采用该路径的相对机率。

4:光线散射


除了光学元件表面上的部分反射之外,光线也可能因为表面的微观粗糙度而发生散射。OpticStudio 支援许多从光学表面进行散射的详细模型,包括朗伯(用于非常粗糙的高散射性表面)、高斯(通常用于抛光良好的表面的散射建模)、ABg、K-相关等等。此外,OpticStudio 可采用简单ASCII 档案格式导入散射资料,并且旗舰版本包含已测量散射档的库。有关详细资讯,请参阅“资料库”选单中的“散射”组。
Click To Enlarge
尽管散射可用在序列光线追迹(参阅“属性对话框”对话方块的“散射”选单),但它在非序列光线追迹中最能发挥作用,其中光线可前往任何位置。散射功能适用于非序列物件的面,其方式薄膜层相同,这些功能位于“物件属性”选单的“膜层/散射”选单中。

打开Non-sequential\Scattering中名为ABg scattering surface.zmx的范例文件。该档在物件2上使用ABg散射模型,该模型通常用于已测量的散射资料:
Click To Enlarge
由于它基于已测量的资料,因此表面散射的能量总量由资料档案定义。其它散射模型,例如朗伯模型需要您告知OpticStudio有多少能量要使用对话方块上的“散射函数”参数散射,该对话方块将在选中需要它的散射模型时出现:
http://forum.zemax.com/Uploads/Images/dc1da533-4f44-4939-8280-8073.png
如果光线分裂关闭,则将散射或不散射光线,具体取决于“散射函数”参数的值(或同等已测量资料)以及OpticStudio为每次光线-物件交互生成的乱数。更新NSC三维布局图,并注意光线是散射还是不散射
Click To Enlarge
在设定对话方块上,选择“分裂光线”以及“散射光线”:
Click To Enlarge
光线现在将分裂为非散射光线,以及五条散射光线。

将该布局更新数次,并注意您始终会得到非散射光线,还有五条随机散射光线。散射光线数由“物件属性”的“膜层/散射”选单中的“光线数目”参数定义。

5:重点取样


模拟散射时,常常可能需要追迹巨量光线,才能让足够多的光线照射到相关物件(例如探测器)上。OpticStudio支援两种强大的方法来提高散射分析效率。

第一种方法是,根据散射分布散射光线,但仅在光线是往指定物件散射时才继续追迹光线。此方法可通过使用物件属性(Object Properties)对话框中的“Scatter To”区块中,定义Scatter To Method的选择为“Scatter To List”来达成。
Click To Enlarge
“Scatter To List”方法适用于广角散射(例如Lambertian散射),此时被散射光照射的相关物件会占据相对较大的立体缴(从散射面看)。

第二种方法是,始终向相关物件散射光线,然后归一化光线携带的能量,以代表实际向该方向散射光线的可能性。此方法被称为“重点取样(Importance Sampling)”。如果是散射角度小或被散射相关对象包含相对较小的角度(从散射面看),则Importance Sampling方法通常胜过散射路径模型。

打开Non-sequential\Scattering中名为Importance Sampling Demonstration.zmx的范例文件。由此直接显示使用重点取样的优势。光线始终会散射至所需物件,在这个范例中,光线始终散射向探测器(Detector),并且得到的讯噪比也会因此好得多。
 Click To Enlarge

6:体散射和萤光散射


体散射模型会让光线在通过实体物件传播的同时会随机散射。这种情况可能很少发生(例如在光学级玻璃中含有散射物杂质),也可能非常常见(例如在生物组织范例中散射)。OpticStudio包含数个体散射模型,包括Henyey-Greenstein和瑞利散射。

此外,光线可在体散射时改变波长,通常是变为更长的波长。首先请打开Non-sequential\Phosphors and Fluorescence\中名为Fluorescence Example.zmx的范例文件。该档使用两种波长:1(蓝色)和2(红色)。光源仅以蓝光辐射,并且该光线进入以一定角度和波长散射光线的介质。分光器的功能是让红光透射并反射蓝光:
Click To Enlarge
体散射属性在“Object Properties”对话方块的“Volume Physics”选单上定义。
Click To Enlarge
“波长飘移(Wavelength Shift)”设定用于定义在发生体散射事件期间的波长转换。语法为“in, out, prob”,其中“in”为输入波长编号,“out”为输出波长编号,“prob”为在波长中追迹光线时发生此漂移的相对机率。你可以定义多个转换,使用分号分隔。

例如,单输入波长(#1)将漂移至波长#2的概率为50%,漂移至波长#3的概率为40%,剩余10%的概率将保持在输入波长,那么波长飘移字串为

1 , 2, 50.0; 1, 3, 40.0; 1, 1, 10.0


此外您也可以打开Non-sequential\Phosphors and Fluorescence\中名为White LED Phosphor.zmx的范例文件。可以看到这是一个萤光粉模拟的范例。
Click To Enlarge
请打开物件3的Object Properties里面的Volume Physic区块,可以看到我们需要指定萤光粉的吸收、激发、辐射频谱。并且也需要给出米氏散射的资料,例如例子折射率、大小、密度。
Click To Enlarge
关于萤光粉模型,请参考知识库中的相关文章,有更多详细说明。


http://www.ppmy.cn/news/263898.html

相关文章

条码方向定位

参考了一篇论文的思想,主要思路就是通过分块求取各窗口内的梯度方向,利用密度阈值过滤。缺点是要手动定义窗口大小和密度值。 具体代码如下: //窗口内计算边缘密度特征 struct EdgeDensity {int num; //边缘点数float orient; //边缘梯度方…

双目立体视觉及正交偏振 3D 显示

人眼的双目立体视觉成像人类最神秘最完美的身体构造之一,了解人眼的基本构造和视觉成像处理过程,对于 3D 显示技术具有极大的启发。本文主要对人眼的基本构造、视觉成像系统进行简单介绍,并对基于此立体视觉原理的偏光式 3D 显示系统的结构和…

3D手办设备全彩彩色打印图像采集拍照拍摄设备相机矩阵

设备参数 镜头数量:90个 输出画质:1080p 包含配件:灯带、拍摄软件 材质:铝合金

永年激光金属3D打印新产品和科技成果通过鉴定——国内领先、国际先进

航天领域大尺寸结构件通常为单件或小批量,开发专用模具十分耗时,且费用昂贵,增材制造通过逐层累加的制造方式,具有制造流程短、不受零件复杂程度的影响,可实现复杂、大尺寸结构件快速制造,已受到航天制造领…

条形码类型和标准指南:一维、二维条码符号

条形码标签是跨组织和整个供应链跟踪资产和库存的有用工具,但哪种类型的条形码最适合您的需求?存在多种条形码符号系统,其中一些比其他符号更适合不同类型的应用。此外,一些行业制定了旨在规范资产和实物库存标签的标准&#xff0…

SpringBoot整合ShardingSphere5.x实现数据加解密功能

环境&#xff1a;Springboot2.6.14 ShardingSphere5.3.0 准备环境 添加依赖 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core</artifactId><version>${shardingsphere.version}</ve…

iOS View 生命周期

现在来看看View的生命周期 显示过程 -(void)willMoveToSuperview:(UIView *)newSuperview -(void)didMoveToSuperview -(void)willMoveToWindow:(UIWindow *)newWindow -(void)didMoveToWindow -(void)layoutSubviews 移除过程 -(void)willMoveToSuperview:(UIView *)ne…

老人跌倒检测识别预警算法 yolov7

老人跌倒检测识别预警系统采用yolov7网络模型技术&#xff0c;老人跌倒检测识别预警算法对老人的行为进行实时监测。当老人发生跌倒时&#xff0c;系统将自动发出警报&#xff0c;及时通知现场护理人员进行处理。YOLOv7 的发展方向与当前主流的实时目标检测器不同&#xff0c;研…