光学设计中最强最快优化算法
在本课中,我们将从一个针对不同程序设计的透镜开始,并应用一些最新的工具来确定我们是否可以提高其性能。
这是起始透镜,以及三个视场点的MTF曲线。(输入MMF,选择多色选项,然后单击执行。)(下图中开关85打开,显示红色的红外波长。)
该透镜在近红外线以F / 3.5的速度工作,必须是远心的,具有低畸变,并且受衍射限制。初看起来,这种设计并不差,只有不到1/4的像差波。
视场上的最大畸变刚刚超过½微米,远心距离的最大偏差约为0.01弧度。一点也不差 - 但如果我们能够提高基线性能,这将为我们提供更多的公差余地,所以值得一试。
目前透镜使用WAP 3光瞳,因此我们首先进行一些系统更改。 然后我们优化。 这是我们的MACro:
(创建这组光线网格像差的最简单方法是使用MACro编辑器中的Ready Made Raysets按钮。在这种情况下,我们选择了第8组,它创建了横向和OPD目标,然后选择删除横向目标并且在全场增加OPD目标的权重。Bare-bones Rayset对话框也可以这样做,然后有更多选项。)
我们使用此文件进行优化,然后运行模拟退火几个周期。透镜有所改善。
现在让我们使用一些强大的工具。首先,我们运行自动元件删除功能。这会找到可以移除的元件,而对函数的降级最小。为此,我们只需添加该行:
在PANT命令之前到MACro并重新优化。该程序报告可以移除表面14处的镜片。我们允许它删除该元件,然后对其进行优化和退火(在注释掉AED行之后,我们不会删除另一个元件或删除顶部的CHG文件)。
正如预期的那样,透镜不如以前那么好,但仍然不错。现在我们将使用元件自动插入功能,以查看是否返回到以前的元件数量给出的结果比起始透镜更好。
为此,我们将AED线更改为:
并再次运行MACro。(如果您有多核PC,则还应添加该行
在MACro的顶部,其中nb是核心数。这将以更快的速度运行AEI。)
程序在表面12之前插入了一个元件。我们添加一个新变量:
到PANT文件,所以新元件上的玻璃模型可以变化,注释掉AEI线,重新优化并退火这个版本。
很有意思!该程序已将透镜内的孔径位置移动到9。如果透镜有固定孔径,我们可以在该元件上切一个凹槽,并获得极好的性能 - 但如果没有,我们会为表面11分配一个真正的孔径,移除 YP1的变量,并再次重新优化。这几乎也适用,给我们这个透镜:
是的,这个练习绝对值得一试!该程序在14处移除了原始透镜元件,并在12处更换了新透镜。最大畸变畸变现在约为1/4微米(原来的一半),远离距离现在小于0.0048。然后,我们在12处用模具玻璃替换了表面3上使用的玻璃,并重新优化,几乎没有质量损失。(当您自己学习这些课程时,由于退火阶段的随机性,您可能会得到略微不同的结果。)
相关文章可在仿真秀搜索: