课程三:PSD 优化算法
我们观察到,现代软件可以比透镜设计专家优化透镜的速度快数倍。本课将展示这一点。
在理论家和“计算者”之间,透镜设计行业一直存在争议。前者根据他们对像差理论的深入了解,努力了解他们的透镜去引导他们的设计。后者利用足够的光学理论去建立他们的目标 - 但随后将实现这些目标的工作转交给计算机。我们认为,对于许多问题的解决结果,数据计算者可以超过理论家。这就是为什么理论家们去极力理解的东西不再重要的原因。
我们在这里提出一个设计方案,从一个非常初始的透镜作为初始结构,其透镜的所有表面都是平面,所有的厚度和空气间隔是相同的,所有的玻璃都在玻璃库上。然后我们展示了一个好的优化算法,如何能够快速的将这个初始设计变成一个良好的设计。
这是我们的优化 MACro。
AWT: 0
OFF 67
RLE
ID START FROM FLAT
UNI MM
OBB 0 20 12.7
1 TH 5 GLM 1.6 50
2 TH 5 AIR
3 TH 5 GLM 1.6 50
4 TH 5 AIR
5 TH 5 GLM 1.6 50
6 TH 5 AIR
7 TH 5 GLM 1.6 50
8 TH 5 AIR
9 TH 5 GLM 1.6 50
10 TH 5 AIR
11 TH 5 GLM 1.6 50
12 TH 5 AIR
13 TH 5 GLM 1.6 50
14 TH 50 AIR
15
APS 1
END
STO 9
PROJ
QUIET
PANT
VY 1 YP1
VLIST RAD 1 2 3 4 5 6 7 8 9 10 11 12 13 14
VLIST TH ALL EXCEPT 14
VLIST GLM ALL
END
AANT
AEC
ACC
M 32 2 A GIHT
GSR AMT 10 5 M 0
GNR AMT 2 3 M .7
GNR AMT 2 3 M 1
END
DAMP 1000
SNAP 50
SYNO 5
SYNO 10
SYNO 100
LOUD
PROJ
RMS M 0 600
Z1 =FILE 1
RMS M .5 600
Z2 =FILE 1
RMS M 1 600
Z3 =FILE 1
=(Z1+Z2+Z3)/3.0
创建优化宏:选择优化+设计搜索-> 优化 进行设置
定义变量-PANT 文件:打开步骤 1 -> 选项 1。点击半径,选中 ALL 将所有的半径设为变量。点击距离,按住鼠标左键,将1-13的厚度设为变量。点击玻璃模型,选中所有将所有的玻璃设为变量。
打开步骤 1 -> 选项 2对话框,选择表面1 变量 YP1。
打开步骤 2 -> 选项 1对话框,选择评价函数6。
打开步骤 2 -> 选项 5对话框,设置 GIHT 为33。
打开步骤 2 -> 选项 7对话框,选择 AEC、ACC 和 ADT。
可以点击按钮直接进行优化。
也可以点击创建一个宏 按钮,生成宏将其命名为 7.MAC。
PANT
VLIST RAD 1 2 3 4 5 6 7 8 9 10 11 12 13 14
VLIST TH 1 2 3 4 5 6 7 8 9 10 11 12 13
VLIST GLM 1 3 5 7 9 11 13
VY 1 YP1
END
AANT
AEC
ACC
GSR .5 10 5 M 0
GNR .5 2 3 M .7
GNR .5 1 3 M 1
M 33 2 A GIHT
END
SNAP
SYNOPSYS 20
运行这个宏,你会得到一个非常不同的透镜。
进一步修改优化宏:
①光线与孔径相关的权重减小为0.1。
②改善边缘视场的图像,将全视场权重从1改为 2。
③设定初始阻尼系数为1000。
④修改迭代次数。
⑤使用 AI 程序计算三个视场点的平均均方根光斑大小。
PANT
VLIST RAD 1 2 3 4 5 6 7 8 9 10 11 12 13 14
VLIST TH 1 2 3 4 5 6 7 8 9 10 11 12 13
VLIST GLM 1 3 5 7 9 11 13
VY 1 YP1
END
AANT
AEC
ACC
ADT 7 0.1 1
GSR .1 10 5 M 0
GNR .1 2 3 M .7
GNR .1 2 3 M 1
M 33 2 A GIHT
END
DAMP 1000
SNAP 20
SYNOPSYS 10
SYNOPSYS 90
RMS M 0 600
Z1 = FILE 1
RMS M .5 600
Z2 = FILE 1
RMS M 1 600
Z3 = FILE 1
= (Z1 + Z2 + Z3)/3.0
再次运行这个宏,就会看到优化后的镜头变化。
在CW中,您可以看到如下信息:
在本例中,光线与孔径相关的权重减小为0.1,您会得到一个不同的镜头,得分稍好一些,为 0.00879156,这是另一个非常好的镜头,这个案例显示了一个重要的说法:当你从平行平面开始时,PSD 算法可以去任何地方 - 起始点或要求的微小变化可以将它发送到不同的路径。
此时我们通常会运行模拟退火程序,点击顶部工具栏的按钮,起始温度55,冷却速率 2,迭代次数 50(55,2,50)。
1、点击 3D Drawings,参数如下图所示,点击“Execute”按钮来渲染RSOLID绘图。注意,结束表面编号被设置为一个大数字(123),以包括所有的表面。这只是一个点击的方式来包含所有的表面,而不计算系统中确切的表面数量。
2、在“绘图中添加光线”对话框中,输入如下图所示的光线选区。在“单根光线”选择部分,我们指定在光轴上用红色绘制的一条光线。在“光线网格”部分,我们在光瞳模式栏中输入3,以指定从视场点 -1 和 1 出发的切向光线扇面,分别用蓝色和绿色绘制。
3、在“元件颜色”对话框中,我们可以选择自动颜色选项或使用 UI (用户界面)中的数据字段指定颜色给不同的表面,如下所示。(给需要分配的颜色输入表面编号,用空格分开)
武汉墨光是光机电领域优质服务商,提供 SYNOPSYS™镜头设计软件、ASAP高级光学系统分析软件、APEX光机系统分析与设计软件、JCMsuite 纳米光学仿真分析软件、PCGrate 光栅设计软件、RP Fiber Power 光纤激光器及光纤器件设计软件、Mathematica 科学计算软件 等产品的推广、销售、咨询、培训、技术支持、软件二次开发及解决方案等服务,辅助高校教学科研、研究所进行高端技术研发以及光机电厂商利用光学软件研发各领域的光学器件与光机系统,在最短时间内完成量产并获利。