光学设计软件zemax study.docx
- 文档编号:4694642
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:12
- 大小:33.29KB
光学设计软件zemax study.docx
《光学设计软件zemax study.docx》由会员分享,可在线阅读,更多相关《光学设计软件zemax study.docx(12页珍藏版)》请在冰豆网上搜索。
光学设计软件zemaxstudy
光学系统设计(Zemax初学手册)
蔡长青
ISUAL计划团队
国立成功大学物理系
(第一版,1999年7月29日)
内容纲目:
前言
习作一:
单镜片(Singlet)
习作二:
双镜片
习作三:
牛顿望远镜
习作四:
Schmidt-Cassegrain和asphericcorrector
习作五:
multi-configurationlaserbeamexpander
习作六:
foldmirrors和coordinatebreaks
习作七:
使用ExtraDateEditor,OptimizationwithBinarySurfaces
前言
整个福尔摩沙卫星二号「红色精灵」科学酬载计划,其量测仪器基本上是个光学仪器。
所以光学系统的分析乃至于设计与测试是整个酬载发展重要一环。
这份初学手册提供初学者使用软件作光学系统设计练习,整个需要Zemax光学系统设计软件。
它基本上是Zemax使用手册中tutorial的中文翻译,由蔡长青同学完成,并在ZemaxE.E.7.0上测试过。
由于蔡长青同学不在参与「红色精灵」计划,所以改由黄晓龙同学接手进行校稿与独立检验,整个内容已在ZemaxE.E.8.0版上测试过。
我们希望藉此初学手册(共有七个习作)与后续更多的习作与文件,使团队成员对光学系统设计有进一步的掌握。
(陈志隆注)
(回内容纲目)习作一:
单镜片(Singlet)
你将学到:
启用Zemax,如何键入wavelength,lensdata,产生rayfan,OPD,spotdiagrams,定义thicknesssolve以及variables,执行简单光学设计优化。
设想你要设计一个F/4单镜片在光轴上使用,其focallength为100mm,在可见光谱下,用BK7镜片来作。
首先叫出ZEMAX的lensdataeditor(LDE),什么是LDE呢?
它是你要的工作场所,譬如你决定要用何种镜片,几个镜片,镜片的radius,thickness,大小,位置……等。
然后选取你要的光,在主选单system下,圈出wavelengths,依喜好键入你要的波长,同时可选用不同的波长等。
现在在第一列键入0.486,以microns为单位,此为氢原子的F-line光谱。
在第二、三列键入0.587及0.656,然后在primarywavelength上点在0.486的位置,primarywavelength主要是用来计算光学系统在近轴光学近似(paraxialoptics,即first-orderoptics)下的几个主要参数,如focallength,magnification,pupilsizes等。
再来我们要决定透镜的孔径有多大。
既然指定要F/4的透镜,所谓的F/#是什么呢?
F/#就是光由无限远入射所形成的effectivefocallengthF跟paraxialentrancepupil的直径的比值。
所以现在我们需要的aperture就是100/4=25(mm)。
于是从systemmenu上选generaldata,在apervalue上键入25,而aperturetype被default为EntrancePupildiameter。
也就是说,entrancepupil的大小就是aperture的大小。
回到LDE,可以看到3个不同的surface,依序为OBJ,STO及IMA。
OBJ就是发光物,即光源,STO即aperturestop的意思,STO不一定就是光照过来所遇到的第一个透镜,你在设计一组光学系统时,STO可选在任一透镜上,通常第一面镜就是STO,若不是如此,则可在STO这一栏上按鼠标,可前后加入你要的镜片,于是STO就不是落在第一个透镜上了。
而IMA就是imagineplane,即成像平面。
回到我们的singlet,我们需要4个面(surface),于是在STO栏上,选取insertcifter,就在STO后面再插入一个镜片,编号为2,通常OBJ为0,STO为1,而IMA为3。
再来如何输入镜片的材质为BK7。
在STO列中的glass栏上,直接打上BK7即可。
又孔径的大小为25mm,则第一面镜合理的thickness为4,也是直接键入。
再来决定第1及第2面镜的曲率半径,在此分别选为100及-100,凡是圆心在镜面之右边为正值,反之为负值。
而再令第2面镜的thickness为100。
现在你的输入数据已大致完毕。
你怎么检验你的设计是否达到要求呢?
选analysis中的fans,其中的RayAberration,将会把transverse的rayaberration对pupilcoordinate作图。
其中rayaberration是以chiefray为参考点计算的。
纵轴为EY的,即是在Y方个的aberration,称作tangential或者YZplane。
同理X方向的aberration称为XZplane或sagittal。
Zemax主要的目的,就是帮我们矫正defocus,用solves就可以解决这些问题。
solves是一些函数,它的输入变量为curvatures,thickness,glasses,semi-diameters,conics,以及相关的parameters等。
parameters是用来描述或补足输入变量solves的型式。
如curvature的型式有chiefrayangle,pickup,Marginalraynormal,chiefraynormal,Aplanatic,Elementpower,concentricwithsurface等。
而描述chiefrayanglesolves的parameter即为angle,而补足pickupsolves的parameters为surface,scalefactor两项,所以parameters本身不是solves,要调整的变量才是solves的对象。
在surface2栏中的thickness项上点两下,把solvetype从fixed变成MarginalRayheight,然后OK。
这项调整会把在透镜边缘的光在光轴上的height为0,即paraxialfocus。
再次updaterayfan,你可发现defocus已经不见了。
但这是优化设计吗?
再次调整surface1的radius项从fixed变成variable,依次把surface2的radius,及放弃原先的surface2中thickness的MarginalRayheight也变成variable。
再来我们定义一个Meritfunction,什么是Meritfunction呢?
Meritfunction就是把你理想的光学要求规格定为一个标准(如此例中focallength为100mm),然后Zemax会连续调整你输入solves中的各种variable,把计算得的值与你订的标准相减就是Meritfunction值,所以Meritfunction值愈小愈好,挑出最小值时即完成variable设定,理想的Meritfunction值为0。
现在谈谈如何设Meritfunction,Zemax已经default一个内建的meritfunction,它的功能是把RMSwavefronterror减至最低,所以先在editors中选Meritfunction,进入其中的Tools,再按DefaultMeritFunction键,再按ok,即我们选用defaultMeritfunction,这还不够,我们还要规定给meritfunction一个focallength为100的限制,因为若不给此限制则Zemax会发现focallength为时,wavefrontaberration的效果会最好,当然就违反我们的设计要求。
所以在Meritfunctioneditor第1列中往后插入一列,即显示出第2列,代表surface2,在此列中的type项上键入EFFL(effectivefocallength),同列中的target项键入100,weight项中定为1。
跳出Meritfunctioneditor,在Tools中选optimization项,按Automatic键,完毕后跳出来,此时你已完成设计优化。
重新检验rayfan,这时maximumaberration已降至200microns。
其他检验opticalperformance还可以用SpotDiagrams及OPD等。
从Analysis中选spotdiagram中的standard,则该spot大约为400microns上下左右交错,与Airydiffractiondisk比较而言,后者大约为6microns交错。
而OPD为opticalpathdifference(跟chiefray作比较),亦从Analysis中挑选,从Fans中的OpticalPath,发现其中的aberration大约为20waves,大都focus,并且spherical,spherochromatism及axialcolor。
Zemax另外提供一个决定firstorderchromaticabberation的工具,即thechromaticfocalshiftplot,这是把各种光波的backfocallength跟在paraxial上用primarywavelength计算出firstorder的focallength之间的差异对输出光波的wavelength作图,图中可指出各光波在paraxialfocus上的variation。
从Analysis中Miscellaneous项的ChromaticFocalShift即可叫出。
(回内容纲目)
●习作二:
双镜片
你将学到:
画出layouts和fieldcurvatureplots,定义edgethicknesssolves,fieldangles等。
一个双镜片是由两片玻璃组成,通常黏在一起,所以他们有相同的curvature。
借着不同玻璃的dispersion性质,thechromaticaberration可以矫正到firstorder所以剩下的chromaticaberration主要的贡献为secondorder,于是我们可以期待在看chromaticfocalshiftplot图时,应该呈现出paraboliccurve的曲线而非一条直线,此乃secondordereffect的结果(当然其中variation的scale跟firstorder比起来必然小很多,应该下降一个order)。
跟习作一一样,我们仍然要设计一个在光轴上成像,focallength为100mm的光学系统,只不过这次我们用两块玻璃来设计。
选用BK7和SF1两种镜片,wavelength和aperture如同习作一所设,既然是doublet,你只要在习作一的LDE上再加入一面镜片即可。
所以叫出习作一的LDE,在STO后再插入一个镜片,标示为2,或者你也可以在STO前在插入一面镜片标示为1,然后在该镜片上的surfacetype上用鼠标单击,然后选择MakeSurfaceStop,则此地一面镜就变成STO的位置。
在第一、第二面镜片上的Glass项目键入BK7即SF1,因为在BK7和SF1之间并没有空隙,所以此doublet为相黏的二镜片,如果有空隙则需5面镜因为在BK7和SF1间需插入另一镜片,其glasstype为air。
现在把STO旱地二面镜的thickness都fixed为3,仅第3面镜的thickness为100且设为variable,既然要优化,还是要设meritfunction,注意此时EFFL需设在第三面镜上,因为第3面镜是光线在成像前穿过的最后一面镜,又EFFL是以光学系统上的最后一块镜片上的principleplane的位置起算。
其他的meritfunction设定就一切照旧。
既然我们只是依习作一上的设计规范,只不过再加一面SF1镜片而已,所以其他的meritfunction设定就一切照旧。
现在执行optimization,程序如同习作一,在optimization结束后,你再叫出ChromaticFocalShift来看看,是否发现firstorder的chromaticaberration已经被reduced,剩下的是secondorderchromaticaberration在主宰,所以图形呈现出来的是一个paraboliccurve,而且现在shift的大小为74microns,先前习作一为1540microns。
再看其他的performance效果,叫出Rayaberration,此时maximumtransverserayaberration已由习作一的200microns降至20microns。
而且3个不同波长通过原点的斜率大约一致,这告诉我们对每个wavelength的relativedefocus为很小。
再者,此斜率不为0(比较习作一FigE1-2),这告诉我们什么讯息呢?
如果斜率为0,则在pupilcoordinate原点附近作一些变动则并不产生aberration代表defocus并不严重,而aberration产生的主要因素为sphericalaberration。
故相对于习作一(比较他们坐标的scale及通过原点的斜率),现在sphericalaberration已较不严重(因为aberrationscale已降很多),而允许一点点的defocus出现,而出现在rayfancurve的S形状,是典型的sphericalbalancedbydefocus的情况。
现在我们已确定得到较好的performance,但实际上的光学系统长的什么样子呢?
选择Analysis,Layout,2DLayout,除了光学系统的摆设外,你还会看到3条分别通过entrancepupil的top,center,bottom在空间被trace出来,他们的波长是一样的,就是你定的primarywavelength(在此为surface1)。
这是Zemaxdefault的结果。
但是现在还有一个问题,我们凭直觉定出STO的thickness为3,但是真正在作镜片的时候,STO和surface2镜面会不会互相交错穿出,即在edge的thickness值为正数或负数,还有是不是应该改一下设计使lens的aperature比diameter小,如此我们可预留些边缘空间来磨光或架镜。
于是我们可能更改的是diameter,STO的thickness来解决上述问题。
先在STO的diameter上键入14来盖过12.5,此时会有一个”U”字出现代表userdefine,现在设想我们要edgethickness固定为3mm,可是你或许会问这样系统岂不是弄乱了吗?
defocus又会出现,关键是再一次执行optimization即可。
在STO的thickness上单击,选择EdgeThickness项目,则会出现”Thickness”及”RadialHeight”两项,设thickness为3及radialheight为0(若radialheight为0,则Zemax就使定userdefine的semi-thickness)按OK跳出,你会发现STO的thickness已改变,且会出现一个”E”字代表anactivethicknesssolve在该项的parameter上。
既然edgethickness已改变,所以focallength也一定有些许变动,为了维持原有的EFFL,现在再执行optimization一次即可。
现在我们想看看off-axis的performance,从system的Fields中的FieldData,选用3个field来作比较,怎么选呢?
在第2及第3个列中的”Use”项中各单击,在第2列的yfield行中键入7(即7degree),在第3列中键入10,第一列则让它为0即持续on-axis。
而设所有的xfield皆为0,对一个rotational对称的系统而言,他们的值很小,按OK键跳出。
现在Updaterayfan,你可看到如FigureE2-4之图。
图中T代表tangential,S为sagittal,结果显示off-axis的performance很差,这是因为一开始我们就设计系统在on-axis上来作optimization,这些aberration可以用fieldcurvatureplot来估计,选Analysis中,Miscellaneous的FieldCurv/Dist。
则出现如FigureE2-5的图,左图表示shiftinparaxialfocus为fieldangle的函数,而右图为realray的distortion,以paraxialray为参考ray。
在fieldcurvatureplot的讯息也可从rayfans中得知,为fieldcurvatureplot是正比于在rayfanplot中通过原点的斜率。
(回内容纲目)
●习作三:
牛顿望远镜
你将学到:
使用mirrors,conicconstants,coordinatebreaks,threedimensionallayouts,obscurations。
牛顿望远镜是最简单的矫正所有on-axisaberrations的望眼镜。
牛顿望远镜是利用一个简单的parabolicmirror完美地矫正所有order的sphericalaberration,因为我们只在opticalaxis上使用,除sphericalaberration外并没有其他的aberration。
假想要设计一个1000mmF/5的望远镜,我们需要一个具有2000mm的curvature及200mm的aperture。
在surface1即STO上的curvature项中键入-2000mm,负号表示对object而言,其曲面为concave,即曲面对发光源而言是内弯的。
在thickness项中键入-1000,负路表示光线没有透过mirror而是反射回来,在Glass项中键入MIRROR,最后在System的General项中的aperture中键入200。
Wavelength选用0.550,fieldangel则为0。
现在看看spotdiagram,你会看到一个77.6micronsRMS的spotdiagram,而一个很方便估算imagequality的方法就是在spotdiagram的顶端上再superimpose一个Airydiffractionring。
从spotdiagram的menubar选择Setting,在ShowScale上选”AiryDisk”,结果如图FigureE3-1所示,你会发现和选”scalebar”的结果是一样的。
图中所列的RMSspotsize选”AiryDisk”为77.6microns。
光线并没有diffraction-limited的原因是因为我们还没有设定conicconstant。
先前我们设定的curvature的值为-2000只是定义一个球面,若要定义一个抛物面镜,则在STO的Conic项中尚需键入-1,接下来Updatespotdiagram,你会看到”Airyring”为一个黑圈,而光线则聚集在圈内中心上,RMS值为0。
可惜的是,成像的位置很不好,所谓的不好是它位于在入射光的路径上,若你要看这个像的话,你的观看位置刚好挡住入射光。
改善的方法是在反射镜的后面再放一个折镜,foldmirror(后面是相对于成像点而言)。
这个foldmirror相对于光轴的倾斜角度为45,把像往上提离光轴。
因为进来的光束为200mm宽,因此成像平面至少在离光轴100mm的上方,如此”看”像的时候才不会挡住入射光。
我们决定用200mm,而foldmirror离先前的反射镜面为800mm,因为200+800=1000等于原先在STO上的thickness,即成像”距离”不变。
操作如下,先把STO的thickness改为-800,然后在imagineplane前插入一个dummysurface,为何要插入dummysurface呢?
又dummysurface是什么呢?
dummysurface的目的只是在帮助我们把foldmirror的位置标示出来,本身并不具真实的光学镜片意义,也不参予光学系统的任何”反应”,所以称为dummysurface。
怎么插入dummysurface呢?
先在imageplane前面插入一个surface,这个surface很快地就会被转变成foldmirror,但是你不要自己在surfacetype处去改变它成为foldmirror,而是选Tools中的AddFoldMirror,并在其”foldsurface”处选”2”代表定义surface2为foldmirror,完成后你将看到如ZemaxP.31页中LED的表。
或许你会问,表中surfacetype处在surface2及4中皆为CoordBreak,这又是什么?
coordinatebreaksurface是在目前的系统内定义一个新坐标系统,它总是用dummysurface的观念用来作raytracing的目的。
而在描述此新坐标系统中,通常选用6个不同参数,即x-decenter,y-dencenter,tiltx,tilty,tiltz及一个flag来指示tilting或decentration的order。
要注意的是,coordinatebreak总是相对于”current”而”global”的coordinatesystem,即只是在一个系统内部,若要改变某样对象的位置或方向,我们即利用coordinatebreak来作此对象的区域调整,而不用重新改变所有的系统各部份。
Coordinatebreak就像是一个平面指向调整后的局部系统的方位。
然而coordinatebreaksurface绝不会显示出来。
而它的glass项中显示为”-“代表不能键入,而它的surfacetype型式一定跟它前一面镜的glasstype一致。
现在我们来看看layout,不能选2D(2D只能看rotationalsymmetricsystems),要用3D看,叫出layout后,按↑↓或pagedownorup可以看三维效果,这个设计尚可再作改善,首先入射光打到foldmirror背后的部份可以vignetted,这在实际的系统中是一个很重要的思量。
在STO的前面插入一个surface,令这个surface的thickness为900,在surfacetype中的ApertureType还为”CircularObscuration”,在MaxRadius键入40,因为foldmirror的semi-diameter为31,如此才能遮蔽。
Update3Dlayout,如看不到像FigureE3-3的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 光学设计软件zemax study 光学 设计 软件 zemax