当前位置: 首页 > news >正文

【Zemax光学设计实训三】---激光缩束镜的设计优化

前言与目录

技术设计要求:

设计一个激光扩束镜,使用的波长为1064nm,输入光束直径为10mm,输出光束的直径为2mm,且输入光束和输出光束平行(即平行光入射,平行光出射)。要求只使用两片镜片(材料均为BK7),设计必须是伽利略式的(没有内部焦点),在镜片之间的间隔必须不超过50mm,只许使用1片非球面。


目录

一、参数分析

二、Zemax参数设置

三、初始结构设计

四、光学系统优化

五、像质分析:


 

一、参数分析

  1. 波长(𝜆λ):1064 nm
  2. 输入光束直径(𝐷𝑖𝑛​):10 mm
  3. 输出光束直径(𝐷𝑜𝑢𝑡):2 mm
  4. 镜片材料:BK7
  5. 镜片之间的间隔:不超过200 mm
  6. 非球面镜片数量:1

伽利略式扩束镜由两个透镜组成,第一个透镜(L1)是一个会聚透镜,第二个透镜(L2)是一个发散透镜。输入光束通过L1后会聚,然后通过L2发散,形成平行输出光束。

扩束镜的放大率𝑀M由输出光束直径与输入光束直径的比值给出:

𝑀=𝐷𝑜𝑢𝑡/𝐷𝑖𝑛=2 mm/10 mm=0.2;该设计为一个相当于0.2倍的扩束镜

只能使用一片非球面透镜,我们可以选择L1作为非球面透镜。非球面透镜可以校正球面像差;

 

二、Zemax参数设置

1、设置入瞳直径为10mm;由于入射光斑为10mm;设置波长为1.064um;由于是平行光入射,直接视场设置成一个就行,不需要额外设置;由于是平行光输出(可以将无焦像空间勾选);

b2b2781670a4448c9943d3c1a4814ed0.png

图1

 

三、初始结构设计

由于这个是一个伽利略式的扩束镜形式,所以可以直接设置两个平板进行优化,为方便,我随意设置了一个初始结构,如下图:

d8bdca8829b14d36821df2d6ef031dea.png

图2

 

透镜编辑窗初设参数(根据设计要求,需要先初步设定第一面和最后一面的曲率半径,形成初步结构。),由于项目要求,两曲面的曲率半径可优化,厚度可优化,但是系统长度需要控制50mm,后续在优化操作数里面进行控制;

初始结构的光线如图:

7bb741ad8de34c0e854511951948f3f1.png

图3

 

四、光学系统优化

1、由于由两片透镜组成,那么我们可以将两个透镜的前后曲率半径设置为变量;以及透镜的厚度及空气间隔也是可变得优化量,但是为了方便,还是一步一步进行优化;

299512e2ca70462cb1a2d507a967b7fe.png

设置变量

 

2、打开评价函数进行优化

在开始优化之前,我们需要设置评价函数,首先打开评价函数优化向导,设置成波前优化,类型为RMS;参考质心;并设置空气得边界条件:最小0.5mm,最大50,边缘厚度最小0.1;

8b1a04156d0a4d6eb6ae8ac31daa3ee4.png

评价函数优化向导

 之后添加我们自己得优化函数;限制第一个面和最后一个面得总长度小于50mm,并且限制输出得光束大小为2mm;

7fcfbda301474593a3d640fe5c9c734e.png

函数说明:

        TTHI——用于计算第一面到最后面的总长度。

        OPLT——控制系统的长度范围不超过某个数值(不等式约束)。

        REAY——控制出射面边缘光束的高度。

 

3、开始优化

点击执行优化,可以看到,评价函数从4.403一下就优化到很小了;

f9f97aaadf3c43f9a74f95e3284c1413.png

优化前参数

 

 优化后,得到下图:

058bd32d638b412db8a608e7c233903b.png

优化后

 

五、像质分析:

光扇图和光程差图:

bab592a697b64917ae1129897e9adc5f.png

波前图:

000a67ed1ce04617b3ad129154107f7c.png

点列图:

21b7f01e81874bc3b8f36fa0c48a1f0d.png

 

总结:由于本次的光学条件很轻松,简单优化便达到了理想的像质,没有什么难度,所以就用来复习一下zemax的使用流程;在这次优化设计中,未用到非球面,且厚度变量也未使用到,属于非常简单的光学系统了,后续继续更新光学系统的设计和优化

 

 

 


--

be4403daf2544337b9bc425fe1aa0a50.jpeg

本篇文章为个人学习笔记,供学习和复习使用。未经允许不得转载或用于商业用途。 

 

相关文章:

【Zemax光学设计实训三】---激光缩束镜的设计优化

前言与目录 技术设计要求: 设计一个激光扩束镜,使用的波长为1064nm,输入光束直径为10mm,输出光束的直径为2mm,且输入光束和输出光束平行(即平行光入射,平行光出射)。要求只使用两片…...

TCP/IP协议簇自学笔记

摘抄于大学期间记录在QQ空间的一篇自学笔记,当前清理空间,本来想直接删除掉的,但是感觉有些舍不得,因此先搬移过来。 曾经,我只知道socket函数能进行网络间数据的通信,知道tcp/ip协议也是用来进行网络数据…...

Spring Boot教程之十一:获取Request 请求 和 Put请求

如何在 Spring Boot 中获取Request Body? Java 语言是所有编程语言中最流行的语言之一。使用 Java 编程语言有几个优点,无论是出于安全目的还是构建大型分发项目。使用 Java 的优点之一是 Java 试图借助类、继承、多态等概念将语言中的每个概念与现实世…...

计算机网络(二)

ip地址:11010010:01011110:00100100:00010100 子网掩码:11111111:11111111:11111111:11000000 and :11010010:01011110:00100100:00000000 210.94.36.0的下一站为R1 因为255为11111111 192为&#xff…...

如何在Python中进行数学建模?

数学建模是数据科学中使用的强大工具,通过数学方程和算法来表示真实世界的系统和现象。Python拥有丰富的库生态系统,为开发和实现数学模型提供了一个很好的平台。本文将指导您完成Python中的数学建模过程,重点关注数据科学中的应用。 数学建…...

JavaSE——类与对象(5)

一、抽象类 1.1为什么需要抽象类 父类的某些方法,不确定怎么实现,也不需要实现。 class Animal{public String name;public Animal(String name){this.name name;}public void eat()//这里实现了也没有意义{System.out.println("这是一个动物&am…...

Istio笔记01--快速体验Istio

Istio笔记01--快速体验Istio 介绍部署与测试部署k8s安装istio测试istio 注意事项说明 介绍 Istio是当前最热门的服务网格产品,已经被广泛应用于各个云厂商和IT互联网公司。企业可以基于Istio轻松构建服务网格,在接入过程中应用代码无需更改,…...

面试小札:Java如何实现并发编程

多线程基础 继承Thread类 定义一个类继承自 Thread 类,重写 run 方法。在 run 方法中编写线程要执行的任务逻辑。例如: java class MyThread extends Thread { Override public void run() { System.out.println("线程执行的任务…...

java-a+b 开启java语法学习

代码 (ab) import java.util.Scanner; //导入 java.util包中的Scanner 类,允许读取键盘输入数据public class Main { // 创建一个公共类 Mainpublic static void main(String[] args) {//程序入口点,main方法Scanner scanner new Scanner(…...

RNN模型文本预处理--数据增强方法

数据增强方法 数据增强是自然语言处理(NLP)中常用的一种技术,通过生成新的训练样本来扩充数据集,从而提高模型的泛化能力和性能。回译数据增强法是一种常见的数据增强方法,特别适用于文本数据。 回译数据增强法 定义…...

maven 中<packaging>pom</packaging>配置使用

在 Maven 项目的 pom.xml 文件中, 元素用于指定项目的打包类型。默认情况下,如果 元素没有被显式定义,Maven 会假设其值为 jar。但是,当您设置 pom 时,这意味着该项目是一个 POM(Project Object Model&…...

【Python中while循环】

一、深拷贝、浅拷贝 1、需求 1)拷贝原列表产生一个新列表 2)想让两个列表完全独立开(针对改操作,读的操作不改变) 要满足上述的条件,只能使用深拷贝 2、如何拷贝列表 1)直接赋值 # 定义一个…...

【深度学习】服务器常见命令

1、虚拟环境的安装位置 先进入虚拟环境 which python2、升序查看文件内容 ls -ltr3、查看服务器主机空间使用情况 df -hdf -h .4、查看本地空间使用情况 du -sh ./*du -sh * | sort -nr5、查找并删除进程 # 查找 ps aux# 删除 kill -KILL pid6、查看服务器配置 lscpuuna…...

技术分析模板

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 例如: openAI 的 GPT 大模型的发展历程。 整体架构流程 提示:这里可以添加技术整体架构 例如: 在语言模型中,编码器和解码器…...

python:文件操作

一、文件路径 在Windows系统中,每个磁盘都有自己的根目录,用分区名加反斜杠来表示。我们定位文件的位置有两种方法,一种是绝对路径,另一种是相对路径。绝对路径是从根目录出发的路径,路径中的每个路径之间用反斜杠来分…...

Nginx和Apache有什么异同?

Nginx和Apache都是广泛使用的Web服务器软件,它们各自具有独特的特点和优势,适用于不同的应用场景。以下是关于Nginx和Apache的不同、相同以及使用区别的详细分析: 一、不同点 资源占用与并发处理能力: Nginx使用更少的内存和CPU资…...

泰州榉之乡全托机构探讨:自闭症孩子精细动作训练之法

当发现自闭症孩子精细动作落后时,家长们往往会感到担忧和困惑。那么,自闭症孩子精细动作落后该如何训练呢?今天,泰州榉之乡全托机构就来为大家详细解答。 榉之乡大龄自闭症托养机构在江苏、广东、江西等地都有分校,一直…...

Cookie跨域

跨域:跨域名(IP) 跨域的目的是共享Cookie。 session操作http协议,每次既要request,也要response,cookie在创建的时候会产生一个字符串然后随着response返回。 全网站的各个页面都会带着登陆的时候的cookie …...

qt QGraphicsPolygonItem详解

1、概述 QGraphicsPolygonItem是Qt框架中QGraphicsItem的一个子类,它提供了一个可以添加到QGraphicsScene中的多边形项。通过QGraphicsPolygonItem,你可以定义和显示一个多边形,包括其填充颜色、边框样式等属性。QGraphicsPolygonItem支持各…...

“harmony”整合不同平台的单细胞数据之旅

其实在Seurat v3官方网站的Vignettes中就曾见过该算法,但并没有太多关注,直到看了北大张泽民团队在2019年10月31日发表于Cell的《Landscap and Dynamics of Single Immune Cells in Hepatocellular Carcinoma》,为了同时整合两类数据&#xf…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

爬虫基础学习day2

# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息&#xff0…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...