附件下载
联系工作人员获取附件
此示例介绍了基于 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
在这一步中,使用附件项目中的脚本生成 5 个不同的光线文件。
在示例中,z轴是车辆的朝上方向,负X轴是车辆前进方向。如果您的项目有不同的方向设置,可以自行调整。
每个光线文件都包含许多光线,这些光线的传播信息稍后将用于计算挡风玻璃畸变。示例项目中还提供了5个预生成的光线文件:第一个光线文件包含中心光线,其他4个光线文件包含围绕中心光线的光线,半径为12mm。这些射线文件的属性可以针对不同的目的进行定制。在本挡风玻璃分析示例中,创建的射线具有以下属性:
起始位置:
X 位置为3500mm
Y 位置是根据用户选择的挡风玻璃表面的形状计算的,其中2条相邻光线之间的距离为30毫米。
Z 位置是根据用户选择的挡风玻璃表面的形状计算的,2条相邻光线之间的距离为 30 毫米。
方向:-x 方向
波长:555nm
能量:1
在此步骤中,将5个光线文件导入到 speos 项目中,该项目将光线发送到挡风玻璃,如下所示:
2d 和 3d 传感器都可以用于仿真生成所需的 *.lpf 文件。在本示例中,使用了3D传感器,记录所有从挡风玻璃射出的折射光线。
保持使用“light expert”功能,以生成 *lpf 文件。lpf 文件记录光线通过挡风玻璃的传播信息:光线文件中的每条光线向前传播,与挡风玻璃相互作用,折射两次,并存在于挡风玻璃中。起始位置、交互位置、出射方向等信息都记录在 LPF 文件中。
这里使用 GitHub 光学自动化中的 python 脚本。该脚本从中心、顶部、底部、左侧和右侧模拟中逐个选择 *.lpf/*.lp3 模拟文件。然后,计算畸变和折射功率并绘制图像。
运行模型的说明和关键结果的讨论
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 文件。
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来定义挡风玻璃体积。
1. 使用链接下载或复 制 Ansys 光学自动化存储库。
2. 如图所示安装所有必要的 python 库。
3. 从光学自动化存储库内的应用程序文件夹中获取 example_windshield_distortion_lpf_reader.py 脚本。
4. 运行脚本。
5. 在执行过程中,系统会要求用户选择 5 个 *.lp3 结果文件。用户需要首先选择中心光线文件,然后使用其他 4 个光线文件来选择剩下的 4 个 *.lp3 文件。
运行完成后,该脚本会绘制 2 个图形:畸变图和屈光度图:
畸变图描述了最大偏转角的分布,屈光度图描述了折射率值。
对此模型中使用的重要对象和设置的说明
在此示例中,向前方向沿x轴。最终结果产生了在 y-z 平面上的图像结果。因此,需要确保挡风玻璃的几何形状使用 x 轴作为前方向和 z 轴作为向上方向。
Speos 使用网格来描述几何形状和光线传播的计算。因此,网格划分质量直接影响挡风玻璃分析计算的精度。为挡风玻璃几何形状设置精细网格非常重要。在此示例中,因为挡风玻璃是曲面结构,需要对其进行精细网格划分以准确模拟其性能,因此将sag mode设为固定模式,其值为 0.001mm。
在畸变研究中,通过比较入射光线和折射出射光线来计算光学畸变。因此,需要在挡风玻璃表面涂覆全透明涂层避免反射。
光线文件明确定义了要在模拟中使用的光线。在使用 rayfile 源进行模拟时,Speos 引擎将根据 rayfile 文件内定义的光线信息列表逐个创建光线,因此,在仿真过程中不要产生更少或更多的光线,这一点很重要。因此,用于direct simulation的光线数量,LPF 最大光线数与光线文件中的光线数量相匹配。
根据设备参数更新模型
在此示例中,结果图的步长值/分辨率设置为 30 毫米。为了生成更详细的结果图,用户可以通过在步骤 1 中创建更高密度的光线文件来提高分辨率,即减小脚本内“step_size”的值。
请注意,由于光线文件中的光线数量会发生变化,因此需要调整模拟光线数,即LPF LPF最大光线数,与光线数量相匹配。
在挡风玻璃分析中,对挡风玻璃的几何形状进行了极其精细的网格划分。因此,对几何体进行网格划分需要大量的仿真时间。为避免重复网格划分,用户可以使用挡风玻璃几何体创建lightbox导出。由于lightbox是应用了光学属性的pre-meshed几何体,因此在仿真运行期间可以节省对挡风玻璃进行网格划分的成本。
为想要进一步自定义模型的用户提供信息和提示
第 43 号法规将挡风玻璃分析定义为一种非常相似的方法。区别在于距离为4mm ,中心光线周围的光线数量为12 (∆X = 4 mm,surrounding rays = 12)。用户可以在创建 rayfile 文件的第一步中实施更改:
1. 将半径值更改为 4
2. 将样本值更改为 13(即 1 条中心射线和 12 条周围射线)
然后,用户将获得 13 个不同的 rayfile 文件进行模拟。