233 Topics

Trick: TOLR的另类用途-如何添加一个需要先经过优化才能得到的参数作为操作数添加到Merit function editor 中

TOLR的用途TOLR是优化操作数,与公差敏感度分析有关,目的是返回公差敏感度分析的统计结果,并将这个结果加入到优化过程中。但实际上,包含了compensation过程的公差分析其实就是不同扰动条件下的优化过程。所以TOLR也可以用做一些需要事先经过优化才能得到的参数,当作优化操作数来用。TOLR的使用要添加什么在这一部分讨论的TOLR的使用,与公差没有关系,只要用TOLR背后的优化过程,因此会包含自定义公差脚本部分(因为前一个优化和主要的优化所使用的merit function不同),Tolerancing script中的内容是定义如何补偿及优化的。这里主要用到:CLEARCOMP (remove variables) COMP (set veriables) LOADMERIT (choose merit function) OPTIMIZE 案例及比较在Analyze> Prescription Data> General Dataz 中汇报的 back focus length 是paraxial data,没有相应的操作数,这里利用TOLR来返回这一数据。准备:前一个优化要用的评价函数十分简单, 建立并保存 .MF 文件 。第一个操作数是用来评价BFL的计算,目标是使中心视场近轴光线在像面高度为0。第二个操作数用来计算厚度值的。分别保存为 merit1.mf merit2.mf打开Tolerance> TolerancingSet-up> Mode: SensitivityCriterion> Criterion: User Script/ Script: New 新建一个TSC 文件, 并保存 在选好的Tolerancing界面点击SAVE,保存为 TOLR006.TOP, 这个文件名的format必须符合TOLRXXX的形式。 到这里设置已完成可以直接使用, 比较得出返回的值在各个分析中一致

请问如何让序列模式下的元件和非序列模式下的光源进行互动?

大家好,我目前在尝试复现和《Flat metaform near-eye visor》这篇文献的工作类似的光学系统。论文中的反射式超透镜我改成了透射式超透镜,参数也做了一些修改。如果全部在序列模式下建模,得到的效果大概如图所示。探索了一段时间后发现,用序列模式下的“网格相位”去定义超透镜比较合理,用非序列模式下的探测器去探测成像效果会更好。(这个结论我不确定是否正确,我邮件询问过文章作者,他说是在非序列模式下建模模拟的,但作者找不到原来的文件了。我在非序列模式下确实没有找到可以模拟超透镜的元件,所以目前的想法是在序列模式下添加两个非序列元件,分别是“矩形光源”和“矩形探测器”)看了一下用户手册,发现序列模式下的元件和非序列模式下的光源与探测器作用似乎很复杂。简单来说就是非序列模式下的“矩形光源”并不会与序列模式下的“网格相位”相互作用,尝试对照用户手册中去设置输入端与输出端,也没有得到很好的效果。想要询问大家的问题是,①是否可以在非序列模式下建立一个像序列模式下“网格相位”一样的元件呢?这样的话整个光学系统都可以在非序列模式下进行模拟。我调研了一下似乎可以用网格矢高表面,但老是会遇到问题。②如果①不可行,那像我目前在序列模式下添加非序列元件,要怎样才能让两种元件产生交互呢?附上我目前做的文件以及超透镜的相位数据文件。非常感谢各位的帮助!

Badge winners

  • Allow me to introduce myself
    Sean Turnerhas earned the badge Allow me to introduce myself
  • Allow me to introduce myself
    saifhas earned the badge Allow me to introduce myself
  • Visibly Un-Polarized
    chaasjeshas earned the badge Visibly Un-Polarized
  • Visibly Un-Polarized
    Sean Turnerhas earned the badge Visibly Un-Polarized
  • Allow me to introduce myself
    Davidhas earned the badge Allow me to introduce myself
Show all badges