离轴三反的优化(CODE V)
前言
本次实验主要通过CODE V中的实际例子完成对离轴三反的优化。
一、离轴三反主要优化方向
对于离轴三反的优化,其实一直都是在优化系统的反射镜之间的距离,整个光学系统的光线走向,以及光学系统的体积。对于离轴光学系统来说总共有两种间隙:“第一类间隙”和“第二类间隙”。
以CODE V中的三反系统为例子展示,间隙的优化方式,主要用到基本的宏命令:JMRCC。
JMRCC 的宏描述方式如下:
主要放置于codev的macros目录下的 DEFINE_JMRCC.SEQ 文件中
JMRCC 需要导入以下这些参数:
^clearance == @JMRCC(RA,FA,SA,RB,FB,SB,RC,FC)
clearance是得到值,随便写个名字(xxxxx等)
RA代表光线的主光线还是边缘光线
FA代表输入的视场
SA代表面
上述三个代表线 Line A
RB 代表光线的主光线还是边缘光线
FB代表输入的视场
SB 代表面
下述三个代表Point B
RC,FC暂时不用赋予数值
主要求点到线的距离,从而控制反射镜之间的间隙,从而控制优化方向。
二、参考案例
1.导入系统
现在命令行输入以下代码
in cv_macro:define_jmrcc
res cv_lens:threemir ! 载入三反射系统
yde s2 (yde s2)-(yde s1) ! 设置第二面的Y轴decenter为(yde s2)-(yde s1)
del dda s1 ! 删除S1面的decenter数据
thc s1..2 0 ! 设置变量
thc s4 0 ! 设置变量
bc s2 0 ! 设置非球面 6th为变量
bc s3 0 ! 设置非球面 6th为变量
bc s4 0 ! 设置非球面 6th为变量
del ape sa ! 删除掉 apertures from surface(s).
! nbr 代表箭头
vie;nbr;aap;go
2.优化代码
代码如下(示例):
aut
! 利用宏控制间隙Use clearance control UDMF in 3 places:
@s3_clr == @jmrcc(3,2,1,2,3,3,0,0)
@s3_clr < -25
@field_stop_clr == @jmrcc(3,1,2,2,3,3,3,3)
@field_stop_clr > 5
@lyot_stop_clr == @jmrcc(2,1,3,3,1,4,3,3)
@lyot_stop_clr < -6
! 控制像面中心对焦Image centration
y r1 f2 si = 0
! 由于近轴EFL对离轴系统不太适用,因此控制像面高度,y r1 f1 si代表1视场主光线在像面y高度,y r1 f1 si代表3视场主光线在像面y高度
@image_height == (y r1 f1 si)-(y r1 f3 si)
@image_height = 4.6
! 控制系统高度,以及系统的总长,r1主光线,r2上边缘光线,r3 下边缘光线,f代表视场,s代表面,g1代表以第一个面作为参考面的坐标系统进行计算(同一参考系计算)
@system_length == (z r1 f2 s4 g1)-(z r2 f3 s3 g1)
@system_length < 175
@system_height == (y r2 f3 s2 g1)-(y r2 f1 s4 g1)
@system_height < 200
! 画图
dra
! 两次优化之间的error小于0.01即停止
imp .01
go
vie;nbr;aap;go
总结
以上过程并未完成最终优化,需要重新写一个宏控制一下第二类间隙,后续有空再进行填写。