拓扑优化 (Topology Optimization) — CAE术语解说
什么是拓扑优化
简单说,尺寸优化是"板厚定多少毫米",形状优化是"外形曲线怎么移动"。但拓扑优化更加根本,可以自由决定"在哪钻孔、哪里保留材料"。设计空间内的材料配置本身就成了设计变量。
也就是说,可能会出现人类完全想不到的形状?
完全正确。优化结果通常呈现骨骼小梁结构那样的有机形状。实际上,人类大腿骨的内部结构就是天然拓扑优化的结果。比如,对汽车悬架臂进行拓扑优化,会得到与传统板金设计完全不同的、枝条状的桁架结构,可以实现30~50%的轻量化。
SIMP法(密度法)
商用求解器常用的SIMP法到底是怎样的机制呢?
SIMP(Solid Isotropic Material with Penalization)法为每个有限元素分配一个0~1的伪密度变量 $\rho_e$。关键在于用密度的幂次对弹性模量进行惩罚补偿:
这里 $E_0$ 是原始材料的杨氏模量,$p$ 是惩罚系数,通常取 $p=3$。当 $\rho_e=1$ 时有材料($E_e = E_0$),$\rho_e=0$ 时无材料($E_e = 0$)。重点是当 $p > 1$ 时,中间密度(如 $\rho_e=0.5$)的元素只有 $0.5^3 = 0.125$ 的刚度。这在"中间状态不划算"的压力下,使密度趋向于0或1。
那即使有惩罚,仍然可能出现"灰度"(未完全收敛到0或1)的情况吧?
确实会出现。特别是荷载条件复杂或体积约束较宽松时更容易发生。实务中有几种对策:
- 密度过滤器 — 将每个元素的密度替换为相邻元素的加权平均值,可防止棋盘式的数值伪影
- Heaviside投影 — 在过滤后对密度再做阶梯函数式投影,使其更接近0/1
- 惩罚系数递增法 — 逐步增大 $p$($p=1 \to 2 \to 3$),前期广泛搜索,后期收敛到0/1
商用求解器如OptiStruct、Ansys Mechanical和TOSCA Structure都会自动处理这些。但如果不理解这些参数的含义,会导致"不知道为什么出现了奇怪的形状"的局面。
水平集方法
还听说过SIMP以外的手法。水平集方法和SIMP有什么不同?
水平集方法用隐函数 $\phi(\mathbf{x})$ 表示结构边界。当 $\phi > 0$ 时有材料,$\phi < 0$ 时无材料,$\phi = 0$ 是边界面。优化时通过Hamilton-Jacobi方程使 $\phi$ 随时间演化,从而移动边界:
$V_n$ 是沿法线方向的边界速度,由灵敏度分析决定。与SIMP的最大区别是边界始终明确。原则上不会产生灰度问题,得到的形状光滑易于转换为CAD。
那水平集方法是不是更优越?为什么SIMP更主流?
水平集方法也有弱点。标准实现中难以自发生成新孔洞(初始形状无孔时就无法优化出孔)。结合Topological derivative来促进孔核生成的方法存在,但实现复杂。SIMP法只需在现有有限元求解器基础上加入密度变量,与商用求解器结合度高。实务上SIMP占八成以上的份额。水平集方法在学术研究中活跃,未来在增材制造结合度上可能增长。
柔度最小化
拓扑优化中常听的"柔度最小化"是什么?和法规遵从(compliance)的那个意思不一样吧…?
完全不同(笑)。结构力学中的柔度 $C$ 表示"结构的柔性",定义为外力与位移的内积:
柔度大 = 易弯曲 = 刚性低。因此柔度最小化 = 刚性最大化。标准形式化如下:
$V^*$ 是允许体积(如设计空间的40%),$v_e$ 是各元素体积,$\rho_{\min}$ 是为了数值稳定的微小值(通常 $10^{-3}$)。
体积约束40%就是能删除60%的材料?太厉害了…。除了柔度以外没有其他目标函数吗?想降低应力…
好问题。实务中常见以下扩展:
- 应力约束拓扑优化 — 限制局部应力不超过许可值。但每个要素都有约束,数千至百万个,计算量很大。通常用P范数应力或KS函数来集约处理
- 固有频率最大化 — 提高一阶固有频率。汽车车身、支架等经常用到
- 多荷载工况 — 多个荷载条件的加权和作为柔度定义。实际零件不止受一种荷载
不过最初从柔度最小化开始是正道。因为问题是自共轭的(随伴问题与原问题相同),灵敏度计算简单,收敛也稳定。
制造约束的融入
拓扑优化的结果不是很难加工吗?比如注塑成形的零件,悬挑部分是不允许的…
这正是实务的关键。不将制造工艺的约束融入优化,会得到漂亮但无法生产的形状。主要制造约束总结如下:
- 最小尺寸约束 — 通过密度过滤器的半径 $r_{\min}$ 控制。比如设定 $r_{\min}=3\,\text{mm}$,就不会出现3mm以下的细柱或肋
- 脱模方向约束(Draw direction) — 注塑或压铸用。在指定方向禁止悬挑,对密度分布施加单调性约束
- 对称约束 — 强制面对称或旋转对称。通常只优化一半,再镜像复制
- 最大尺寸约束 — 防止块体过大。是铸造缩孔对策
- 挤压约束(Extrusion) — 板金冲压或铝挤压用。某方向断面保持一致
加了这么多约束的话,优化结果会大幅改变吧?
变化很大。比如对汽车悬架支架进行无约束优化会得到3D枝条状有机形状。加入脱模方向约束后,变成能冲压出来的肋结构。刚性相比无约束会下降10~20%,但现实可生产。这种权衡的定量评估正是拓扑优化的强项。通过对比"无约束理想形"和"有约束实现形",可以判断改变制造方法的价值。
增材制造(AM)的集成
最近听说用金属3D打印机可以直接造形拓扑优化的结果,是真的吗?需要什么约束?
"AM就无约束可以干任何事"其实是半对半错。确实无需金模,脱模和悬挑约束消失了。但AM有其独特约束:
- 悬挑约束 — 粉末床方式(SLM/SLS)中,相对打印方向超过45度的悬挑需要支撑。无支撑造形需在优化中加入悬挑角约束
- 最小壁厚 — 取决于激光径和粉末粒径。金属AM通常需0.3~0.5mm以上
- 残余应力和变形 — 积层造形中热历史积累残余应力。极薄壁或锐角容易产生翘曲或裂纹
- 粉末排出 — 内部闭合空洞的未烧结粉末无法取出。需设排孔或用格子结构填充
加了悬挑约束的优化具体怎么做?形状应该变化很大…
典型做法是沿打印方向(如Z轴正向),约束每个元素的密度不低于其下方元素的密度。数学上用过滤器操作实现。结果是悬挑消失,形成"蘑菇形",变成自支撑的倒三角形或树枝状。OptiStructnTopology、Siemens NX TOPO等已将这些AM约束集成到GUI。航空航天领域,GE Aviation的燃油喷嘴是著名案例,把原来20个焊接零件整合成1个AM零件,实现25%轻量化和5倍耐久性提升。
实务工作流与注意事项
实际用拓扑优化的工作流是什么样的?直接扔给求解器就行?
现场的典型流程是这样:
- 设计空间定义 — 区分优化可行区(Design Space)和不可变区(Non-Design Space:螺栓孔、配合面等)。这是最重要的一步,设计空间太窄失去优化自由度,太宽会出现不现实的形状
- 荷载和约束设定 — 定义全部使用工况的荷载情况。遗漏会导致"忽视该荷载的最优形状"
- 目标函数和约束选择 — 比如柔度最小化+体积约束40%
- 添加制造约束 — 脱模方向、最小尺寸、对称性等
- 运行优化 — 通常50~200次迭代。收敛判定看柔度变化率
- 结果解释和CAD重建 — 用等值面(iso-surface,通常 $\rho=0.3$)提取形状,在CAD中补充倒圆和细化
- 验证分析 — 用重建的CAD形状进行常规有限元法分析,确认应力、位移是否在许可范围
优化结果还要转换回CAD再验证,不是重复工作吗?
看似重复但是必须的。原因三点:第一,优化用的网格通常较粗(控制计算成本),应力评估精度不足。第二,CAD重建时会加倒圆、微调等,形状有变。第三,优化常基于线性静分析,实际零件往往需要非线性分析(大变形、接触、疲劳)。优化是"概念形状导出阶段",最终验证另外做。
刚才提到优化网格较粗,那怎么决定网格尺寸?越细越好?
细化网格能提高分辨率,但计算成本与单元数成正比。拓扑优化每次迭代都要解有限元,100万单元×200次迭代相当于2亿次计算。实务经验:最小尺寸约束 $r_{\min}$ 内至少放3~4个单元。比如 $r_{\min}=5\,\text{mm}$,单元尺寸应在1.2~1.7mm。通常先用粗网格掌握趋势,最后一遍才用细网格,这样效率较高。
相关术语
拓扑优化周围要掌握的术语有哪些?
准确理解CAE术语是团队沟通的基础。 — Project NovaSolver同时致力于实务者的学习支持。
关于拓扑优化实务中的课题,敬请告诉我们
Project NovaSolver致力于解决CAE工程师日常面临的课题——参数设置的复杂性、计算成本、结果解释——的解决方案。您的实务经验将是更好工具开发的动力。
咨询(准备中)意义
更多
错误