ESC
输入关键词搜索文章
目录

基于等几何分析的拓扑优化

GAMES302 · 课程笔记
GAMES302 第 10 讲课程笔记:SIMP、BESO、Level-set、MMC,以及后处理与 CAD 重建。

GAMES302 第 10 讲:基于等几何分析的拓扑优化

主讲人:徐岗(杭州电子科技大学)。本讲围绕拓扑优化的概念、SIMP/BESO/Level-set/MMC 四条主线,以及优化结果的后处理、CAD 重建和与下一讲体细分 IGA 的衔接展开。

拓扑优化与SIMP

SIMP 作为最经典的密度法,是理解本讲的入口

一、前置知识回顾

在进入拓扑优化之前,先把上一讲与本讲之间的知识链补齐。这里最容易断掉的有四个点。

1. L09 形状优化

L09 讨论的是形状优化,核心是改变边界外形,而不是改变孔洞拓扑。

这意味着形状优化的自由度更集中,也更容易和 CAD 直接对接,但它解决不了“要不要开洞”“该不该分叉”“载荷路径如何重排”这类问题。拓扑优化正是为了解这部分问题而出现。

2. 有限元 / IGA 分析

不管是 FEM 还是 IGA,拓扑优化都离不开“结构响应求解”。

本讲中一个关键背景是:IGA 和 CAD 共享几何表示语言,因此对拓扑优化的后处理、几何重建、边界光顺非常友好。

3. 灵敏度分析

拓扑优化大多是梯度驱动的。无论你用 OC、MMA、level-set,还是 BESO 的阈值更新,背后都离不开目标函数对设计变量的导数。

最常见的量是柔度

C = fTu

其中

对设计变量求导,就是每轮更新最关键的方向信息。

4. 密度场

SIMP、过滤、体积分数约束这些概念,本质上都在围绕一个连续标量场展开:

ρ(x) ∈ [0, 1]

拓扑优化的难点之一,就是如何把连续密度场推向清晰的 0/1 结构,同时保持数值稳定和制造可行性。


id="二背景动机为什么需要拓扑优化">二、背景动机:为什么需要拓扑优化

结构优化大体可分为三层:尺寸优化、形状优化、拓扑优化

拓扑优化的价值在于它回答的是“结构应该长成什么样”这个更前面的设计问题。它更接近概念设计阶段,常用于:

一个直观理解是:形状优化像“修剪一棵树的外轮廓”,拓扑优化像“重新决定树枝怎么长”。前者是在已有骨架上微调,后者在重建骨架。

拓扑优化结果

拓扑优化的本质是寻找最佳载荷路径,而不是简单修边


三、拓扑优化的主流路线图

从表示方式看,本讲的四类方法可以分成两大阵营:

路线 表示方式 代表方法 典型特点
材料描述模型 直接给单元/点赋密度 SIMP、BESO 实现简单,数值方法成熟
边界描述模型 用隐式/显式边界函数描述结构 Level-set、MMC 边界更清晰,更接近几何建模

等几何分析的加入,让这个问题进一步变化:几何、分析、优化可以在同一个样条框架里统一处理。课件里最强调的点也是这一条:IGA 能减少几何近似误差,也让拓扑优化更容易和 CAD 互通。


四、SIMP:最经典的密度法

4.1 基本思想

SIMP 全称是 Solid Isotropic Material with Penalization,也常被解释为“带惩罚项的固体各向同性材料插值法”。它的核心是:

  1. 把设计域离散成若干单元
  2. 给每个单元一个密度变量 class="math inline">ρe ∈ [0, 1]
  3. 用密度去插值材料刚度
  4. 通过惩罚因子把中间密度压向 0 或 1

经典刚度插值写成:

E(ρe) = Emin + ρep (E0 − Emin)

其中:

相应地,单元刚度矩阵常写成:

Ke(ρe) = (Emin + ρep(E0 − Emin))Ke0

4.2 为什么要有惩罚因子 class="math inline">p

如果直接线性插值,ρ = 0.5 的单元就相当于“半实体半空洞”,这在力学上不够明确,也不利于制造。惩罚因子把中间密度的“单位体积刚度收益”压低。

举个很直白的对比:

这样一来,中间密度就“性价比很差”,优化算法更愿意把它推向纯实体或纯空洞。

课件中也强调了这个经验:

4.3 标准优化模型

在静力学最小柔度问题中,SIMP 的标准形式可写成:

minρC = fTu

满足

K(ρ)u = f

eveρe ≤ V*

0 < ρmin ≤ ρe ≤ 1

其中 V* 是体积分数约束,表示材料总量不能超过给定比例。

4.4 迭代流程

SIMP 的典型迭代是“分析 → 灵敏度 → 更新 → 过滤 → 收敛判断”的循环:

  1. 初始化密度场,常取均匀分布
  2. 进行有限元 / IGA 分析,求位移场 class="math inline">u
  3. 计算目标函数与灵敏度
  4. 做灵敏度过滤或密度过滤,抑制棋盘格
  5. 用 OC 或 MMA 更新密度
  6. 检查体积约束和收敛条件
  7. 不收敛则回到第 2 步

4.5 灵敏度表达式的直观理解

柔度对密度的导数常写成:

$$\frac{\partial C}{\partial \rho_e}=-p\rho_e^{p-1}\,\mathbf{u}_e^T\mathbf{K}_e^0\mathbf{u}_e$$

这里的含义很清楚:

所以 SIMP 的优化本质上就是在问:哪部分材料贡献了最多结构刚度,哪部分是“冗余的”。

4.6 过滤技术为什么重要

SIMP 的经典问题有三类:

传统 FEM 下通常要用灵敏度过滤、密度过滤、Heaviside projection 等方式控制。

而课件特别指出:基于 IGA 的 SIMP 拓扑优化天然带有更强的平滑/过滤效果,因为 NURBS 基函数具有局部支撑、较高连续性,一个控制点影响的不只是一个单元,而是一片区域。

灵敏度过滤

在 IGA 框架下,基函数的局部支撑性本身就具有过滤味道

4.7 例题

1:悬臂梁柔度最小化的 SIMP 迭代流程

例题 1:悬臂梁最小柔度

设设计域为悬臂梁,左端固支,右端中部受集中载荷。目标是在体积分数约束下最小化柔度。

  1. 初始时所有单元密度取

    class="math inline">ρe = 0.5。

  2. 做一次结构分析,求出位移场

    class="math inline">u

  3. 计算每个单元的应变能,得到灵敏度。

  4. 高应变能区域保留,低应变能区域减密度。

  5. 经过若干轮迭代,材料逐渐沿主载荷路径聚集,形成上、下弦杆和斜腹杆类似的结构骨架。

这个过程说明,SIMP 不是“删单元”的简单规则,而是通过全局响应不断重排材料分布。

4.8 例题

2:为什么惩罚因子会推动 0/1 设计

例题 2:灰度单元为何会被压掉

比较两个候选单元:A 的密度 ρ = 1,B 的密度 ρ = 0.5。若 p = 3,则 B 的刚度权重只有 0.125,但体积还占一半。

从优化角度看,B 是一种“低回报高占用”的材料状态。只要约束允许,算法就倾向于把 B 推向两端:

  • 若它真的重要,就把密度推高到 1;

  • 若它贡献有限,就把密度降到 0。

这就是惩罚因子驱动 0/1 设计的根本逻辑。

4.9 SIMP 的优缺点

优点

缺点

适用场景


五、BESO:双向渐进结构优化

5.1 基本思想

BESO 全称 Bidirectional Evolutionary Structural Optimization。它可以理解成“带回退机制的删减优化”。和早期 ESO 相比,BESO 的核心改进在于:

这点很重要,因为单纯只删不加很容易误删掉真正有用的结构区域。

5.2 工作机制

BESO 通常按单元灵敏度或应变能密度排序:

从直觉上看,BESO 更像一种“进化式筛选”方法。

5.3 优缺点

优点

缺点

5.4 适用场景

5.5 和 SIMP 的关系

课件里给出的一个重要判断是:当 SIMP 采用足够强的惩罚并结合过滤时,得到的结果会接近 BESO 那种黑白清晰的结构。

也就是说,BESO 和 SIMP 在工程结果上并不是完全割裂的两类,而是同一类问题上的不同更新策略。

MMC 方法

从方法谱系上看,SIMP 和 BESO 属于材料描述型方法,而 MMC 更偏显式几何表达


id="六level-set用零水平集描述边界">六、Level-set:用零水平集描述边界

6.1 基本思想

Level-set 方法不直接优化密度,而是用隐函数 ϕ(x) 表示边界:

ϕ(x) = 0

这意味着边界始终是清晰的,不需要密度后处理来切边。

6.2 演化方程

边界演化通常通过 Hamilton–Jacobi 型方程完成:

$$\frac{\partial \phi}{\partial t}+V_n|\nabla \phi|=0$$

其中 Vn 是法向速度,由灵敏度信息决定。

6.3 为什么它吸引人

和 SIMP 相比,Level-set 有一个天然优势:

6.4 代价在哪里

它也有明显代价:

6.5 优缺点总结

优点

缺点

适用场景

6.6 课件中的 IGA 视角

在课件的 IGA 版本里,Level-set 与参数化样条结合,可以让边界更新更平滑,也更容易与 CAD / 几何表示对接。这也是为什么本讲会把它放在“基于 IGA 的拓扑优化”框架里讲。


七、MMC:Moving Morphable

Components

7.1 核心想法

MMC 是本讲非常重要的一条路线。它的思想不是把材料当作连续密度去抹,而是把结构拆成若干个可移动、可变形、可旋转的几何组件

每个组件的几何参数本身就是设计变量,例如:

于是优化问题就从“哪里有材料”变成“组件怎么摆、怎么长、怎么连”。

7.2 代表性优势

7.3 局限

7.4 和 level-set / SIMP 的关系

从方法谱系看:

MMC 其实非常适合与 IGA、CAD 工作流结合,因为它天然倾向于“几何先行”的表达方式。

7.5 适用场景


八、后处理与 CAD 重建

拓扑优化结果经常不是最终可制造模型,而是一个中间态。尤其是 SIMP、BESO 这类方法,通常输出的是离散密度场或像素/体素式结果,必须继续处理。

8.1 为什么必须后处理

8.2 典型流程

  1. 阈值化:把密度场转为黑白结构
  2. 去噪 / 去孤岛:删除极小碎片
  3. 边界提取:得到结构外壳或中性面
  4. 光顺:减少尖角与锯齿
  5. 曲面拟合:用样条曲线/曲面逼近轮廓
  6. CAD 重建:转换成 NURBS / B-spline 表示
  7. 工艺检查:壁厚、圆角、支撑、可加工性验证

8.3 IGA 为什么特别合适

这里是本讲和 IGA 最关键的连接点:

课件中也明确指出,拓扑优化要想真正进入工程流程,不能只停留在数值图像阶段,而必须完成 CAD 语义重建。

8.4 约束信息的保留

在更复杂的后处理中,常常还要保留:

这类信息如果丢失,后续 CAD 重建会改变原始物理意义。课件里的后处理流程就专门强调了“读入约束信息”和“导出优化结果与约束信息”的步骤。


九、和后续 L11 体细分 IGA

的衔接

这一讲的结尾其实已经把下一讲的门打开了。

L10 的核心问题是:如何把拓扑优化结果做得更好看、更准、更能进 CAD。

L11 的体细分 IGA 则会继续向前推进:

换句话说,L10 解决“怎么优化出结构”,L11 会进一步解决“怎么在更强的 IGA 体系里分析和表达这些结构”。


十、复习速查表

关键词 一句话记忆
形状优化 只改边界,不改拓扑
拓扑优化 允许开孔、分裂、重连载荷路径
SIMP 密度插值 + 惩罚因子,把灰度压向 0/1
BESO 双向进化,能删也能加
Level-set 用零水平集表示边界
MMC 用可移动可变形组件直接描述几何
柔度最小化 让结构更硬,常作为最经典目标
体积分数约束 控制材料总量,避免“无限加料”
灵敏度分析 告诉算法哪块材料最值得保留
后处理 把数值结果变成可制造 CAD 模型
IGA 优势 几何表示和分析统一,和 CAD 更近

速记公式

E(ρ) = Emin + ρp(E0 − Emin)

min C = fTu,  K(ρ)u = f

eveρe ≤ V*,  0 ≤ ρe ≤ 1

ϕ(x) = 0 ⇒ 边界

四法对照


十一、课程要点回收

  1. 拓扑优化和形状优化的差别,核心在于是否允许改变拓扑。
  2. SIMP 是最标准的密度法,惩罚因子 class="math inline">p

    是把中间密度压向黑白结构的关键。

  3. BESO、Level-set、MMC

    分别代表三种不同的结构表示哲学:进化式、隐式边界式、显式组件式。

  4. IGA 在本讲中不只是“分析工具”,更是让优化结果和 CAD

    更自然衔接的几何底座。

  5. 拓扑优化的终点不是一张漂亮的密度图,而是可制造、可重建、可验证的工程结构。

十二、参考来源

本地材料

网页参考

  1. TopOpt in Python — Background in Topology Optimization
    https://topopt.readthedocs.io/en/documentation/TopOpt.html

    用于确认 SIMP、体积约束、柔度最小化、SIMP 插值与灵敏度/MMA 的标准叙述。

  2. A Comprehensive Review of Isogeometric Topology Optimization
    https://link.springer.com/article/10.1186/s10033-020-00503-w

    用于确认 ITO 的分类、CAD/CAE 统一、密度法与边界法的整体框架。

  3. A Comprehensive Review of Explicit Topology Optimization Based on Moving Morphable Components
    https://link.springer.com/article/10.1007/s11831-023-10053-8

    用于确认 MMC 属于显式拓扑优化的重要分支,以及其在几何可解释性上的优势。

  4. Level-set methods for structural topology optimization: A review
    https://dl.acm.org/doi/10.1007/s00158-013-0912-y

    用于确认 level-set 方法的分类、边界演化和数值实现脉络。

  5. DTU Topology Optimization background
    https://topopt.readthedocs.io/en/documentation/TopOpt.html

    作为 SIMP/过滤/灵敏度/MMA 的经典工程参考。


id="十三把课件内容再压实一遍页码线索与知识脉络">十三、把课件内容再压实一遍:页码线索与知识脉络

这一讲的幻灯片结构比较清楚,可以按“概念 → 方法 → 例子 → 工程化”四段来记。

1. 概念段

2. 方法段

这些方法各自的共同底座都是:先做分析,再算灵敏度,再更新设计变量。区别只在于设计变量的物理意义不同。

3. 工程化段

4. 结尾段

课堂上最值得记住的一句话

拓扑优化不是简单“删材料”,而是围绕载荷路径、几何表达和制造约束,重新组织结构本身。


十四、SIMP / BESO /

Level-set / MMC 的横向比较

为了便于复习,这里把四种方法放在同一个坐标系里看。

维度 SIMP BESO Level-set MMC
设计变量 密度 单元存在性 / 进化状态 隐函数参数 组件几何参数
边界表达 间接 间接 直接 直接
黑白程度 依赖惩罚与过滤 通常较高 很高 很高
后处理需求 较高 较高 中等 较低
几何可解释性 一般 一般 较好 很强
实现难度 低到中 中到高 中到高
与 CAD 关系 间接 间接 较近 最接近

这个表的价值在于帮助你做方法选择:


十五、几个常见误区

误区

1:拓扑优化就是把材料删掉

这句话太窄了。严格讲,拓扑优化是在给定约束下寻找最优材料布局,删减只是实现方式之一。真正关心的是:材料怎么分布才能让结构性能最优。

误区 2:SIMP 的灰度一定是坏事

灰度区在某些早期迭代里并不坏,它提供了连续优化的过渡空间。问题出在最终设计阶段如果仍然保留大量灰度,就缺乏物理和制造意义。

误区 3:IGA

只是更高级的有限元

IGA 的意义不只是“高阶”。它把几何建模和分析统一起来,这一点对拓扑优化尤其重要,因为优化结果最后总要回到几何与制造语言。

误区 4:后处理只是画图好看

后处理其实是工程闭环的一部分。没有后处理,拓扑优化只能停留在数值实验;完成 CAD 重建后,才有机会进入真实设计链条。


id="十六从算法角度再看一遍完整闭环">十六、从算法角度再看一遍完整闭环

一个典型的拓扑优化闭环可以概括成:

  1. 定义设计域:给定几何、边界、载荷、约束
  2. 选择设计变量:密度、隐函数、单元状态或组件参数
  3. 建立材料模型:SIMP 插值、显式边界或组件映射
  4. 求解结构响应:FEM / IGA 分析
  5. 计算灵敏度:得到目标函数下降方向
  6. 更新设计:OC、MMA、阈值移动、边界演化
  7. 施加过滤 / 平滑:抑制数值伪影
  8. 收敛判断:体积分数、目标函数变化、设计变量变化
  9. 后处理与重建:转为 CAD 可用模型

这个闭环的本质是:优化不是终点,几何化与工程化才是终点。


id="十七和创成式设计的关系再补一句">十七、和创成式设计的关系再补一句

课件里提到的“创成式设计”在商业软件里经常被包装成自动出方案的功能。底层看,它大多还是以下几类技术的组合:

也就是说,创成式设计更像一个产品层的总称;拓扑优化是其最核心的算法引擎之一。


十八、复习时的三问法

你复习这一讲时,可以强制自己回答三组问题:

1. 它改的是什么?

2. 它靠什么更新?

3. 它最后怎么落地?

如果这三问能答顺,说明这一讲的主干已经抓住了。


十九、复习清单


MMC 方法细节

MMC 的优势不只在“显式”,更在于它把几何参数直接变成优化变量