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

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战,从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分,它涵盖了相机镜头的显式动态模拟,以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程进行显式动力学模拟,其中 LS - DYNA 用于解决跌落物理问题,然后通过STAR工具将其导入Ansys Zemax optic studio Enterprise,进而研究对光学性能产生的影响。

  • Ansys Zemax | 手机镜头设计 - 第 1 部分:光学设计icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650053772&idx=1&sn=ad09702fc3eaa58fea37843a4da28372&chksm=8ffda555b88a2c435b05a01dad0b8006e8c421d11de7e515c13f895c883f93fb34b195241f01&token=1134198106&lang=zh_CN#rd

  • Ansys Zemax | 手机镜头设计 - 第 2 部分:使用 OpticsBuilder 实现光机械封装icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650053838&idx=1&sn=00ea3ad15a8e69ad4de38bb2dbf3e8fb&chksm=8ffda517b88a2c01532fcae47aff95cb26937e9d22e77f872bbb02134808989d2a189148dbfe&token=1134198106&lang=zh_CN#rd

  • Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650054345&idx=1&sn=046c9f8b676af5b47ac424b168c38b3f&chksm=8ffda710b88a2e069b2d651dfde305caac76f5f80c53252ed638a58858a28337709dc18a821b&token=1134198106&lang=zh_CN#rd

附件下载

联系工作人员获取附件

介绍

Ansys LS-DYNA (LS-DYNA)与本系列文章前面部分的Ansys工具(Ansys Zemax OpticStudio、Speos、Mechanical 和 Workbench)一起,可以将仿真工作流扩展为显式动力学,LS-DYNA 广泛用于各种分析,它的核心能力之一是显式动态。Ansys LS-DYNA适用于分析涉及接触、大变形、非线性材料、瞬态响应和/或需要显式解决方案的问题。

LS - DYNA Workbench 系统(WB LS - DYNA)允许用户使用 LS - DYNA 求解器对模型进行显式动力学分析。虽然它允许在一个环境中进行预处理、求解和后处理,但该工作流需要结合使用 WB LS - DYNA 和 LS Prep - Post 进行高级后处理。

与本系列文章的第3部分“Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析”类似,本部分也使用 Ansys Mechanical 生成 FEA 数据集。然而,第3部分的重点是使用 STAR 工具和 ZOS API 自动导入有限元分析数据,而第4部分的重点是生成显式动力学结果,并在 Ansys Zemax 中查看光学性能。这两个工作流程都需要 Ansys Zemax opticstudio Enterprise 中的 STAR 工具来处理 FEA 变形。

使用显式动力学进行有限元分析

手机摄像头的光机系统(光机设计见第 2 部分)被加载到 Ansys Workbench 中,并导入到 LS - DYNA 分析系统中。为了使碰撞模拟更真实,摄像头系统被放置在一个更大的机身内,该机身具有常见智能手机设备的尺寸和形状。

IM1.png

模拟包含摄像头系统掉落在平坦表面上的瞬态序列。平坦表面(可能是地板)在上面的图像中被标记为红色,并被设置为固定支撑。固定支撑是一种边界条件,可防止选定的几何图形或网格实体移动或变形。

假设物体从静止状态(初速度= 0)落下,仅因重力下落,那么撞击时的速度可以用以下公式计算:

EQ1.png

其中,v=冲击速度,g =重力加速度(9.8 m/s²),h = 摄像机系统落下的高度。假设带有摄像系统的手机从1.5米的高度(大约相当于一个普通人的手的高度)掉落,撞击速度为

EQ2.png

这导致整个手机产生以下初始变形:

以及透镜本身的以下变形:

  • 请注意,出于演示目的,视觉变形已按比例放大。

为了分析此跌落测试对光学性能的影响,需要单个透镜的变形数据集。为了提取数据集,为每个透镜面创建一个命名选择。在 WB - LSDYNA 中求解模拟后,在 LS - PrePost 中读取输入文件和结果。LS - PrePost 是 LS - DYNA 的专用前后处理工具。在 LS - PrePost 中,运行一个脚本来将特定面(在命名选择中定义)的变形导出为正确的格式,以便可以通过 STAR 工具将它们导入到 Ansys Zemax OpticStudio 中。

模拟涉及两个步骤,并且从两个步骤中都导出变形数据集:

  • 冲击分析:这是模拟时间的 0 - 0.1ms,即冲击发生时。

  • 冲击后分析:这是冲击状态后 1 秒,此时允许振动衰减以避免变形中出现任何不必要的噪声。

将 FEA 数据加载到 Ansys Zemax OpticStudio 中

在 Ansys Mechanical 中生成 FEA 数据集后,现在可以将它们加载到 OpticStudio 中。如本系列文章第 1 部分所述,名义上的手机摄像头系统已在 OpticStudio 中设计并优化了性能。透镜系统本身的设计基于一项专利,包含五个主要的非球面透镜:

IM2.png

为了分析和比较手机摄像头在三种主要状态(冲击、冲击后和名义)下的性能,通过 OpticStudio 主窗口顶部 STAR 选项卡中的多物理场数据加载器导入 FEA 数据集。

IM3.png

对于代表透镜或光学组件物理表面的每个表面,分配一个 “Surface_deformation” 数据集。由于自从从 OpticStudio 导出名义几何形状以来坐标系没有改变,因此为特定表面对齐数据集并设置为全局坐标系。如果不是这种情况,可以将坐标系更改为局部坐标系,或者可以应用用户定义的变换。在将数据集分配给表面后,可以通过单击 “OK(Fit Multiphysics Data)” 加载和拟合数据集。

不同状态下的光学性能分析

加载和拟合多物理场数据后,现在可以分析不同状态的性能,更重要的是进行比较。由于这是一个手机摄像头系统,在性能分析过程中有一些分析工具可供使用。在这种情况下,使用以下分析工具进行分析和比较:

  • 图像模拟 - 此功能通过将源位图文件与点扩散函数阵列进行卷积来模拟图像的形成。考虑的影响包括衍射、像差、畸变、相对照明、图像方向和偏振。

  • 波前图 - 显示光瞳上的波前误差。

  • STAR 系统查看器(变形) - 显示由于拟合的多物理场数据而导致的表面变形和光学性质变化的系统范围视图。

名义状态

由于透镜系统已经针对这种状态进行了优化,所以图像模拟的质量非常好。波前误差是旋转对称的,最大误差为0.225波。没有显示变形,因为没有应用多物理数据。这将作为基线和性能的“理想”状态。

IM4.png

冲击状态

当加载冲击状态的数据集时,很明显可以看出相机系统的性能可以被认为是不可用的。变形太大,以至于图像模拟和波前图的结果可以被声明为 “陈旧数据”。有趣的是,可以在 STAR 系统查看器中看到透镜系统的变形幅度。平均变形约为0.33mm,对于一个光学系统来说,变形太大以至于无法执行并产生任何有意义的结果。

IM5.png

OpticStudio 中 STAR 工具的一大优势是可以将刚体运动的效果与曲面变形的效果分离。这可以通过结构数据摘要中的简单勾选框来实现,并且可以随时打开或关闭。在下面的动态图中,从完整的变形数据开始,首先 RBM 部分被禁用,然后变形效果被全部忽略:

在上面显示的分析结果中,包括了 RBM。下面显示了相同的分析,但这次排除了 RBM。这使您能够观察高阶变形,这在光学分析过程中很重要。STAR 系统查看器显示平均变形幅度约为 0.025mm,这导致波前误差约为40个波长,与给出大约四分之一波长的波前误差的标称性能相比,这仍然表示严重的光学像差。如此大的波前误差导致图像质量严重下降,这可以在图像模拟中看到。

IM7.png

  • 联系工作人员了解关于 RBM 变形和高阶变形比较的更多信息

冲击后状态

冲击后状态的结果如下所示。

IM8.png

查看 STAR 系统查看器的变形矢量,仍然有趣的是,在一些透镜的边缘区域仍然有大约 0.025mm 的变形幅度。然而,很明显可以看出最后一个透镜(即红外滤光片)的幅度显著下降。这导致性能仍然明显比名义状态差,但产生了更可用的结果。波前图显示误差约为 ±15 波,这仍然远远超过此类光学系统的可接受极限。图像模拟显示了透镜变形与摄像头系统中可能出现的畸变和像差之间的直接联系。物体可以识别,但非常模糊。

结论

本系列文章的第 4 部分展示了如何在 Ansys Workbench 中使用 Ansys LS - DYNA 模拟手机摄像头模块的跌落测试的显式动力学。使用 Ansys Mechanical 提取了冲击和冲击后状态的变形数据集并进行处理,以便在 Ansys Zemax OpticStudio 中使用。在 Ansys Zemax OpticStudio 中,可以通过 STAR 模块加载 FEA 数据集并将其分配给光学系统。这样,光学工程师可以研究和比较光学系统在冲击和冲击后状态变形影响下的性能。

后续步骤

在这个示例中,我们分析了跌落测试中的光学性能。同样,LS-DYNA- Mechanical - Zemax 工作流程还可以应用于研究振动或累积冲击等其他领域。

相关文章:

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战,从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分,它涵盖了相机镜头的显式动态模拟,以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程…...

工具收集 - java-decompiler / jd-gui

工具收集 - java-decompiler / jd-gui 参考资料 用法:拖进来就行了 参考资料 https://github.com/java-decompiler/jd-gui 脚本之家:java反编译工具jd-gui使用详解...

《无线重构世界》射频模组演进

射频前端四大金刚 射频前端由PA、LNA、滤波器、开关“四大金刚” 不同的模块有自己的工艺和性能特点 分层设计 射频前端虽然只由PA、LNA、开关、混频器4个模块构成,但不同模块之间相互连接且相互影响。如果将射频系统当成一个整体来理解,其中的细节和…...

渗透测试---docker容器

声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人一律不承担一切后果 目录 一、Docker的作用与优势 二、docker的核心…...

【go从零单排】Atomic Counters原子计数

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,原子计数器(Atomic Counters)是…...

VSCode中python插件安装后无法调试

问题 VSCode中python插件安装后无法调试,如下,点击调试,VScode中不报错,也没有调试 解决方法 1、查看配置 打开所在路径 2、拷贝 将整个文件夹拷贝到vscode默认路径下 3、问题解决 再次调试,可以正常使用了…...

用react实现radio同时关联proform组件

实现&#xff1a; <ProFormRadio.GroupradioType{button}name{[bodyConfig, format]}label"请求体格式"initialValue{json}options{createTabs}fieldProps{{buttonStyle: solid,wrapperMarginInlineEnd: 20,onChange: e > {let v e.target.value;databaseMod…...

Objective-C 1.0和2.0有什么区别?

Objective-C ObjC比较小众&#xff0c;在1980年左右由Stepstone公司的Brad Cox和Tom Love发明。后来NeXT公司获得ObjC语言使用权&#xff0c;再后来到1996年NeXT被苹果公司收购也变成苹果公司使用&#xff0c;Mac市场占有率本身就不高&#xff0c;ObjC没有太多程序员。在移动互…...

TCP连接如何保障数据传输安全

TCP连接保障数据传输安全主要通过以下几个机制实现&#xff1a; 1、建立连接&#xff1a;TCP通过三次握手过程建立连接&#xff0c;确保通信双方实体真实存在&#xff0c;为后续的可靠数据传输打下基础。 2、序号机制&#xff1a;TCP为每个传输的数据包分配一个序号&#xff…...

【论文复现】ChatGPT多模态命名实体识别

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ChatGPT ChatGPT辅助细化知识增强&#xff01;1. 研究背景2. 模型结构和代码3. 任务流程第一阶段&#xff1a;辅助精炼知识启发式生成第二阶段…...

管理 Elasticsearch 变得更容易了,非常容易!

作者&#xff1a;来自 Elastic Ken Exner Elasticsearch 用户&#xff0c;我们听到了你的心声。管理 Elasticsearch 有时会变得很复杂&#xff0c;面临的挑战包括性能调整、问题检测和资源优化。我们一直致力于简化你的体验。今天&#xff0c;我们宣布了自收购 Opster 以来的一…...

SynchronousQueueworkQueue.offer() 和 poll() 方法的超时控制及线程池的讨论

2024.11.12 11:26 问&#xff1a;workQueue.offer(command) 这里 workQueue.poll(keepAlive, TimeUnit.NANOSECONDS) : 这里的 workQueue.offer(command) 没有超时时间控制&#xff1f; Claude 3.5 Haiku 非常好的问题&#xff01;我来详细解释 offer() 和 poll() 方法的区别…...

自动驾驶---“火热的”时空联合规划

1 背景 早期的不少规划算法都是横纵分离的(比如Apollo),先求解path之后,依赖path的结果再进行speed的求解。这种横纵解耦的规划方式具有以下特点: 相对较为简单,计算量通常较小,容易实现实时性要求。但是由于分别规划横向和纵向运动,可能会忽略两者之间的耦合关系,导致…...

命令行工具进阶指南

&#x1f680; 命令行工具进阶指南&#xff1a;Git、Shell与效率工具的进阶之路 掌握命令行工具&#xff0c;让你的开发效率突飞猛进。本文将深入探讨 Git 高级技巧、Shell 脚本自动化以及各种效率倍增的 CLI 工具。 &#x1f4d1; 目录 Git 高级技巧与工作流Shell 脚本自动化…...

扫雷游戏代码分享(c基础)

hi , I am 36. 代码来之不易&#x1f44d;&#x1f44d;&#x1f44d; 创建两个.c 一个.h 1&#xff1a;test.c #include"game.h"void game() {//创建数组char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };char temp[ROWS][COLS] { 0 };//初始化数…...

基于vue框架的的社区居民服务管理系统8w86o(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;居民,楼房信息,报修信息,缴费信息,维修进度 开题报告内容 基于Vue框架的社区居民服务管理系统开题报告 一、研究背景与意义 随着城市化进程的加速&#xff0c;社区居民数量激增&#xff0c;社区管理面临着前所未有的挑战。传统的社区…...

一分钟快速熟悉makedown

Markdown 是一种轻量级标记语言&#xff0c;广泛用于编写文档、撰写博客、创建 README 文件等。它的语法简单易学&#xff0c;能够快速生成格式化的文本。以下是 Markdown 的一些常用语法和示例&#xff1a; 1. 标题 Markdown 支持六级标题&#xff0c;使用 # 符号表示。 # …...

P8649 [蓝桥杯 2017 省 B] k 倍区间:同余,前缀和,组合数,区间个数

题目描述 给定一个长度为 NN 的数列&#xff0c;A1,A2,⋯ANA1​,A2​,⋯AN​&#xff0c;如果其中一段连续的子序列 Ai,Ai1,⋯Aj(i≤j)Ai​,Ai1​,⋯Aj​(i≤j) 之和是 KK 的倍数&#xff0c;我们就称这个区间 [i,j][i,j] 是 KK 倍区间。 你能求出数列中总共有多少个 KK 倍区…...

产业与学术相互促进,2024年OEG海上能源博览会助力全球能源可持续发展

10月30日至31日&#xff0c;2024年OEG海上能源全产业链博览会在上海跨国采购会展中心成功举办。本次大会系全球海洋工程与高端装备领域的年度国际交流盛会——第十一届全球FPSO&FLNG&FSRU大会&#xff0c;同期举办第七届亚洲海洋风能大会。本次大会暨博览会由上海船舶工…...

【GDB调试】智慧中控项目的调试

一.在执行的智慧中控项目的时候&#xff0c;喊语音模块唤醒(小欣小欣)的时候遇到了&#xff1a;Segmentation fault 段错误 二.遇到段错误&#xff0c;一般是以下情况&#xff1a; “Segmentation fault”&#xff08;段错误&#xff09;是Linux系统中常见的程序异常终止信号。…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...