第2章:Zemax镀膜工具入门

2.1 镀膜编辑器长什么样?

好,咱们直接打开Zemax。你找到菜单栏的「Tools」→「Coating Editor」,点下去,就能看到镀膜编辑器了。

我第一次打开这个界面时,说实话有点懵。满屏的英文,一堆参数,不知道从哪下手。但别怕,我带你捋一遍,其实结构很清晰。

编辑器主要分三块:

  • 菜单栏:在最上面,负责文件的打开、保存、新建。我个人习惯先点「New」清空,再从头写。
  • 编辑区:中间的大白板,你就在这里写镀膜定义。每一行代表一层膜或者一个指令。
  • 状态栏:最下面,显示当前文件路径、行数等信息。嗯,这里要注意,如果你改了文件没保存,状态栏会有提示。

你想想看,这跟写代码有点像。一行一行地定义,Zemax会逐行解析。所以格式必须严格,错一个空格都可能报错。

重要提醒:镀膜编辑器默认打开的是系统自带的 coating.coa 文件。千万别直接改它!我建议你复制一份,另存为 my_coating.coa,然后在系统设置里指定这个新文件。否则下次更新Zemax,你的修改就全没了。

2.2 .coa文件的结构与语法

.coa文件,说白了就是一个纯文本文件。你用记事本也能打开。但Zemax只认它自己的语法规则。

整个文件的结构,我总结为三大部分:

  1. 文件头:声明版本、单位等信息。一般就一两行。
  2. 材料定义:告诉Zemax你用的膜层材料叫什么,折射率是多少。
  3. 膜系定义:具体每一层膜的厚度、材料、层数。

咱们先看一个最简单的例子:

! 这是一个单层增透膜的.coa文件
VERSION 1.0
UNITS MICRONS

MATERIAL "MGF2" 1.38 0.0
MATERIAL "AL2O3" 1.62 0.0

COATING "AR_SINGLE"
  LAYER "MGF2" 0.25
END

我来逐行解释一下:

  • ! 开头的是注释。Zemax会忽略它。我习惯在文件开头写清楚这个膜系是干嘛用的,哪天回头翻看时能省不少时间。
  • VERSION 1.0 是版本号。目前就用1.0,别乱改。
  • UNITS MICRONS 指定厚度单位是微米。也可以用纳米,但我个人习惯用微米,因为跟波长单位统一,不容易搞混。
  • MATERIAL "MGF2" 1.38 0.0 定义材料。引号里是材料名,后面跟折射率和消光系数。这里MGF2的折射率是1.38,消光系数为0(透明材料)。
  • COATING "AR_SINGLE" 开始定义一个膜系,名字叫AR_SINGLE。这个名字你随便起,但别用中文,Zemax不认。
  • LAYER "MGF2" 0.25 定义一层膜。材料是MGF2,厚度是0.25微米(也就是四分之一波长,针对550nm)。
  • END 结束这个膜系的定义。

小技巧:我在项目中遇到过,有人把材料名写错了,比如把"MGF2"写成了"MgF2",大小写不对。Zemax会报错,说找不到这个材料。所以材料名一定要跟定义时完全一致,包括引号。

2.3 材料定义的细节

材料定义那一行,格式是固定的:

MATERIAL "材料名" 折射率 消光系数

折射率可以是常数,也可以是一个公式。比如:

MATERIAL "SIO2" 1.46 0.0
MATERIAL "TIO2" 2.35 0.0

但实际工作中,材料的折射率是随波长变化的。这时候就要用公式了:

MATERIAL "SIO2" 1.46 0.0
  COEFFICIENTS 1.0 0.0 0.0 0.0 0.0 0.0

这个COEFFICIENTS后面跟的是Sellmeier公式的系数。嗯,这里有点复杂,咱们后面章节会专门讲。你现在只要知道,如果材料折射率随波长变化,就得用这个。

避坑指南:我曾经在定义材料时,忘了写消光系数,直接写了个MATERIAL "AL2O3" 1.62。结果Zemax报错,说参数数量不对。记住,消光系数必须写,即使是0也不能省略。

2.4 膜系定义的语法

膜系定义是.coa文件的核心。基本格式是:

COATING "膜系名"
  LAYER "材料1" 厚度1
  LAYER "材料2" 厚度2
  ...
END

厚度可以是具体数值,也可以是相对值。比如:

COATING "AR_DOUBLE"
  LAYER "MGF2" 0.25
  LAYER "AL2O3" 0.25
END

这就是一个双层增透膜,每层都是四分之一波长厚度。

你还可以用变量:

COATING "AR_VARIABLE"
  LAYER "MGF2" 0.25
  LAYER "AL2O3" 0.5
END

这里第二层是半波长厚度。为什么用半波长?说白了,半波长层对某些波长是透明的,可以用来调整相位。这个咱们后面讲膜系设计时会细说。

2.5 常见错误与调试

写.coa文件时,最容易犯的错误我列一下:

错误类型 表现 解决方法
材料名不匹配 Zemax报错:Material not found 检查引号内的名字是否完全一致
厚度格式错误 报错:Invalid thickness 确保厚度是数字,不要带单位
缺少END 报错:Unexpected end of file 每个COATING后面都要有END
注释符号用错 Zemax不识别,可能报错 注释必须用!,不能用#//

我记得有一次,我写了一个20层的膜系,结果Zemax一直报错。我查了半天,发现是第17层后面少了个空格。从那以后,我写.coa文件都会用编辑器自带的语法高亮,一眼就能看出格式问题。

调试技巧:如果你不确定.coa文件有没有问题,可以先用Zemax的「Check Coating」功能。它会告诉你每一行有没有语法错误。我每次写完新膜系,都会先跑一遍这个检查,省得后面仿真时出幺蛾子。

2.6 本章小结

这一章咱们把镀膜编辑器的界面和.coa文件的结构过了一遍。说白了,就是学会怎么跟Zemax说人话——告诉它你要用什么材料、每层多厚、叫什么名字。

下一章,我会带你写一个完整的增透膜,从定义材料到仿真验证,一步步走通。到时候你会发现,镀膜设计其实没那么神秘。

嗯,今天就到这儿。你先把.coa文件的基本语法记住,下次咱们上手实操。