第三章 拓扑优化入门:基本概念、数学模型与应用场景
拓扑优化,说白了就是「在给定的空间里,用最少的材料,扛住最大的力」。
我刚开始接触这个概念时,觉得它挺玄乎的。后来做了几个项目才明白——它其实就是帮我们回答一个问题:「这块材料,到底该放在哪里?」
3.1 拓扑优化的基本概念
传统的光机结构设计,往往是工程师凭经验画出来的。比如一个镜筒,我习惯先画个圆筒,再掏几个减重孔。但这样做出来的结构,真的最优吗?不一定。
拓扑优化不一样。它把设计空间划分成无数个小单元,然后通过算法告诉你:哪些单元该保留,哪些该去掉。
核心思想:在给定的载荷和约束条件下,寻找材料的最优分布。
举个例子。我做过一个反射镜支撑结构,传统设计用了4公斤的铝合金。拓扑优化跑完后,只保留了2.3公斤,刚度反而提升了12%。嗯,这就是拓扑优化的魅力。
3.2 数学模型:别怕,其实就三件事
拓扑优化的数学模型,说白了就是三要素:
- 目标函数——你想优化什么?通常是柔度最小(刚度最大)
- 设计变量——每个单元的密度(0或1,或者介于之间)
- 约束条件——体积分数、应力、位移等限制
数学上长这样:
Minimize: C(ρ) = U^T K U (柔度最小化)
Subject to: V(ρ) / V₀ ≤ f (体积约束)
K U = F (平衡方程)
0 ≤ ρᵢ ≤ 1 (密度变量范围)
你可能会问:「为什么密度可以是0.5?难道材料还能半存在?」
问得好。这就是拓扑优化的一个技巧——密度变量连续化。为了让梯度算法能跑起来,我们允许中间密度存在。最后再通过惩罚因子(比如SIMP方法)把中间密度往0或1推。
我的经验:惩罚因子一般取3。取小了,中间密度太多,结构模糊;取大了,容易陷入局部最优。我踩过这个坑,后来就固定用3了。
3.3 在光机结构中的应用场景
拓扑优化在光机结构里,主要用在三个地方:
3.3.1 镜体轻量化
反射镜的背面,传统做法是挖蜂窝孔。但拓扑优化能给出更「有机」的筋肋布局。我曾经给一个300mm口径的反射镜做拓扑优化,最终结构比蜂窝轻了18%,而且一阶模态还提高了。
3.3.2 支撑结构设计
镜筒、支架、基座这些,是拓扑优化的主战场。我建议你重点关注传力路径——拓扑优化本质上就是在找最短的传力路径。
3.3.3 减重孔布局
传统减重孔是「拍脑袋」画的。拓扑优化能告诉你:哪些区域可以掏空,哪些区域必须保留。我见过一个项目,工程师凭经验挖了十几个孔,结果拓扑优化一跑,发现其中三个孔的位置完全错了。
注意:拓扑优化结果不能直接用于加工。它给出的形状往往是不规则的,需要工程师进行「几何重构」。我曾经犯过这个错——直接把优化结果丢给加工厂,结果被退回来了。
3.4 知识体系框架
下面这张图,是我自己整理的拓扑优化知识体系。你可以把它当作一个「地图」来用。
3.5 实战中的几个关键点
拓扑优化不是「一键出图」的魔法。我总结了几条实战经验:
- 前处理比求解更重要。网格质量、边界条件、载荷施加,这些做不好,结果就是垃圾。
- 不要追求「完美」的0/1解。工程上,密度0.3以下的单元可以直接删掉,0.7以上的保留,中间区域手动判断。
- 对称性约束要加。光机结构通常是对称的,不加对称约束,优化结果会不对称,加工起来很麻烦。
- 制造约束必须考虑。比如最小成员尺寸、拔模方向等。我见过一个项目,优化结果全是细长杆,根本没法加工。
一个小技巧:在做拓扑优化之前,先用手算估算一下传力路径。这样你心里有数,优化结果出来时能快速判断是否合理。
3.6 一个简单的案例思路
假设我们要优化一个镜筒支架。传统设计是实心方块,重量1.2kg。拓扑优化的思路是这样的:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 定义设计空间 | 把整个方块设为设计区域 |
| 2 | 施加边界条件 | 底部固定,顶部施加镜筒重力 |
| 3 | 设置优化参数 | 体积分数0.3,惩罚因子3 |
| 4 | 求解 | 迭代约50步收敛 |
| 5 | 后处理 | 提取0.3以上密度区域,重构为光滑曲面 |
最终结果:重量从1.2kg降到0.38kg,刚度只下降了5%。这个案例我做过,效果确实不错。
再次提醒:拓扑优化结果是「概念设计」,不是「最终图纸」。一定要结合加工工艺进行几何重构。我曾经见过有人直接把优化结果拿去3D打印,结果因为悬垂结构太多,打印失败了。
好了,拓扑优化入门就讲到这里。记住一句话:拓扑优化不是替代工程师,而是帮工程师找到更好的起点。
公众号:蓝海资料掘金营,微信deep3321