zemax多重结构介绍
对于一些特殊系统,随使用状况的不同会有不同的结构参数,如变焦系统在不同焦距时,各组件之间的距离不同。设计这类系统时就需要使用zemax的多重结构。
- 常见的需使用多重结构的系统
- 变焦系统。焦距不同,参数不同。
- 消热差系统。温度不同,参数不同。
- 多光路系统。如 透镜阵列、分光系统 等。
- 扫描系统。不同的扫描位置,参数不同。
- 可换组件系统。如 可换目镜的显微镜。
本例中变焦系统的要求
设置基本结构参数
-
构建初始结构:
插入3组镜头需要的9个表面,并选择对应玻璃材料:
-
基本参数:
设置入瞳直径为25 mm (genral菜单中)
设置视场为 虚像高,三个视场分别选 0、 12、 17。(fileds菜单中)
(确定后弹出警告未发现视场像高所需光线,因为所有厚度参数都没有设置造成,不影响后续设置,后面还会多次弹出。为了不再让软件弹出警告,将所有镜头表面的曲率半径都随便设置一个数。)
设置光线为 F,d,C光。(wavelengths菜单中)
设置变量和评价函数
注意:平时我们令系统最后一个表面曲率使用F数解求得,来控制系统的F数。但是对于多重结构系统来说,其F数会有变化,则不能使用这个方法来控制。这时需在优化函数编辑器中使用effl操作数来控制不同情况下的焦距。
注意:镜头数据编辑器中有一样显示各表面的半孔径,是软件自动根据该面通过的边缘光线计算得到的,在变焦系统中,不同变焦位置边缘光线位置不同,所得到的孔径大小也不同,所以要将其设置为取最大值,使其符合实际情况。
-
构建多重结构参数
本例中有三个变焦位置对应三个不同结构。
打开多重结构编辑器:
editors -> multi configuration:
插入三个结构:
edit -> insert config 。
在变焦系统中会变的参数为各镜片组之间的距离,在这个系统中分别为:第一组到光阑的距离,光阑到第二组的距离,第二组到第三组的距离,第三组到像面的距离 ,共4个距离可以更改。多重结构编辑器中使用4行操作数来控制,同样使用 insert键来插入行。使用THIC操作数来获得各个距离值,并将各距离值设为变量供软件来优化(快捷键 Ctrl+z ):
只在多重结构编辑器输入不同结构下有区别的量。
设置优化目标
打开优化函数编辑器(merit function editor)
使用了多重结构后,优化函数编辑器中自动多了一行CONF操作数,此操作数表示选择一个结构,后续操作都是对当前选定的结构有效,直至重新摆选择一个结构。-
基础优化设置:
优化函数使用 均方根 离散斑 方法。
玻璃材料的中心和边缘厚度为2,最大为8。
空气间隔 中心 和 边缘 仍为 2 ,最大为1000 。
-
设置多重结构相关优化参数
在优化函数编辑器上方插入一些空行,设置为conf操作数,并限制不同结构的焦距(设置焦距值和权重):
设置完成后 双击 刷新。
-
设置镜头 曲率半径,厚度 等为变量
将剩下的3组镜头的9个曲率半径,6个玻璃材料的厚度 都设置为变量。
将 半孔径值(semi-diameter) 都设置为最大值。
进行优化
为了更好的看到优化过程中系统的变化,打开3d视图 (3d layout)
右键弹出对话框进行设置,使多重结构同时显示:
打开优化窗口( optimization),勾选自动更新(auto update),开始优化(automatic)。
几分钟后出现优化结果,然而厚度有负值。显然不正确。为了避免厚度出现负值,将厚度均设为10(任意正值)。
因为所有参数都是任意设置的,和全局最优解差距很大,为了跳过局部最优解直接得到全局最优解,采用垂轴优化(hammer optimization)来优化。
经过数十个小时优化后,优化还没结束,不过数据已经两个多小时没有更新,可认为是全局最优解:
end