第二节 非序列模式基础:非序列模式与序列模式的差异、非序列编辑器的界面布局、基本操作流程
在Zemax OpticStudio中,序列模式(Sequential Mode)与非序列模式(Non-Sequential Mode)是两种截然不同的光线追迹引擎。对于从事照明系统设计、杂散光分析、导光管设计或激光光束整形等工作的工程师而言,理解这两种模式的本质差异,是正确选择设计路径的第一步。本节将深入剖析序列与非序列模式在光线追迹逻辑、数据结构和应用场景上的根本区别,并系统讲解非序列编辑器的界面布局与基本操作流程,帮助您建立清晰、高效的照明设计工作框架。
上图直观地展示了两种模式的核心差异。在序列模式中,光线从物面出发,严格按照面序号依次穿过每一个光学表面,最终到达像面。这种“流水线”式的追迹逻辑使得序列模式在成像系统优化中具有极高的计算效率。而在非序列模式中,光线从光源发出后,系统会计算其与场景中所有物体的交点,并选择最近的有效交点进行反射、折射或散射,然后继续追迹,直至光线能量耗尽或到达探测器。这种“自由传播”的机制,使得非序列模式能够处理光线在复杂几何结构中的多次反射、分光、散射等物理过程。
2.1 核心原理:两种模式的本质差异
理解序列与非序列模式的差异,不能仅停留在“一个按顺序、一个不按顺序”的浅层认知。我们需要从数据结构、追迹算法和适用场景三个维度进行深入剖析。
2.1.1 数据结构与追迹逻辑
在序列模式下,系统将光学系统定义为一系列有序的表面(Surface),每个表面都有一个明确的序号(0, 1, 2, ..., N),其中0号面通常是物面,最后一个面是像面。光线追迹时,系统按照面序号依次计算光线与每个面的交点,并应用折射或反射定律。这种结构决定了序列模式具有以下特点:
- 确定性:每条光线的路径是唯一且确定的,不存在“选择”或“分支”的情况。
- 高效性:由于追迹路径固定,系统可以预先计算许多中间变量,优化速度极快。
- 局限性:无法处理光线在同一表面被多次穿过的情况(如棱镜内部的反射),也无法模拟光线在非规则物体(如LED封装、导光板微结构)中的传播。
非序列模式则完全不同。它将所有光学元件(包括光源、透镜、反射镜、棱镜、探测器等)视为独立的“物体”(Object),每个物体在全局坐标系中拥有独立的位置和朝向。光线追迹时,系统执行以下核心算法:
- 从光源发射光线,确定光线的初始位置和方向。
- 遍历场景中所有物体,计算光线与每个物体的最近交点。
- 在所有有效交点中,选择距离光线起点最近的那个交点作为实际交点。
- 根据该物体的材料属性和表面特性(反射率、透射率、散射模型等),决定光线的下一段传播方向。
- 重复步骤2-4,直到光线能量低于阈值、到达探测器或超出系统边界。
这种“全局求交”的算法使得非序列模式能够精确模拟光线在复杂几何体中的多次反射(如积分球)、分光(如分束器)、散射(如毛玻璃)等物理现象。
2.1.2 应用场景对比
| 对比维度 | 序列模式 | 非序列模式 |
|---|---|---|
| 典型应用 | 相机镜头、望远镜、显微镜等成像系统 | LED照明、汽车车灯、导光板、杂散光分析 |
| 光线行为 | 光线按面顺序传播,无分支 | 光线可任意方向传播,可分裂、散射 |
| 优化能力 | 支持局部/全局优化,评价函数计算快 | 优化能力弱,通常用于分析验证 |
| 建模复杂度 | 面型参数化,建模简单 | 物体类型丰富,建模灵活但复杂 |
| 计算速度 | 快(毫秒级) | 慢(秒级到分钟级),取决于光线数量 |
核心判断准则:如果您的设计目标是“优化成像质量”(如MTF、波前误差),请使用序列模式;如果您的设计目标是“分析能量分布”(如照度均匀度、光强角分布)或“追踪杂散光路径”,请使用非序列模式。在实际工程中,许多项目需要两种模式混合使用——先用序列模式优化镜头结构,再导入非序列模式进行照明分析。
2.2 非序列编辑器的界面布局
当您首次进入非序列模式时,界面布局与序列模式有显著差异。熟悉这些界面元素是高效工作的前提。非序列编辑器主要由以下几个核心窗口组成:
2.2.1 非序列元件编辑器(NSC Editor)
这是非序列模式的核心数据表格,类似于序列模式的镜头数据编辑器。每一行代表一个独立的物体(Object),每一列定义该物体的属性。关键列包括:
- Object Type:物体类型,如光源(Source)、标准透镜(Standard Lens)、矩形体(Rectangular Volume)、探测器(Detector)等。
- Comment:注释,用于描述物体的功能。
- X/Y/Z Position:物体在全局坐标系中的位置(单位:mm)。
- Tilt About X/Y/Z:物体绕全局坐标轴的倾斜角度(单位:度)。
- Material:物体材料,可以是光学玻璃(如BK7)、塑胶(如PMMA)或自定义材料。
- 参数列(Param 1, 2, ...):根据物体类型不同,参数含义各异。例如,对于标准透镜,Param 1是曲率半径,Param 2是圆锥系数,Param 3是厚度。
2.2.2 3D布局图(3D Layout)
3D布局图以三维方式直观显示所有物体的空间位置和形状。在非序列模式下,您可以通过鼠标拖拽旋转视角,从任意角度观察系统结构。这对于检查物体是否发生干涉、光路是否合理至关重要。建议在“Settings”中开启“Shaded Model”模式,以更真实地显示物体表面。
2.2.3 探测器查看器(Detector Viewer)
当您在NSC Editor中定义了探测器物体(如Detector Rectangle),并运行光线追迹后,探测器查看器会显示辐照度分布图(Irradiance Map)、光强分布图(Intensity Map)或能量分布图。这是分析照明均匀性、光斑形状和能量利用率的主要工具。
2.2.4 光线追迹控制面板
在“Analysis”菜单下,选择“Ray Tracing”即可打开光线追迹控制面板。在这里,您可以设置追迹的光线数量(Analysis Rays)、光源采样方式(Sobol采样、Halton采样等)、追迹的波长和权重等参数。对于照明设计,建议使用“Sobol采样”以获得更均匀的随机分布。
界面布局经验:建议将NSC Editor固定在屏幕左侧,3D Layout固定在右侧,探测器查看器作为浮动窗口。这样可以在编辑物体参数时,实时观察3D布局的变化,并在追迹后立即查看探测器结果,形成“编辑-观察-分析”的高效工作流。
2.3 基本操作流程:从零搭建一个照明系统
下面我们通过一个简单的LED准直照明系统案例,演示非序列模式的基本操作流程。该案例将涵盖光源定义、透镜建模、探测器设置和光线追迹分析的全过程。
2.3.1 案例背景与初始参数
假设我们需要设计一个用于手电筒的LED准直系统。已知条件如下:
- LED光源:发光面尺寸为1mm × 1mm,朗伯发光模式(即光强随角度余弦分布),总光通量100流明。
- 准直透镜:平凸透镜,材料为PMMA(折射率1.493),曲率半径10mm,中心厚度5mm,直径25mm。
- 目标:在距离透镜50mm处,获得直径小于20mm的光斑,且光斑均匀性(最小照度/最大照度)大于0.8。
2.3.2 操作步骤
步骤1:进入非序列模式
在Zemax主界面中,点击“File” → “New” → “Non-Sequential Mode”,系统将创建一个新的非序列文件,并自动打开NSC Editor。
步骤2:定义光源
在NSC Editor的第1行(Object 1),设置如下参数:
Object Type: Source Ray
X Position: 0
Y Position: 0
Z Position: 0
Tilt About X: 0
Tilt About Y: 0
Tilt About Z: 0
Param 1 (Number of Rays): 100000
Param 2 (Power): 100 (单位:流明)
Param 3 (Wavelength): 0.55 (单位:微米)
这里我们使用“Source Ray”类型,它允许我们定义光源的发光模式和空间分布。对于朗伯光源,我们需要在“Source Ray”的“Ray Distribution”选项卡中选择“Lambertian”。
步骤3:定义准直透镜
在Object 2中,添加一个标准透镜:
Object Type: Standard Lens
X Position: 0
Y Position: 0
Z Position: 10 (透镜前表面距光源10mm)
Tilt About X: 0
Tilt About Y: 0
Tilt About Z: 0
Material: PMMA
Param 1 (Radius 1): 10 (前表面曲率半径)
Param 2 (Thickness): 5 (中心厚度)
Param 3 (Radius 2): Infinity (后表面为平面)
Param 4 (Semi-Diameter): 12.5 (透镜半径)
步骤4:定义探测器
在Object 3中,添加一个矩形探测器:
Object Type: Detector Rectangle
X Position: 0
Y Position: 0
Z Position: 65 (距光源65mm,即透镜后50mm)
Tilt About X: 0
Tilt About Y: 0
Tilt About Z: 0
Param 1 (X Half Width): 15 (探测器半宽15mm)
Param 2 (Y Half Width): 15
Param 3 (Number of X Pixels): 100
Param 4 (Number of Y Pixels): 100
步骤5:运行光线追迹
点击“Analysis” → “Ray Tracing” → “Trace Rays”,在弹窗中确认光线数量为100000,点击“OK”。系统将开始追迹,并在探测器查看器中显示辐照度分布图。
2.3.3 结果分析与优化
追迹完成后,打开探测器查看器,您会看到光斑的辐照度分布。初始结果可能显示光斑直径约为25mm,均匀性为0.6,未达到设计目标。此时,我们需要进行参数优化:
- 调整透镜位置:将透镜Z位置从10mm改为8mm,观察光斑变化。
- 修改曲率半径:将透镜前表面曲率半径从10mm改为8mm,重新追迹。
- 增加光线数量:将光线数量从100000增加到500000,以减少蒙特卡洛噪声,获得更平滑的照度分布。
经过几轮调整,当透镜Z位置为8.5mm、曲率半径为9mm时,光斑直径缩小至18mm,均匀性提升至0.82,满足设计要求。
常见误区提醒:在非序列模式中,不要盲目增加光线数量。光线数量过多会导致计算时间急剧增加,而对照明均匀性的提升有限。建议先用少量光线(如10000条)进行快速迭代,确定大致结构后,再增加光线数量进行最终验证。此外,务必检查探测器是否与透镜发生空间干涉,否则追迹结果将毫无意义。
2.4 常见误区与总结复盘
在非序列模式的学习和工程应用中,以下误区值得特别关注:
| 误区描述 | 后果 | 正确做法 |
|---|---|---|
| 将序列模式的面序号思维带入非序列 | 无法理解物体间的独立关系,导致建模混乱 | 将每个物体视为独立实体,关注其全局坐标 |
| 忽略物体的材料属性 | 光线穿透物体而不发生折射,结果完全错误 | 为每个透射物体正确设置材料(如PMMA、BK7) |
| 探测器尺寸设置过小 | 大量光线落在探测器外,能量利用率计算失真 | 根据光斑预估尺寸,设置探测器为预估尺寸的1.5-2倍 |
| 使用默认的随机采样方式 | 光斑分布出现明显颗粒感,均匀性评估不准确 | 优先选择Sobol采样或Halton采样 |
总结复盘:非序列模式的核心优势在于其“自由”的光线追迹能力,但这份自由也意味着更高的建模复杂度和计算成本。在实际项目中,建议遵循以下工作流程:
- 明确目标:确定是分析照度、光强还是杂散光路径。
- 简化建模:先用简单的几何体(如球体、圆柱体)代替复杂结构,验证光路可行性。
- 逐步细化:在简化模型验证通过后,逐步替换为精确的CAD模型或复杂物体。
- 参数化扫描:利用Zemax的“Universal Plot”或“Optimization”功能,对关键参数(如透镜位置、曲率半径)进行扫描,找到最优解。
- 最终验证:使用高光线数量(如100万条)进行最终仿真,并导出照度分布图用于报告。