4. 多工况约束设计的基本类型与数学表达

在 OptiStruct 的拓扑优化中,约束是决定优化问题“可行域”的核心要素。多工况条件下,约束不再只是单一工况下的一个数值上限,而需要同时满足多个载荷工况对同一物理量的要求。理解体积、质量、位移、应力四类约束在多工况下的表达形式与适用条件,是正确建立优化模型、避免求解失败或结果不可用的前提。

一、体积约束与质量约束:全局资源约束

体积约束(VOLUME)与质量约束(MASS)在数学上属于同一类——对设计变量的全局积分施加上限。其一般形式为:

min f(x)
s.t.  Σ ρₑ·vₑ ≤ V*        (体积约束)
      Σ ρₑ·vₑ·ρₘ ≤ M*     (质量约束)
      0 < ρ_min ≤ ρₑ ≤ 1

其中 ρₑ 为单元密度(设计变量),vₑ 为单元体积,ρₘ 为材料密度,V* 与 M* 分别为允许的体积与质量上限。关键点在于:体积/质量约束是全局约束,与工况数量无关。无论定义 1 个还是 10 个工况,材料总量只被限制一次,各工况共享同一份材料分布。因此它常作为多工况优化的“资源预算”,用来控制最终结构的轻量化程度。

适用条件上,体积约束适合以“材料用量百分比”为目标的轻量化设计,例如设定 VOLUME = 0.3 表示保留 30% 材料;质量约束则适合已有明确重量指标的场合,如某支架总质量不得超过 2.5 kg。二者一般只取其一,同时施加会造成冗余约束。需要注意的是,体积分数过小(如低于 0.1)时,多工况下结构可能无法同时承受所有载荷,求解器会因可行域过窄而难以收敛。

二、位移约束:多工况下最典型的约束类型

位移约束(DISP)在多工况中最为常见,因为不同工况往往对应不同的加载点和关注方向。其数学表达为:

|u_j^(k)| ≤ u*_j^(k)     k = 1,2,…,N(工况编号)
                        j 为指定节点与方向

即第 k 个工况下、第 j 个自由度的位移绝对值不超过给定上限。OptiStruct 中通过 DRESP1 定义位移响应,再用 DCONSTR 施加约束,并借由工况卡片引用。多工况位移约束的实质是:每个工况独立计算位移,但共享同一套密度变量,因此优化器必须在“兼顾所有工况位移”的前提下重新分配材料。

适用条件:位移约束适合对刚度、变形量有明确要求的场景,例如悬臂结构自由端挠度不超过 0.5 mm,或某安装点在两种载荷下位移均不超过 0.2 mm。工程中常配合“最大位移”响应使用,也可对多个节点分别设限。若各工况位移限值差异过大,建议先做量纲归一化,否则优化器会偏向约束更严的工况。

三、应力约束:多工况下的强度校核

应力约束(STRESS)用于控制材料是否屈服或失效,其多工况表达为:

σ_vm^(k)(ρ) ≤ σ_allow     k = 1,2,…,N

其中 σ_vm 为 von Mises 等效应力,σ_allow 为许用应力(常取材料屈服强度除以安全系数)。与位移约束不同,应力是密度的非线性函数,且在多工况下每个工况的应力场分布不同,优化器需要同时压低所有工况的峰值应力。OptiStruct 中通过 STRESS 响应配合 DRESP1 的 ATTRIB 指定工况,再以 DCONSTR 施加。

适用条件:应力约束适合强度主导、且材料利用率要求高的设计,如承力接头、支架等。需要注意三点:一是应力约束计算量大,建议先做无应力约束的拓扑优化,再在尺寸/形状优化阶段加入;二是多工况下应关注“最危险工况”,若某工况应力远高于其他,可单独提高其权重或先排除;三是应力约束容易产生局部奇异,需设置合理的应力上限与松弛系数。

四、四类约束在多工况下的对比与选用

下表汇总了四类约束在多工况下的核心差异,便于快速选用:

约束类型数学形式与工况关系典型适用条件
体积约束Σρₑvₑ ≤ V*全局,与工况数无关轻量化、材料预算控制
质量约束Σρₑvₑρₘ ≤ M*全局,与工况数无关有明确重量指标
位移约束|u_j^(k)| ≤ u*逐工况独立计算刚度、变形量要求
应力约束σ_vm^(k) ≤ σ_allow逐工况独立计算强度校核、屈服控制

实际建模时,推荐组合方式是:体积或质量约束作为全局资源约束,位移或应力约束作为性能约束。例如某多工况支架优化可写为:体积分数 ≤ 0.35,工况 1 与工况 2 的最大位移均 ≤ 0.3 mm,同时两工况 von Mises 应力 ≤ 180 MPa。这样既控制了材料用量,又保证了各工况下的刚度与强度。

在多工况优化中,若某工况的约束始终无法满足,可先检查该工况的载荷是否过大、约束点是否合理,再考虑放宽该工况的限值或调整工况权重,而不是盲目增大迭代次数。
多工况约束设计:四类约束的数学表达与作用关系 全局资源约束(与工况数无关) 体积约束 Σρₑvₑ ≤ V* 质量约束 Σρₑvₑρₘ ≤ M* 作用:控制材料总量,形成共享材料分布 适用:轻量化、重量指标明确的场景 性能约束(逐工况独立计算) 位移约束 |u_j^(k)| ≤ u* 应力约束 σ_vm^(k) ≤ σ_allow 作用:保证各工况刚度与强度 适用:变形量、屈服强度有要求的场景 共享 密度变量 多工况载荷环境(N 个工况共享同一套设计变量 ρₑ) 工况 1:载荷 F₁ 工况 2:载荷 F₂ 工况 3:载荷 F₃ … 工况 N 优化器任务:在满足全局资源约束的前提下,使所有工况的性能约束同时成立 推荐组合:体积/质量约束(资源) + 位移/应力约束(性能)

从图中可以直观看出:体积与质量约束位于“全局层”,只对材料总量设限;位移与应力约束位于“性能层”,需要逐工况计算并同时满足。多工况优化的本质,就是让同一套密度变量 ρₑ 在全局资源约束下,尽可能兼顾所有工况的性能要求。理解这一分层关系,就能在 OptiStruct 中正确选择约束类型、设置响应与工况引用,避免把全局约束误设为逐工况约束,或遗漏某个工况的性能校核。