4. L型支架应力约束拓扑优化

L型支架应力约束拓扑优化 学习卡片

问题设定与建模要点

L型支架的几何特征决定了它在竖直臂与水平臂交汇的内角处存在明显的几何不连续。当竖直臂顶部承受水平载荷时,载荷通过竖直臂传递到水平臂,再经水平臂底部的固定端传入基础。这一传力路径使内角点成为弯矩与剪力叠加的区域,应力集中系数通常远高于其他部位。

本例在体积约束的基础上引入全局应力约束,目标函数仍为柔度最小化。与纯体积约束问题不同,应力约束会迫使优化器在角点附近保留更多材料,同时允许远离角点的低应力区域进一步减材。这种“此消彼长”的材料重分配,正是应力约束拓扑优化的核心特征。

建模参数如下:L型支架竖直臂高 80 mm、水平臂长 80 mm、臂宽 40 mm、厚度 5 mm;材料弹性模量 210 GPa、泊松比 0.3;竖直臂顶部右侧施加 500 N 水平向右集中力;水平臂左端底面固定。体积分数上限取 0.4,全局应力约束上限取 120 MPa。

应力约束的实现方式

应力约束拓扑优化不能直接对每个单元的应力逐一施加约束,否则约束数量会随网格规模急剧增长。工程上常用聚合函数将大量局部应力约束压缩为少数几个全局约束。本例采用 P-norm 聚合:

σ_PN = ( Σ (σ_vm,e / σ_lim)^P )^(1/P)

其中 σ_vm,e 为第 e 个单元的 von Mises 应力,σ_lim 为许用应力,P 为聚合指数。P 越大,聚合值越接近最大应力,但非线性越强、收敛越困难。本例取 P=8,在逼近精度与数值稳定性之间取得平衡。

灵敏度分析需要同时考虑目标函数和约束函数对设计变量的导数。应力约束的灵敏度通过链式法则从聚合应力反传到单元相对密度,再结合伴随法求解。由于应力对密度的依赖关系高度非线性,优化过程中容易出现“应力振荡”,需要配合密度过滤和移动限策略抑制。

P-norm 聚合指数 P 的选择需要权衡:P 过小则聚合应力远低于真实最大应力,约束形同虚设;P 过大则灵敏度病态,优化难以收敛。实践中可从 P=4 起步,逐步增大到 8~12。

优化流程与关键设置

整个优化循环包含以下关键环节:

  1. 有限元分析:在每个迭代步对当前密度场进行刚度组装与求解,得到位移场。
  2. 应力恢复:由位移场计算各单元中心点的应力张量,进而得到 von Mises 应力。
  3. 聚合与约束评估:按 P-norm 公式计算聚合应力,判断是否满足 σ_PN ≤ 1(归一化后)。
  4. 灵敏度计算:分别计算柔度目标与应力约束对设计变量的灵敏度。
  5. 设计更新:采用 MMA(移动渐近线法)或 SLP(序列线性规划)求解子问题,更新密度场。
  6. 过滤与投影:对密度场施加灵敏度过滤和 Heaviside 投影,抑制棋盘格并逼近 0/1 设计。

收敛判据取设计变量最大变化量小于 0.01,或连续 5 步目标函数变化小于 0.1%。

材料分布与应力缓解效果

下图对比了纯体积约束与引入应力约束后的材料分布差异。纯体积约束下,优化器倾向于在角点附近形成细长的斜撑,材料利用率高但角点应力集中明显;引入应力约束后,角点区域被“加厚”,斜撑根部变宽,同时远离角点的低应力区进一步减材,整体构型更接近工程中常见的加腋形式。

纯体积约束(Vf=0.4) 角点应力集中明显 高应力 500 N 固定端 应力约束(Vf=0.4, σ≤120 MPa) 角点加厚,低应力区减材 加腋 减材 500 N 固定端 应力约束 材料重分配 应力约束使角点区域材料增加,低应力区材料减少,整体体积分数保持不变

结果判读与验证

优化完成后,需要从三个层面验证结果是否合理:

  • 应力层面:提取最终构型的最大 von Mises 应力,确认其不超过 120 MPa。若聚合应力满足约束但局部最大应力仍超标,说明 P-norm 聚合精度不足,需增大 P 值或改用自适应聚合策略。
  • 体积层面:检查最终体积分数是否恰好等于 0.4。应力约束可能使优化器在体积约束边界附近振荡,若体积分数低于 0.4 且应力未达上限,说明体积约束未激活,可适当放宽应力上限或收紧体积上限。
  • 构型层面:观察角点区域是否形成明显的加厚特征,斜撑根部是否比纯体积约束结果更宽。若角点仍出现尖锐细长结构,说明应力约束的灵敏度传递可能存在问题,需检查聚合函数的导数实现。
应力约束拓扑优化对网格依赖性较敏感。角点附近的应力梯度大,粗网格会低估峰值应力,导致优化结果偏“瘦”。建议在角点区域局部加密,或采用自适应网格细化策略。

关键参数速查

参数取值说明
体积分数上限0.4与纯体积约束案例保持一致,便于对比
应力上限 σ_lim120 MPa约为材料屈服强度的 60%,留安全裕度
P-norm 指数 P8兼顾逼近精度与收敛稳定性
过滤半径 r_min2.5 mm约为 3~4 个单元尺寸,抑制棋盘格
移动限0.2MMA 子问题中设计变量每步最大变化量
收敛容差0.01设计变量最大变化量阈值