2. OptiStruct协同优化工作流搭建

强度与刚度的协同优化,本质上不是“先算强度、再算刚度”的串行操作,而是要在同一套有限元模型上,让两类响应同时参与灵敏度计算与优化迭代。因此,工作流搭建的核心目标只有一个:建立一套干净、可复用、可参数化的协同分析模型。模型一旦搭好,后续的工况切换、约束调整、响应组合都只是参数层面的修改,而不是重新建模。本节按“几何清理 → 网格划分 → 材料与属性 → 边界条件 → 协同响应定义”的顺序展开,每一步都说明该做什么、关键参数如何取、以及如何判断这一步是否合格。

一、几何清理:为网格质量扫清障碍

OptiStruct 的优化结果对初始网格质量非常敏感,而网格质量的上限由几何决定。导入 CAD 后,优先处理以下几类问题:

  • 碎面与短边:长度小于目标单元尺寸 1/3 的边,会在该处强制生成极小单元,拉低整体最小尺寸。用 Geometry > Edge Edit 合并或抑制。
  • 重复面与自由边:抽取中面后常出现重叠面,导致壳单元重复承载。用 Geometry > Defeature 检查并删除。
  • 小圆角与小孔:半径小于 2 倍单元尺寸的圆角,对整体刚度贡献很小,却会显著增加网格量。优化分析中可先抑制,待拓扑确定后再恢复做详细校核。
  • 中面抽取:钣金件用 Midsurface 抽取,抽取后必须检查厚度方向是否一致,否则壳单元偏置方向混乱,弯曲刚度会算错。

判断标准:清理完成后,几何中不应存在长度小于目标单元尺寸 1/3 的边,也不应有未合并的自由边。这一步花 20 分钟,往往能省下后面两小时的网格修补。

二、网格划分:控制单元尺寸与质量指标

网格划分不是“越细越好”,而是要在计算成本与结果精度之间取平衡。协同优化通常要迭代几十到上百次,单次求解时间直接决定整个流程是否可行。

推荐做法:先用 2D 壳单元或 3D 四面体建立基础网格,单元尺寸取结构最小特征尺寸的 1/3~1/5。例如某支架最小壁厚 3 mm,目标单元尺寸可取 1 mm。关键质量指标建议控制如下:

指标建议阈值说明
雅可比(Jacobian)> 0.6低于 0.6 的单元刚度矩阵易失真
翘曲度(Warpage)< 5°壳单元翘曲过大会影响弯曲刚度
长宽比(Aspect Ratio)< 5过大导致方向性刚度误差
最小/最大尺寸比> 0.3避免相邻单元尺寸突变

对于拓扑优化区域,网格应尽量均匀,避免因网格疏密不均导致材料分布出现“伪结构”。划分完成后用 Check Elements 检查,不合格单元比例应低于 1%。

三、材料与属性:让强度与刚度参数同时可用

协同优化要求材料卡同时提供刚度参数(弹性模量 E、泊松比 ν)和强度参数(屈服强度 σs、抗拉强度 σb)。以常用结构钢为例:

MAT1, 1, 2.1E5, , 0.30, , , , , , , , , , , , 
+ , , , , , , , , , , , , , , , , 
MATS1, 1, PLASTIC, 0.0, , , , , , , , , , , , 
+ , 235.0, 0.0, , , , , , , , , , , , , , 

其中 MAT1 定义线弹性刚度,MATS1 补充塑性段用于强度校核。若只做线性静力优化,可仅用 MAT1,但强度响应需通过应力约束表达。属性方面,壳单元用 PSHELL 指定厚度与材料,实体用 PSOLID。厚度是后续尺寸优化的设计变量,因此建议把厚度单独设为参数,而不是写死在属性里。

四、边界条件:约束、载荷与工况组织

边界条件决定优化问题的“物理边界”,设置错误会让优化结果完全失去意义。要点如下:

  • 约束:用 SPC 定义。约束点应选在真实安装位置,避免在优化区域内部施加约束,否则会人为制造刚度。
  • 载荷:用 FORCE/MOMENT 定义,注意方向与坐标系一致。建议在建模前先约定全局坐标系,并在整个流程中保持不变。
  • 工况:用 SUBCASE 组织。强度工况与刚度工况可以放在不同 SUBCASE 中,但必须共用同一套网格与材料,才能实现协同。

例如某悬臂支架:根部 6 个螺栓孔全约束,自由端施加 500 N 垂直载荷作为刚度工况;同时在同一位置施加 2000 N 极限载荷作为强度工况。两个工况共用模型,仅载荷大小不同。

五、协同响应定义:把强度与刚度绑在一起

这是协同优化区别于普通优化的关键一步。在 OptiStruct 中,通过 DRESP1 定义响应,再用约束把它们关联起来:

DRESP1, 10, COMPLIANCE, , , , , , , , , , , , 
DRESP1, 20, STRESS, , , , , , , , , , , , 
DESOBJ, 10, MIN, , , , , , , , , , , , , 
DCONSTR, 20, , , , , 235.0, , , , , , , , , 

其中 COMPLIANCE 代表柔度(刚度倒数),最小化柔度即最大化刚度;STRESS 响应配合 DCONSTR 限制最大应力不超过 235 MPa。这样,优化器在每次迭代中同时考虑“刚度尽量高”和“强度不超限”,实现真正的协同。

OptiStruct 强度-刚度协同优化工作流 ① 几何清理 碎面合并 · 自由边检查 小圆角抑制 · 中面抽取 ② 网格划分 单元尺寸 1/3~1/5 特征 雅可比 > 0.6 · 翘曲 < 5° ③ 材料与属性 MAT1 刚度 · MATS1 塑性 PSHELL 厚度参数化 ④ 边界条件 SPC 约束 · FORCE 载荷 SUBCASE 工况组织 ⑤ 协同响应定义 DRESP1: COMPLIANCE(刚度) + STRESS(强度) DESOBJ: MIN COMPLIANCE DCONSTR: STRESS ≤ 235 MPa 迭代反馈 优化迭代循环 灵敏度分析 ∂C/∂x · ∂σ/∂x 设计变量更新 厚度 / 材料分布 收敛判断 目标变化 < 0.1% 输出优化结果 刚度↑ 强度满足 未收敛则返回继续迭代

六、可复用流程的固化

上述五步完成后,建议把整个流程固化为一个可复用的模板:几何清理规则写入脚本,网格尺寸与质量阈值写入参数文件,材料卡与属性卡独立存放,边界条件按工况编号管理,协同响应定义单独成段。这样,当结构方案变更时,只需替换几何、调整少量参数,即可重新运行协同优化,而不必从头搭建模型。

实操建议:首次搭建时,先用一个简单悬臂梁验证流程是否跑通——几何清理、网格划分、材料定义、边界条件、协同响应全部走一遍,确认 OptiStruct 能正常输出柔度与应力响应后,再替换为实际结构。这样能把“流程问题”和“模型问题”分开排查,显著降低调试难度。

判断工作流是否合格,可以看三个信号:一是优化迭代能稳定收敛,目标函数单调下降;二是应力约束始终在 235 MPa 附近波动而不发散;三是最终材料分布连续、无孤立碎片。若出现应力约束反复震荡,通常说明网格质量或载荷工况设置有问题,应回到第二步和第四步检查。