水平集法拓扑优化
理论与物理
什么是水平集方法
老师,水平集方法和SIMP法有什么区别?
SIMP法通过每个单元的密度(0~1)来表示材料的有无。水平集方法则是通过隐函数 $\phi(\mathbf{x})$ 直接追踪边界(形状)。$\phi > 0$: 有材料,$\phi < 0$: 空洞,$\phi = 0$: 边界。
比SIMP法的边界更清晰吗?
是的。SIMP法存在灰色单元(中间密度)问题,而水平集方法边界始终清晰。不过,它不擅长孔洞成核(生成新孔洞)。
总结
水平集方法是Osher和Sethian(1988年)的发明
水平集方法是斯坦利·Osher和James Sethian(加州大学伯克利分校)于1988年在JCP期刊上发表的"界面追踪法"。最初是作为火焰传播和水面波数值模拟方法开发的,但通过Sethian在2000年代的著作,其在计算机视觉、医学图像处理和拓扑优化中的应用迅速扩展。水平集在结构优化中的应用由Wang等人(2003)和Allaire等人(2004)独立发表,其特点是相比SIMP法能自然地获得平滑边界。
各项的物理意义
- 惯性项(质量项):$\rho \ddot{u}$,即"质量×加速度"。您有过急刹车时身体被向前甩出的经历吗?那种"被带走的感觉"正是惯性力。物体越重越难启动,一旦启动也越难停止。建筑物在地震中摇晃,也是因为地面突然移动而建筑物的质量"被落下"。静力分析中此项设为零,这是基于"缓慢施力因此加速度可忽略"的假设。对于冲击载荷或振动问题,此项绝对不能省略。
- 刚度项(弹性恢复力):$Ku$ 或 $\nabla \cdot \sigma$。拉弹簧时会感觉到"想要恢复的力"吧?那就是胡克定律 $F=kx$,也是刚度项的本质。那么提问——用相同的力拉铁棒和橡皮筋,哪个伸长更多?当然是橡皮筋。这种"难以伸长的程度"就是杨氏模量 $E$,它决定了刚度。常见的误解:"刚度高=强度高"是不对的。刚度是"不易变形的程度",强度是"不易破坏的程度",是不同的概念。
- 外力项(载荷项):体积力 $f_b$(如重力)和表面力 $f_s$(压力、接触力等)。可以这样想——桥上卡车的重量是"作用在整个内部上的力"(体积力),轮胎压路面的力是"只作用在表面上的力"(表面力)。风压、水压、螺栓紧固力…都是外力。这里容易犯的错误:弄错载荷方向。本想"拉伸"却变成了"压缩"——听起来像笑话,但在3D空间坐标系旋转时确实会发生。
- 阻尼项:瑞利阻尼 $C\dot{u} = (\alpha M + \beta K)\dot{u}$。弹一下吉他弦试试。声音会一直响吗?不,会逐渐变小。这是因为振动能量通过空气阻力或弦的内部摩擦转化为热能。汽车的减震器也是同样原理——故意吸收振动能量以提高乘坐舒适性。如果阻尼为零会怎样?建筑物在地震后会一直摇晃不停。实际上不会这样,因此设置适当的阻尼很重要。
假设条件与适用范围
量纲分析与单位制
| 变量 | SI单位 | 注意事项·换算备忘 |
|---|---|---|
| 位移 $u$ | m(米) | 输入mm时,载荷·弹性模量也需统一为MPa/N系 |
| 应力 $\sigma$ | Pa(帕斯卡)= N/m² | MPa = 10⁶ Pa。与屈服应力比较时注意单位制不一致 |
| 应变 $\varepsilon$ | 无量纲(m/m) | 注意工程应变与对数应变的区别(大变形时) |
| 弹性模量 $E$ | Pa | 钢: 约210 GPa,铝: 约70 GPa。注意温度依赖性 |
| 密度 $\rho$ | kg/m³ | mm系中为tonne/mm³(钢为 = 10⁻⁹ tonne/mm³) |
| 力 $F$ | N(牛顿) | mm系用N,m系也用N统一 |
数值解法与实现
水平集方法的FEM
Abaqus TOSCA:
*TOPOLOGY OPTIMIZATION, LEVELSET 设置。用Hamilton-Jacobi方程更新边界。
总结
Hamilton-Jacobi方程驱动水平集界面
在水平集方法拓扑优化中,将材料·空洞界面作为零水平集面进行追踪,通过Hamilton-Jacobi方程(∂φ/∂t + v|∇φ|=0)使界面随时间演化。将形状灵敏度(shape gradient)代入速度场v,界面会自动向改善目标函数的方向移动。NaN传播或速度场符号错误导致的"界面内外反转"错误是实现时最常遇到的问题,带符号距离函数的周期性重新初始化(reinitialization)是稳定化的关键。
线性单元(1阶单元)
节点间线性插值。计算成本低,但应力精度低。注意剪切锁定(可通过减缩积分或B-bar法缓解)。
2阶单元(带中间节点)
可表现曲线变形。应力精度大幅提高,但自由度约增加2~3倍。推荐:应力评估重要时使用。
完全积分 vs 减缩积分
完全积分:有过约束(锁定)风险。减缩积分:沙漏模式(零能量模式)风险。根据情况选择。
自适应网格
基于误差指标(ZZ估计量等)的自动细化。高效提高应力集中部位的精度。有h法(单元细分)和p法(增加阶次)。
牛顿·拉夫森法
非线性分析的标准方法。每次迭代更新切线刚度矩阵。在收敛半径内具有二次收敛性,但计算成本高。
修正牛顿·拉夫森法
切线刚度矩阵使用初始值或每隔几次迭代更新。每次迭代成本低,但收敛速度为线性。
收敛判定标准
力残差范数: $||R|| / ||F_{ext}|| < \epsilon$(通常 $\epsilon = 10^{-3}$〜$10^{-6}$)。位移增量范数: $||\Delta u|| / ||u|| < \epsilon$。能量范数: $\Delta u \cdot R < \epsilon$
载荷增量法
不一次性施加全部载荷,而是分小步增加。弧长法(Riks法)可超越载荷-位移关系的极值点进行追踪。
直接法 vs 迭代法的比喻
直接法是"用笔算精确解联立方程"的方法——可靠但大规模问题耗时过长。迭代法是"反复猜测逼近正确答案"的方法——最初是粗略答案,但每次迭代精度都会提高。就像查字典时,从第一页开始顺序查找(直接法)不如先估计位置翻开,再前后调整(迭代法)来得高效,原理相同。
网格阶次与精度的关系
1阶单元是"用直尺近似曲线"——用直线折线表现,因此精度有限。2阶单元是"柔性曲线"——能表现曲线变化,即使网格密度相同,精度也显著提高。不过,每个单元的计算成本增加,因此需根据总体的成本效益来判断。
实践指南
水平集的实务
边界清晰,易于CAD转换,因此适用于3D打印或精密机械零件的优化。
实务检查清单
时尚家具品牌Kartell的水平集优化椅子
意大利高端塑料家具品牌Kartell在其2019年发布的"Masters"系列新型椅子中采用了水平集拓扑优化。针对人体工程学载荷工况(100kg体重就座+横向冲击),使用Altair Inspire(原solidThinking Inspire)进行水平集优化,优化聚碳酸酯椅子的壁厚分布,在同等强度下将零件重量从290g减至210g。"有机流动的形状"也被采纳为商品设计,在米兰设计周成为话题。
分析流程的比喻
分析流程其实和烹饪非常相似。首先采购食材(准备CAD模型),进行预处理(网格生成),开火烹饪(求解器执行),最后装盘(后处理可视化)。这里有个重要的问题——烹饪中最容易失败的工序是哪里?其实是"预处理"。网格质量差的话,无论使用多优秀的求解器,结果都会一团糟。
初学者容易陷入的陷阱
您确认过网格收敛性吗?是否认为"计算能运行=结果正确"?这其实是CAE初学者最容易掉入的陷阱。求解器一定会根据给定的网格返回"一个像样的答案"。但如果网格太粗,这个答案就会与现实严重偏离。至少用3个级别的网格密度确认结果是否稳定——如果忽视这一点,就会陷入"因为是计算机给出的答案所以应该正确"的危险误区。
边界条件的思考方式
边界条件的设置,就像考试的"出题"。如果题目错了呢?无论计算多么精确,答案都是错的吧。"这个面真的完全固定吗?""这个载荷真的是均匀分布吗?"——正确建模现实的约束条件,其实是整个分析中最重要的步骤。
软件比较
工具
各公司水平集优化实现比较
水平集方法拓扑优化的商业实现先后有Altair OptiStruct(2012年~)、COMSOL Multiphysics 5.4(2018年~)、Simulia Tosca(2020年~)。OptiStruct因其AMOS(自适应形态优化策略)能自动应用制造约束(最小板厚·拔模斜度)而在汽车行业获得好评,被用于丰田制造的转向节臂轻量化设计。
选定时最重要的3个问题
- "要解决什么问题":所需的物理模型·单元类型是否支持水平集方法拓扑优化。例如,流体中LES支持的有无,结构中接触·大变形的支持能力会造成差异。
- "谁使用":新手团队适合GUI完善的工具,有经验者适合脚本驱动的灵活工具。类似于汽车的AT车(GUI)和MT车(脚本)的区别。
- "扩展到什么程度":着眼于未来的分析规模扩大(HPC支持)、向其他部门扩展、与其他工具的联动进行选择,有助于长期降低成本。
尖端技术
水平集的尖端
水平集方法的起源:1988年的Osher-Sethia论文
拓扑优化的水平集方法基于斯坦利·奥舍和詹姆斯·塞西亚于1988年在Journal of Computational Physics上发表的界面追踪算法。与传统的SIMP法不同,其边界清晰,易于评估制造性,因此被Altair solidThinking用于空客A350钛合金支架(重量从1.2kg减至0.7kg,轻量化42%)的设计。
故障排除
水平集的故障
水平集方法的数值不稳定性对策
在水平集方法拓扑优化中,"哈密顿-雅可比方程的数值扩散"导致的边界消失是典型的收敛失败模式。COMSOL 6.0实现了每5次优化迭代自动设置重新初始化周期的自适应重新初始化,报告称在与Windchill联动的设计案例中,将风扇叶片拓扑优化的收敛失败率从35%降低至8%。
相关主题
なった
詳しく
報告