2. 光机结构力学基础
有限元法,说白了就是把一个连续体拆成无数个小块,然后挨个分析。我刚开始接触光机结构时,总觉得这方法有点绕——明明一个整体,干嘛非要拆开?后来做第一个反射镜支撑项目时,才真正体会到:不拆开,你根本算不准镜面变形。
嗯,这一章我们就聊聊有限元法的核心思想、单元类型怎么选,以及网格划分的那些坑。
有限元法的基本思想
有限元法的本质,就是「化整为零,积零为整」。你想想看,一个复杂的光机结构,比如望远镜的主镜室,它的变形规律很难用一组方程直接描述。但如果我们把它切成几万个微小单元,每个单元的变形规律就简单多了——无非是线性或二次多项式。
具体来说,有限元法包含三个核心步骤:
- 离散化:把连续体分割成有限个单元,单元之间通过节点连接
- 单元分析:建立每个单元的刚度矩阵和载荷向量
- 整体求解:组装全局刚度矩阵,求解节点位移和应力
我在项目中遇到过一位同事,他总觉得网格越密越好,结果一个简单的镜框分析跑了三天。其实有限元法的精度并不完全取决于网格密度,而是取决于单元类型是否匹配物理问题。这一点,后面会细说。
核心要点:有限元法不是「越细越好」,而是「匹配才好」。单元类型选对了,粗网格也能得到好结果;选错了,细网格也是白算。
单元类型与选择
单元类型的选择,直接决定了分析结果的可靠性。我个人的习惯是:先看结构几何特征,再看受力状态,最后才翻单元库。
光机结构中常用的单元类型,我整理了一张表:
| 单元类型 | 节点数 | 自由度 | 适用场景 | 典型应用 |
|---|---|---|---|---|
| 杆单元 (LINK) | 2 | 轴向位移 | 只承受拉压 | 支撑杆、桁架 |
| 梁单元 (BEAM) | 2 | 6个自由度 | 细长结构,弯扭组合 | 镜筒、支架 |
| 壳单元 (SHELL) | 4/8 | 6个自由度 | 薄壁结构 | 镜室壁、遮光罩 |
| 实体单元 (SOLID) | 4/8/10/20 | 3个平动自由度 | 厚壁或三维实体 | 镜体、基座 |
| 接触单元 | 2个面 | 法向/切向 | 接触传力 | 镜片与镜室配合 |
选单元时,有几个原则我建议你记住:
- 几何匹配原则:薄壁结构用壳单元,厚壁结构用实体单元。我曾经见过有人用实体单元分析0.5mm厚的遮光罩,结果单元长宽比超过100:1,算出来的应力全是假的。
- 变形模式匹配原则:如果结构以弯曲为主,用梁或壳单元;如果以体积变形为主,用实体单元。
- 计算效率原则:能用低阶单元解决的问题,不要用高阶。线性单元在粗网格下就能得到不错的位移结果,应力则需要细化网格或使用二次单元。
我的经验:光机结构中,镜体分析首选二阶四面体单元(C3D10),镜室和支撑结构用二阶六面体单元(C3D20)。六面体单元在相同节点数下精度更高,但划分难度也大。如果时间紧,四面体也能用,但记得在应力集中区域加密网格。
网格划分原则
网格划分,是有限元分析中最耗时的环节,也是最容易出错的环节。我刚开始做光机分析时,网格划分占了整个项目60%的时间。后来总结出几条原则,效率才提上来。
网格质量的核心指标
网格质量好不好,看这几个指标就够了:
- 长宽比 (Aspect Ratio):理想值是1,一般不超过5。超过10,结果基本不可信。
- 扭曲度 (Skewness):理想值是0,一般不超过0.85。扭曲度太大,单元刚度矩阵会奇异。
- 正交质量 (Orthogonal Quality):越接近1越好,一般不低于0.1。
- 雅可比 (Jacobian Ratio):理想值是1,一般不低于0.7。负雅可比意味着单元翻转,必须修复。
避坑指南:我曾经在分析一个大型折反式望远镜的主镜室时,用了自动网格划分,结果雅可比出现了负值。算出来的镜面变形居然有0.5mm,明显不合理。后来手动调整了网格,雅可比恢复正常,实际变形只有0.02mm。所以,网格划分后一定要做质量检查,不要偷懒。
网格密度的控制策略
网格密度不是均匀的。我的做法是:
- 应力集中区域加密:比如螺纹根部、倒角处、接触边缘,网格尺寸要缩小到常规区域的1/3到1/5。
- 关注区域加密:比如镜面光学区域,需要精确获取变形数据,网格要细。
- 非关注区域粗化:比如远离镜体的外壳、底座,网格可以适当放大,节省计算资源。
你想想看,一个光机系统里,真正关心的是镜面面形和支撑点受力。其他地方只要刚度足够,网格粗一点完全不影响结果。
网格过渡原则
从细网格到粗网格,过渡要平滑。我建议相邻单元的尺寸比不超过1.5倍。突然从0.5mm跳到5mm,中间会产生畸变单元,计算结果会失真。
常用的过渡方式有两种:
- 渐变过渡:通过偏置节点,让网格尺寸逐渐变化
- 金字塔过渡:在四面体和六面体之间插入金字塔单元
我个人更推荐渐变过渡,虽然手动调整多一些,但结果更可靠。
知识体系总览
下面这张图,把有限元法的核心逻辑串起来了。你可以把它当作本章的思维导图:
实战中的几点提醒
最后,分享几个我在项目中积累的小经验:
- 先做粗网格试算:不要一上来就划细网格。先用粗网格跑一遍,看变形趋势是否合理,确认边界条件和载荷没问题后,再加密网格做精确分析。
- 网格无关性验证:加密网格后,如果结果变化超过5%,说明网格还不够密。继续加密,直到结果收敛。
- 注意单元退化:有些软件会把六面体单元退化成四面体使用,精度会下降。能用六面体就用六面体,实在不行再用四面体。
一个小技巧:在光机结构分析中,镜面变形通常只需要位移结果,不需要应力结果。这种情况下,用线性单元就够了,没必要上二次单元,能省不少计算时间。