4. 结构热变形:热弹性力学基础、FEA与Code V的接口、变形数据导入

各位工程师朋友,欢迎来到第四章。前面我们聊了温度场怎么来,怎么映射。但光学系统真正怕的,是温度变了之后,镜片形状跟着变,镜筒也跟着膨胀收缩。这一章,我们就来啃这块硬骨头——结构热变形。

说白了,光路对机械位置的敏感程度,远超你我的想象。一个微米级的镜片偏心,可能就让MTF掉得一塌糊涂。所以,搞清楚结构怎么变形,再把变形数据喂给Code V,是热分析里最核心的一环。

4.1 热弹性力学基础:变形是怎么发生的?

先别急着上软件。我们得先明白一个道理:温度变化为什么会让结构变形?

核心就三个字——热膨胀。材料受热,分子运动加剧,体积自然要变大。但光学系统里,不同材料挨在一起,膨胀系数不一样,你胀得快我胀得慢,内部就会产生应力,进而导致变形。

描述这个现象,有个最基本的公式:

ε = α × ΔT

其中ε是热应变,α是线膨胀系数(CTE),ΔT是温度变化量。这个公式看着简单,但实际工程里,结构往往是三维的,而且受到约束,所以应变不是自由的,会引发应力。

我个人习惯把热弹性问题分成两类:

  • 自由膨胀:结构不受约束,温度均匀变化,形状按比例缩放。比如一个自由放置的铝镜,温度升高10度,它只是均匀变大。
  • 约束膨胀:结构被固定或与其他零件连接,温度变化时不能自由伸缩,内部产生热应力,导致弯曲或扭曲。比如镜片被镜筒压着,温度变了,镜片表面就会产生变形。

关键概念:光学系统里,我们最关心的是约束膨胀。因为镜片通常是被安装固定的,温度变化引起的面形变化,才是影响成像质量的元凶。

我在项目中遇到过一个问题:一个红外镜头,镜片用锗,镜筒用钛合金。常温下装调好好的,一放到高低温箱里,MTF直接崩了。后来一查,锗的CTE是6.1×10⁻⁶/℃,钛合金是8.6×10⁻⁶/℃,两者不匹配,镜片被镜筒挤压变形了。这就是典型的约束膨胀案例。

4.2 有限元分析(FEA)与Code V的接口

好了,理论说完了,接下来是实战。我们怎么把热变形算出来?答案是有限元分析(FEA)。

FEA软件(比如Ansys、Nastran、Abaqus)可以建立结构的有限元模型,施加热载荷,算出每个节点的位移。但问题来了:FEA算出来的是机械节点的位移,而Code V需要的是光学表面的变形数据。这两者怎么对接?

这就是接口要做的事。Code V提供了专门的工具,用来读取FEA的计算结果。我个人最常用的是FEA接口(FEA Interface)功能。

整个流程可以概括为三步:

  1. FEA建模与计算:在FEA软件里建立结构模型,施加热载荷,求解得到节点位移。
  2. 数据导出:将FEA结果导出为Code V支持的格式(通常是通用文件格式,如OPD或节点位移文件)。
  3. Code V导入与拟合:在Code V中导入位移数据,将其拟合到光学表面上,生成变形后的面形。

这里有个坑,我必须提醒你。FEA网格和光学表面网格通常不一致。FEA用的是结构网格,可能很粗;而光学表面需要精细的采样点。所以Code V在导入时,会做插值拟合,把稀疏的节点位移映射到密集的光学网格上。

注意:插值拟合的精度取决于FEA网格的密度。如果FEA网格太粗,拟合出来的面形会丢失高频细节,导致分析结果不准确。我建议在镜片表面区域,FEA网格至少要有10×10个节点以上。

4.3 变形数据导入:手把手操作

下面我们走一遍实际的操作流程。假设你已经用Ansys算好了热变形,得到了一个包含节点位移的文本文件(比如.rst或.pch格式)。

在Code V里,导入变形数据的命令是:

FEA INP 文件名 格式类型

举个例子,如果你有一个Nastran的.pch文件,可以这样写:

FEA INP my_deform.pch NASTRAN

导入之后,Code V会生成一个变形数据集。你可以用FEA LIST命令查看导入的数据概况。

接下来,需要把变形数据应用到具体的光学表面上。命令是:

FEA APPLY 表面序号 数据集序号

比如,把第1个数据集应用到第3个表面:

FEA APPLY S3 1

应用之后,Code V会自动计算变形后的面形,并更新光学系统的性能。你可以用SPO命令查看变形后的表面矢高,或者直接跑一个MTF看看变化。

小技巧:我习惯在导入变形数据后,先用FEA CHECK命令检查一下拟合残差。如果残差太大(比如超过波长的十分之一),说明FEA网格不够密,或者插值方法不合适,需要回去加密网格。

下面这个表格总结了常用的FEA文件格式和对应的Code V导入参数:

FEA软件 文件格式 Code V导入参数 备注
Ansys .rst / .rth ANSYS 需要先导出为文本格式
Nastran .pch / .op2 NASTRAN 最常用,兼容性好
Abaqus .fil / .odb ABAQUS 需要转换工具
通用格式 .dat / .txt USER 自定义格式,需按规范编写

我曾经遇到过一个情况:从Ansys导出的.rst文件,Code V死活读不进去。折腾了半天,发现是Ansys的版本问题,导出的文件头格式不兼容。后来我改用.pch格式,一次成功。所以,如果你遇到导入失败,不妨换个格式试试。

4.4 知识体系总览

为了让你对整个流程有个直观的认识,我画了一张图,把这一章的核心逻辑串起来。

结构热变形分析流程 热弹性力学基础 热膨胀 · 热应力 · 约束 FEA建模与计算 Ansys / Nastran / Abaqus 数据导出 .pch / .rst / .dat Code V导入 FEA INP 命令 变形拟合 插值 · 残差检查 应用与评估 FEA APPLY · MTF分析 · 面形检查 💡 核心要点 • FEA网格密度直接影响变形拟合精度,镜片表面建议至少10×10节点 • 导入后务必检查拟合残差,残差过大需返回加密网格

这张图把整个流程分成了六个环节。从最底层的热弹性力学理论,到FEA计算,再到数据导出、Code V导入、变形拟合,最后到应用评估。每一步都有对应的工具和注意事项。

嗯,这里要注意,很多新手容易跳过第一步,直接拿FEA结果就往Code V里塞。结果发现变形数据跟光学表面根本对不上,或者拟合出来的面形奇奇怪怪。所以,我建议你每次做热分析之前,先花十分钟想清楚:这个结构是自由膨胀还是约束膨胀?哪些材料在互相拉扯?心里有数了,再动手建模。

好了,这一章的内容就到这里。结构热变形是热分析里最需要耐心的一步,但也是最有成就感的一步。当你看到变形后的面形被精确地导入到Code V里,并且成功预测了高温下的像质变化时,你会觉得之前所有的折腾都是值得的。