3. Zemax序列模式与非序列模式选择
微透镜阵列(Microlens Array, MLA)建模时,最先要做的决策不是填什么参数,而是选择哪种光线追迹模式。Zemax OpticStudio 提供序列模式(Sequential)与非序列模式(Non-Sequential, NSC)两套完全不同的追迹引擎,它们在光线传播规则、可用表面类型、探测器设置和结果评价方式上差异显著。选错模式,往往不是"精度差一点",而是根本无法表达微透镜阵列的物理结构。
两种模式的追迹逻辑本质差异
序列模式的核心规则是"光线按表面编号顺序依次穿过,每个表面只接触一次"。光线从物面出发,经表面1、表面2……直到像面,路径由表面顺序唯一确定,软件不需要判断光线与哪个物体相交。这种机制计算极快、优化算法成熟,但它隐含一个前提:光路是"单链"的。微透镜阵列恰恰破坏了这个前提——阵列中每个子透镜都是独立孔径,光线可能穿过某个子透镜后进入相邻子透镜,也可能在阵列表面之间来回反射,序列模式无法描述这种"光线自主选择下一个相交物体"的行为。
非序列模式则采用"光线与物体集合求交"的逻辑:场景中放置若干物体(Object),光线沿当前方向传播,软件计算它与所有物体的最近交点,在交点处按该物体的表面属性(折射、反射、衍射、散射)改变方向,再继续追迹,直到能量低于阈值或达到最大追迹段数。光线走哪条路,由几何关系决定,而不是由编号顺序决定。这正是微透镜阵列、导光板、杂散光分析等场景所需要的自由度。
表面类型与建模对象的对应关系
序列模式中,微透镜阵列通常只能借助"偶次非球面 + 坐标断点 + 多重结构"来近似:把每个子透镜当作一个独立表面组,用多重结构(Multi-Configuration)让不同结构对应不同子透镜位置。这种做法能算单个子透镜的成像质量,但子透镜之间的相对位置、阵列整体口径、相邻子透镜的边缘交叠都难以真实表达。若阵列是周期性排布,也可用"衍射光栅"或"二元面2"近似其相位效果,但这属于相位等效,不是几何建模。
非序列模式提供了真正贴合阵列的物体类型:Lenslet Array 物体可直接定义子透镜数量(如 X 方向 5×5)、子透镜口径、曲率半径、厚度、基底材料,一次性生成整个阵列;Rectangular Volume 与 Boolean 物体可用于构造带间隔层的阵列基板;Standard Lens、Even Asphere 可作为单个子透镜的精细替代。探测器方面,非序列模式使用 Detector Rectangle、Detector Color 或 Detector Surface,直接记录每个像素上的辐照度,配合 Ray Database(.ZRD 文件)还能回溯每条光线的路径,定位串扰来源。
探测器设置与结果判读的差异
序列模式的结果评价依赖评价函数(Merit Function)与像质分析图:点列图(Spot Diagram)、MTF 曲线、波前图、 encircled energy。这些工具假设"一个物点对应一个像点",适合评价单个子透镜的成像锐度。若要看整个阵列的照度均匀性,序列模式需要逐个视场、逐个结构分别计算,再手工汇总,效率低且容易遗漏。
非序列模式的探测器直接给出二维辐照度分布,可读取 RMS 均匀性、峰值照度、中心到边缘的衰减曲线。例如在均匀照明设计中,把探测器放在阵列后工作距离处,读取 Detector Rectangle 的 RMS Uniformity 与 Peak Irradiance,即可判断阵列是否把光源能量打散均匀。若发现某区域照度异常偏高,可打开 Ray Database 过滤该像素的光线,查看它们经过了哪些子透镜、是否发生了相邻子透镜间的折射串扰。
选择决策与实操建议
实际项目中可按以下判断路径选择模式:若任务只关心单个子透镜的成像质量、需要快速优化曲率与间隔,优先用序列模式,把阵列简化为单通道;若任务涉及阵列整体照度分布、子透镜间串扰、杂散光或反射路径,必须用非序列模式。两者也可混合使用:先在序列模式中优化单个子透镜的面型参数,再把优化结果导入非序列模式,用 Lenslet Array 复制成阵列,做整体照度与串扰验证。
Layout Rays 与 Analysis Rays 要分开设置:前者只影响布局图显示的光线数量,后者才决定探测器统计精度。做照度均匀性分析时,Analysis Rays 建议不低于 100 万条,否则探测器边缘像素的统计噪声会掩盖真实的不均匀性。总结来说,序列模式胜在"快"与"优化成熟",非序列模式胜在"真"与"可追迹"。微透镜阵列的建模选择,本质上是在"单通道近似"与"全阵列真实"之间做取舍。理解两者在追迹逻辑、表面类型、探测器设置上的差异,才能在具体项目中做出有依据的判断,而不是凭习惯默认使用某一种模式。