3. 拓扑优化数学基础

拓扑优化的本质,是把“哪里该留材料、哪里该挖空”这一工程直觉,翻译成一个可被数值求解器处理的数学问题。理解这套数学语言,是后续在光机结构上正确设置优化、读懂迭代曲线、判断结果是否可信的前提。本节围绕五个核心要素展开:设计变量、目标函数、约束条件、材料插值模型,以及连续体拓扑优化的基本列式。

一、设计变量:把“有无材料”变成连续可导的数

最朴素的想法是给每个有限元单元一个二值变量:1 表示有材料,0 表示孔洞。但二值变量不可导,梯度类优化算法无法使用。因此连续体拓扑优化(如SIMP方法)引入单元相对密度 ρe ∈ [0,1] 作为设计变量,ρe=1 代表实体,ρe=0 代表空,中间值在数学上允许、在物理上通过惩罚被“推向”两端。

设计变量向量记为 x = [ρ1, ρ2, …, ρN]T,N 为设计域离散单元数。例如一个 200 mm × 100 mm 的镜座背板,用 2 mm 网格离散,就有约 5000 个设计变量。变量规模直接决定灵敏度分析的计算量,这也是光机结构优化常需借助伴随法(adjoint method)的原因。

二、目标函数与约束条件:定义“好”的标准

目标函数是优化要最小化(或最大化)的标量。光机结构中最常见的是柔度最小化(等价于刚度最大化):

min  c(x) = U^T K U = Σ_e (ρ_e)^p · u_e^T k_0 u_e

其中 U 为全局位移向量,K 为全局刚度矩阵,ue 为单元位移,k0 为实体单元刚度矩阵。若关心的是镜面在重力或热载荷下的面形(PV/RMS),目标函数也可换成特定节点的位移加权和,或直接以面形误差为响应。

约束条件限定可行域,典型有三类:

  • 体积约束:Σ ρe·ve ≤ f·V0,f 为体积分数(如 0.3 表示只保留 30% 材料),这是轻量化的直接体现。
  • 平衡方程约束:K(x)·U = F,即结构必须满足有限元静力平衡,这是隐式约束,通过有限元求解满足。
  • 制造与功能约束:最小特征尺寸、拔模方向、对称性、一阶固有频率下限、镜面面形 RMS 上限等。

三、材料插值模型:SIMP与惩罚因子

若直接令单元刚度与 ρe 线性相关,中间密度单元会“有利可图”,结果出现大量灰色区域,无法制造。SIMP(Solid Isotropic Material with Penalization)模型用幂律插值:

E_e(ρ_e) = E_min + (ρ_e)^p · (E_0 − E_min)

E0 为实体弹性模量,Emin 为空洞的极小模量(常取 E0/109,防止刚度矩阵奇异),p 为惩罚因子,通常取 3。p>1 使中间密度的“刚度收益”低于其“材料成本”,优化器自然把 ρe 推向 0 或 1。下图给出本节核心要素之间的数学关系与求解回路。

连续体拓扑优化基本列式与求解回路 设计变量 x ρ_e ∈ [0,1] N 个单元相对密度 SIMP 插值 E_e = E_min + ρ_e^p (E_0−E_min) p = 3,惩罚中间密度 有限元求解 K(x)·U = F 得位移场 U 目标与约束 min c = UᵀKU s.t. Σρ_e v_e ≤ f·V₀ 频率/面形/尺寸约束 灵敏度分析 ∂c/∂ρ_e 伴随法一次求解 获得全部梯度 设计更新 OC / MMA 优化器 移动限 + 密度过滤 生成新 x 收敛判断 |Δc|/c < 1e-3 或 达到最大迭代步数 迭代回路:未收敛则返回设计变量,重新插值、求解、灵敏度分析

四、连续体拓扑优化基本列式

把上述要素组合,得到连续体拓扑优化的标准数学列式:

find    x = [ρ_1, ρ_2, ..., ρ_N]^T
min     c(x) = U^T K U = Σ_e (ρ_e)^p · u_e^T k_0 u_e
s.t.    K(x) U = F
        Σ_e ρ_e v_e ≤ f · V_0
        0 < ρ_min ≤ ρ_e ≤ 1,  e = 1, 2, ..., N

这是一个带偏微分方程约束的大规模非线性规划问题。求解流程为:给定初始均匀密度场(如 ρe=f)→ 按SIMP计算单元刚度并组装 K → 求解平衡方程得 U → 计算目标函数 c 与灵敏度 ∂c/∂ρe → 用优化准则法(OC)或移动渐近线法(MMA)更新设计变量 → 检查收敛。若未收敛,回到插值步骤继续迭代。

灵敏度公式在SIMP下具有简洁形式:

∂c/∂ρ_e = −p · ρ_e^(p−1) · (E_0 − E_min) · u_e^T k_0 u_e

它表明:单元应变能越大,减小其密度对柔度的“恶化”越明显,因此优化器倾向于保留高应变能区域的材料。这正是拓扑优化能自动生成传力路径的数学根源。

五、光机结构中的参数设置示例

以一个直径 200 mm 的轻量化反射镜背部支撑结构为例,假设设计域为镜体背面 180 mm × 180 mm × 30 mm 区域,采用 3 mm 六面体网格,约 3.6 万个单元。可参考以下设置:

要素取值/设置说明
设计变量ρe ∈ [0.001, 1]下限取 0.001 避免刚度矩阵奇异
目标函数柔度最小化等价于在给定载荷下刚度最大
体积分数 f0.25保留 25% 材料,实现轻量化
惩罚因子 p3标准SIMP取值,抑制灰色单元
过滤半径 rmin6 mm(2 倍网格)抑制棋盘格,控制最小特征尺寸
收敛准则|Δc|/c < 1e-3连续 5 步满足则停止
判断结果是否可信的三个观察点:① 迭代曲线是否平稳收敛,而非剧烈振荡;② 最终密度场是否以 0/1 为主,灰色单元占比通常应低于 5%;③ 体积约束是否恰好被激活(Σρeve ≈ f·V0),若远低于上限说明约束未起作用,可进一步降低 f 挖掘减重空间。
常见误区:把惩罚因子 p 设得过大(如 p=5)虽能加快二值化,但容易陷入局部最优,出现细碎、不连续的构型;p 过小则灰色区域残留。建议从 p=3 起步,必要时采用连续化策略(p 从 1 逐步增至 3)。此外,网格越细结果越精细,但设计变量与计算量同步增长,需在精度与算力之间权衡。