Ansys Speos | 挡风玻璃光学畸变分析

2024-08-28 02:36

本文主要是介绍Ansys Speos | 挡风玻璃光学畸变分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

附件下载

联系工作人员获取附件

此示例介绍了基于 TL 957 标准和43号法规(ECE R43)的挡风玻璃光学畸变分析的工作流程,以及 GitHub Ansys 光学自动化中提供的分析自动化工具。

如果您从未使用过任何 GitHub 仓库,可以根据光学自动化库的介绍进行操作,该文章在运行以下的工作流程之前可以提供一些必备知识。

该工作流程使用了于 2023R1 发布的light expert function光源专家功能和light path find光路径查找 API 功能。在使用 API 时要注意指定特定的 Python 版本。例如,在 Speos 2023R1 版本中,需要 python 3.9 或更高版本才能与 2023R1 的结果交互;在 Speos 2024R2 版本中,需要 python 3.10.12 或更高版本。使用前可以查看 Speos 版本用户指南,以确认工作流程中需要哪个 Python 版本。

图片

概述

了解仿真工作流程和关键结果

图片

在汽车行业中,TL 957 标准和ECE R43法规(即43号法规)是最受青睐的光学畸变评估准则。尽管测量这两种标准下的光学畸变所采用的方法大体相似,但存在两个关键参数上的差异,这些参数包括测量半径和周边光线的数量,稍后将对它们进行更详尽的阐释。本示例将采用TL 957标准来展示具体的工作流程。至于ECE R43,它在“Taking the Model Further”部分有详细说明,旨在为那些对ECE R43定义感兴趣的用户提供参考。

本文阐述了运用 Speos 软件进行挡风玻璃光学畸变分析的方法。文中提供的示例将展示如何利用 TL 957 标准,在 Speos 环境下创建挡风玻璃项目。通过该示例,用户将能够生成基于特定挡风玻璃几何形状的光学畸变图和屈光度图。

TL 957 标准规定了硅酸盐玻璃车辆玻璃板的要求和测试,其中第9.2节详细说明了光学畸变测试。尽管测试名为“光学畸变”,但实际测量的是屈光率。屈光度的计算方式如图所示:

图片

图中展示了挡风玻璃的横截面。两条光线自左向右穿过玻璃。位于顶部的光线在点M与玻璃发生相互作用,而底部的光线则在点M’处发生相互作用。两个偏转角分别标记为α1和α2,它们代表了从挡风玻璃射出的光线(即透射光线)与入射光线之间的夹角。

在位置M处的屈光度DM可以通过在M点的光学畸变值ΔαM除以ΔX来计算。光学畸变值定义为在距离上的偏转角度差。基于上图,光学畸变值是通过计算位置M和M′处存在的挡风玻璃上的两条传输光线之间的角度来得到的。在标准TL 957中,使用在4个M′点测量的最大光学畸变值来计算折射力,如下图所示。

图片

本文阐述了如何运用Speos软件分析汽车挡风玻璃的光学畸变。本示例将介绍一个Speos挡风玻璃分析项目。基于特定挡风玻璃几何形状,将生成一个光学畸变图和一个屈光度图。

绿色点代表位于M位置的光线。在中心光线M′的上方、下方、左侧和右侧的其他四条光线被用来获得最大的光学畸变值。在标准的TL 957中,距离值∆X被设定为12毫米。

还有其他标准以类似但略有不同的方式定义了光学畸变分析。例如:联合国欧洲经济委员会的第43号法规(ECE R43)。在第43号法规中,距离值∆X设定为4毫米,并且要求使用16条光线来获得最大光学畸变值。

在这个例子中,为了演示目的,使用了材料为PMMA的简单单层挡风玻璃。光学畸变是根据TL 957标准的定义计算的。您需要安装以下工具:

  • Ansys Speos 2023R2或更高版本。

  • 在链接中说明的Python版本。

  • PyCharm 或其他 Python IDE

第 1 步:创建 rayfile 文件

在这一步中,使用附件项目中的脚本生成 5 个不同的光线文件。

在示例中,z轴是车辆的朝上方向,负X轴是车辆前进方向。如果您的项目有不同的方向设置,可以自行调整。

每个光线文件都包含许多光线,这些光线的传播信息稍后将用于计算挡风玻璃畸变。示例项目中还提供了5个预生成的光线文件:第一个光线文件包含中心光线,其他4个光线文件包含围绕中心光线的光线,半径为12mm。这些射线文件的属性可以针对不同的目的进行定制。在本挡风玻璃分析示例中,创建的射线具有以下属性:

  • X 位置为3500mm

  • Y 位置是根据用户选择的挡风玻璃表面的形状计算的,其中2条相邻光线之间的距离为30毫米。 

  • Z 位置是根据用户选择的挡风玻璃表面的形状计算的,2条相邻光线之间的距离为 30 毫米。

  • 起始位置:

  • 方向:-x 方向

  • 波长:555nm

  • 能量:1

第 2 步:Speos 模拟

在此步骤中,将5个光线文件导入到 speos 项目中,该项目将光线发送到挡风玻璃,如下所示:

图片

2d 和 3d 传感器都可以用于仿真生成所需的 *.lpf 文件。在本示例中,使用了3D传感器,记录所有从挡风玻璃射出的折射光线。

图片

保持使用“light expert”功能,以生成 *lpf 文件。lpf 文件记录光线通过挡风玻璃的传播信息:光线文件中的每条光线向前传播,与挡风玻璃相互作用,折射两次,并存在于挡风玻璃中。起始位置、交互位置、出射方向等信息都记录在 LPF 文件中。

图片

第 3 步:通过处理 LPF 文件进行失真分析

这里使用 GitHub 光学自动化中的 python 脚本。该脚本从中心、顶部、底部、左侧和右侧模拟中逐个选择 *.lpf/*.lp3 模拟文件。然后,计算畸变和折射功率并绘制图像。

 

运行和结果

运行模型的说明和关键结果的讨论

第 1 步:创建 rayfile 文件

1. 从此应用程序库下载示例 zip。可以在 zip 文件夹中找到“distortion step 1 enhanced.py”python 脚本。

2. 将脚本python文件“Distortion step 1 enhanced.py”拖放到Ansys Speos中。

3. 在第 100 行,用户需要定义脚本使用windshield_surfaces的位置来生成光线。

4. 选择脚本内容,如下面的截图所示。

5. 选择内挡风玻璃表面或外挡风玻璃表面。

6. 单击脚本编辑器中的“Insert selection”工具按钮。

7. (第 96 行和第 97 行)默认情况下,horizontal_step和vertical_step设置为 30mm。这意味着 2 条中心光线之间的水平和垂直距离为 30 毫米。

8. (第 98 行和第 99 行)默认情况下,样本和半径设置为 5 和 12mm。这代表 TL 957 的要求:每次局部计算总共需要 5 条射线,中心射线与圆上其他 4 条射线之间的距离为 12 毫米。

9. (第 106 行)默认情况下,光线的起始位置的 X 坐标设置为3500mm。如果用户的挡风玻璃的x坐标位置大于3500mm,则用户需要调整此值。

10. (第 120 行)默认情况下,所有 ray 文件都将在 C:\temp 文件夹下生成。如果用户不存在此文件夹或希望保存在不同的位置,用户可以自定义目标生成文件夹。

图片

在 c:\temp 文件夹中,创建了 5 个不同的 rayfile 文件:ray_file_0.ray 包含中心光线。打开每个光线文件并检查,光线数量应该相同,即每个文件里面有 463 条光线。

图片

此步骤还可以选择直接使用示例项目中提供的 rayfile 文件。

第 2 步:Speos 模拟

1. 在 Speos 2023R2 中,打开 speos 项目 “windshield_distotion_study.scdocx” 并创建 5 个 rayfile 源。

2. 选择从步骤 1 中生成的 5 个光线文件定义光线文件源。

3. 编辑每个direct simulation并选择 1 个光线文件源。检查direct simulation使用的光线数量和 LPF 最大路径的设置是否与光线文件中的光线数量匹配。

4. 更新每个方向的模拟。每个模拟将生成一个 *.lp3 文件。

请注意,如果此项目中使用的挡风玻璃形状由分离的曲面定义,即此几何图形中没有挡风玻璃体积。为了描述被表面包围的体积的光学特性,应该使用挡风玻璃表面的Name-Selection/Group来定义挡风玻璃体积。

第 3 步:通过处理 LPF 文件进行失真分析

1. 使用链接下载或复制 Ansys 光学自动化存储库。

2. 如图所示安装所有必要的 python 库。

3. 从光学自动化存储库内的应用程序文件夹中获取 example_windshield_distortion_lpf_reader.py 脚本。

4. 运行脚本。

5. 在执行过程中,系统会要求用户选择 5 个 *.lp3 结果文件。用户需要首先选择中心光线文件,然后使用其他 4 个光线文件来选择剩下的 4 个 *.lp3 文件。

运行完成后,该脚本会绘制 2 个图形:畸变图和屈光度图:

图片

图片

畸变图描述了最大偏转角的分布,屈光度图描述了折射率值。

 

重要的模型设置

对此模型中使用的重要对象和设置的说明

CAD 几何图形方向

在此示例中,向前方向沿x轴。最终结果产生了在 y-z 平面上的图像结果。因此,需要确保挡风玻璃的几何形状使用 x 轴作为前方向和 z 轴作为向上方向。

对挡风玻璃使用精细网格划分

Speos 使用网格来描述几何形状和光线传播的计算。因此,网格划分质量直接影响挡风玻璃分析计算的精度。为挡风玻璃几何形状设置精细网格非常重要。在此示例中,因为挡风玻璃是曲面结构,需要对其进行精细网格划分以准确模拟其性能,因此将sag mode设为固定模式,其值为 0.001mm。

在挡风玻璃上使用全透明表面光学特性

在畸变研究中,通过比较入射光线和折射出射光线来计算光学畸变。因此,需要在挡风玻璃表面涂覆全透明涂层避免反射。

使用相同数量的光线进行模拟和light expert function

光线文件明确定义了要在模拟中使用的光线。在使用 rayfile 源进行模拟时,Speos 引擎将根据 rayfile 文件内定义的光线信息列表逐个创建光线,因此,在仿真过程中不要产生更少或更多的光线,这一点很重要。因此,用于direct simulation的光线数量,LPF 最大光线数与光线文件中的光线数量相匹配。

 

根据参数更新模型

根据设备参数更新模型

使用较小的步长值生成更详细的结果映射

在此示例中,结果图的步长值/分辨率设置为 30 毫米。为了生成更详细的结果图,用户可以通过在步骤 1 中创建更高密度的光线文件来提高分辨率,即减小脚本内“step_size”的值。

请注意,由于光线文件中的光线数量会发生变化,因此需要调整模拟光线数,即LPF LPF最大光线数,与光线数量相匹配。

使用lightbox可避免每次模拟都重新划分网格

在挡风玻璃分析中,对挡风玻璃的几何形状进行了极其精细的网格划分。因此,对几何体进行网格划分需要大量的仿真时间。为避免重复网格划分,用户可以使用挡风玻璃几何体创建lightbox导出。由于lightbox是应用了光学属性的pre-meshed几何体,因此在仿真运行期间可以节省对挡风玻璃进行网格划分的成本。

 

进一步推广模型

为想要进一步自定义模型的用户提供信息和提示

更改参数以实施 ECE No. 43 法规

第 43 号法规将挡风玻璃分析定义为一种非常相似的方法。区别在于距离为4mm ,中心光线周围的光线数量为12 (∆X = 4 mm,surrounding rays = 12)。用户可以在创建 rayfile 文件的第一步中实施更改:

1. 将半径值更改为 4

2. 将样本值更改为 13(即 1 条中心射线和 12 条周围射线)

然后,用户将获得 13 个不同的 rayfile 文件进行模拟。

这篇关于Ansys Speos | 挡风玻璃光学畸变分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1113483

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据