2. 拓扑优化的数学基础
拓扑优化本质上是一个“在给定载荷与边界条件下,寻找材料最优分布”的数学问题。要把它写成可求解的形式,必须明确三件事:设计变量(哪些量可以变)、目标函数(变好还是变坏用什么衡量)、约束条件(变化必须满足哪些限制)。这三者共同构成优化模型,也决定了后续采用连续体还是离散体描述、采用哪种材料插值模型。
一、设计变量:从离散到连续
设计变量是优化过程中被算法调整的量。在离散体拓扑优化中,设计变量通常是杆件的有无或截面尺寸,例如桁架结构中每根杆的截面积 Ai,取值为 0 表示杆件删除,取正值表示保留。在连续体拓扑优化中,设计变量则是每个有限单元的相对密度 ρe,取值在 0 到 1 之间:ρe=1 表示该单元为实体材料,ρe=0 表示该单元为空,中间值表示“假想材料”。
连续体设计变量数量通常等于单元数量,一个 100×50 的二维网格就有 5000 个变量,因此连续体拓扑优化属于大规模优化问题。为抑制棋盘格和网格依赖,常引入密度过滤或灵敏度过滤,使设计变量在空间上平滑过渡。
二、目标函数:柔度最小化与频率最大化
最常见的目标函数是结构柔度最小化,等价于刚度最大化。柔度定义为 C = UTKU,其中 K 为整体刚度矩阵,U 为位移向量。柔度越小,结构在同样载荷下变形越小。另一类目标是最大化结构基频,用于避免共振;还有多目标形式,例如同时考虑柔度和频率。
目标函数必须对设计变量可导,才能使用基于梯度的优化算法。以柔度为例,其灵敏度可通过伴随法高效计算:∂C/∂ρe = −ueT(∂ke/∂ρe)ue,其中 ue 为单元位移,ke 为单元刚度矩阵。该式说明:单元越“硬”且变形越大,其密度变化对整体柔度影响越显著。
三、约束条件:体积、平衡与边界
拓扑优化最典型的约束是体积约束:Σρeve ≤ Vf·V0,即材料总体积不超过初始设计域的给定比例 Vf(体积分数)。此外还有平衡方程约束 KU=F,它保证每个迭代步的位移场满足静力平衡;以及边界条件约束,如固定支座处位移为零、载荷作用点位移不超过限值。若考虑制造,还可加入最小尺寸、拔模方向、对称性等约束。
四、连续体与离散体的数学描述
连续体拓扑优化可写成:minρ C(ρ) = UTK(ρ)U,s.t. K(ρ)U=F,Σρeve ≤ VfV0,0 ≤ ρe ≤ 1。离散体拓扑优化则常写成:minA C(A),s.t. 平衡方程、应力约束、截面尺寸上下限。两者区别在于:连续体设计变量是密度场,离散体设计变量是构件尺寸或连接关系;连续体更通用,离散体更接近桁架、网架等工程结构。
五、材料插值模型:SIMP 与 RAMP
连续体优化中,若直接令单元刚度与密度线性相关,会出现大量中间密度,物理上无法制造。SIMP(Solid Isotropic Material with Penalization)模型将单元刚度写为 Ee = Emin + ρep(E0 − Emin),其中惩罚因子 p 通常取 3。当 ρe 在 0 到 1 之间时,ρep 远小于 ρe,即中间密度“性价比”低,优化器会主动把密度推向 0 或 1,从而得到清晰的黑白布局。
RAMP(Rational Approximation of Material Properties)模型则写为 Ee = Emin + ρe/(1+q(1−ρe))·(E0−Emin),其中 q 为惩罚参数。RAMP 在 ρe 接近 0 时斜率有限,数值上更稳定,适合某些对中间密度敏感的问题。两者物理含义一致:用惩罚函数让中间密度“不划算”,从而逼近 0/1 设计。
六、从数学到可执行模型
把上述内容组织起来,一个可执行的连续体拓扑优化流程通常包含:定义设计域与网格、施加边界条件和载荷、初始化密度场(常取体积分数均匀分布)、进入优化循环(有限元分析→灵敏度计算→密度更新→过滤→收敛判断)。收敛判据常用设计变量最大变化量小于 0.01 或目标函数连续若干步变化小于 1e-4。若结果出现大量灰色单元,可增大惩罚因子 p 或减小过滤半径;若出现棋盘格,应检查过滤是否生效。
理解设计变量、目标函数、约束条件以及 SIMP/RAMP 的数学形式,是后续使用 OptiStruct、ABAQUS、COMSOL 或自编 MATLAB/Python 程序进行拓扑优化的前提。只有模型写对,优化结果才具有物理意义和工程可用性。