1. 多工况优化问题定义与OptiStruct求解流程
在真实工程结构中,零件很少只承受单一载荷。汽车控制臂在制动、转向、过坑时受力方向与大小各不相同;机翼盒段在巡航、机动、着陆时载荷分布差异显著;支架类零件往往同时要求满足多个方向的刚度、强度与模态指标。如果只按一种工况做优化,得到的结构在其它工况下很可能失效。多工况优化(Multi-Load Case Optimization)正是为解决这类问题而提出的:它要求设计变量在同一套取值下,同时满足多个工况的响应约束,并让加权目标最优。
理解多工况优化,关键要抓住一个核心区别:设计变量是全局共享的,而响应是分工况计算的。以常见的壳单元厚度优化为例,假设有 3 个工况,每个工况都计算自己的位移场、应力场和模态,但所有工况读的是同一组单元厚度变量。求解器在每一步迭代中,会分别对每个工况做一次有限元分析,再把各工况的响应按约束和目标汇总,形成统一的灵敏度信息,最后更新一次设计变量。这与“分别做三次单工况优化再取交集”有本质不同——后者无法保证同一组厚度同时满足全部约束。
从工程场景看,多工况优化通常出现在三类任务中。第一类是多方向刚度约束,例如要求某点在 X、Y、Z 三个方向加载下的位移都不超过限值,此时三个工况共用同一套拓扑或厚度变量。第二类是强度与模态混合约束,例如同时要求应力低于材料许用值、一阶频率高于目标值,这类问题中不同工况的响应类型不同,需要分别定义约束卡片。第三类是多工况加权目标,例如以整车多个碰撞工况的吸能量加权最大为目标,权重反映各工况的重要程度。
在 OptiStruct 中,多工况设置的基本流程可以归纳为“定义—引用—求解—检查”四个环节,但真正决定成败的是文件组织方式。OptiStruct 采用主文件 + 工况子文件的结构:主文件(通常以 .fem 为扩展名)负责网格、材料、属性、设计变量和优化参数;每个工况的载荷与边界条件可以写在独立的子文件中,通过 SUBCASE 段引用。下面给出一个典型的多工况拓扑优化输入片段,用于说明工况如何组织:
SUBCASE 1
LABEL = Bending_X
LOAD = 10
SPC = 20
DESOBJ(MIN) = 1
DESSUB = 100
SUBCASE 2
LABEL = Torsion_Y
LOAD = 11
SPC = 21
DESSUB = 101
SUBCASE 3
LABEL = Modal_1
METHOD = 30
DESSUB = 102
BEGIN BULK
... 网格、材料、属性、设计变量卡片 ...
这段输入中,SUBCASE 定义工况编号与标签,LOAD 和 SPC 分别指向载荷集与约束集,DESSUB 指向该工况下的设计约束,DESOBJ 指定优化目标。三个工况共享同一套设计变量,但各自拥有独立的载荷、边界和约束。需要注意的是,模态工况使用 METHOD 引用特征值求解卡片,而不是 LOAD,这是混合工况建模时最容易出错的地方。
文件组织上,建议把每个工况的载荷与约束单独放在一个 include 文件中,主文件只保留 SUBCASE 段和公共模型。这样做的好处是:增加或删除工况时只需改动主文件的工况段,不必翻动庞大的网格数据;同时便于用脚本批量生成不同工况组合,做工况敏感性分析。对于工况数量较多的项目,还可以用 INCLUDE 卡片把工况定义集中到一个文件,主文件通过一行引用即可。
求解流程上,OptiStruct 每轮迭代都会对全部工况重新做一次分析。这意味着工况数量增加时,单轮计算时间近似线性增长。以 3 个工况、约 20 万单元的模型为例,单轮分析可能耗时数分钟,若迭代 30 轮,总时间会达到数小时。因此在实际项目中,通常先用较粗的网格和较少的工况做概念验证,确认约束与权重设置合理后,再加密网格并补充工况。
结果检查是多工况优化中最容易被忽视的环节。很多初学者只关注 .out 文件中的目标值是否下降,却忽略了各工况约束是否真正满足。正确的做法是:先看 .out 中的约束违反量(Constraint Violation)是否收敛到零附近,再打开 .h3d 逐个工况查看位移、应力或模态频率云图,确认没有局部超限。如果某个工况的约束始终无法满足,常见原因有三类:一是该工况的载荷量级远大于其它工况,导致其在加权中占据主导;二是约束上限设置过严,超出了结构在给定变量空间内的能力;三是该工况的边界条件与其它工况冲突,例如同一节点在不同工况下被施加了矛盾的约束。
最后需要强调,多工况优化的“多”不仅体现在载荷数量上,也体现在响应类型的多样性上。位移、应力、频率、屈曲因子、柔度等都可以作为不同工况的约束或目标。理解这一点,才能在 OptiStruct 中正确选择 DESSUB、DESOBJ 以及对应的响应卡片,避免把模态约束误写成静力约束这类基础错误。掌握工况定义、文件组织与结果检查这三件事,就具备了开展多工况优化的基本能力。