4. 频响优化设计变量与响应定义

在频率响应优化中,设计变量决定“改什么”,响应定义决定“看什么”。如果响应定义不准确,即使优化算法收敛,得到的也可能是无意义的解。OptiStruct 通过 DRESP1、DRESP2 和 FRESP 三类卡片,把有限元频响分析中的位移、速度、加速度、应力等结果,转换为优化器可识别、可约束、可求导的响应量。理解这三类卡片的分工,是搭建频响优化模型的核心环节。

一、三类响应卡片的分工

DRESP1 是直接响应卡片,用于从分析结果中直接提取一个物理量。它通过 RTYPE 字段指定响应类型,例如 DISP(位移)、VELO(速度)、ACCE(加速度)、STRESS(应力)、FORCE(力)等,再通过 ATTi、ATTA、ATTB 等字段指定提取位置、分量和参考点。DRESP1 是最基础、最常用的响应定义方式,适合“把某个节点的某个分量作为约束或目标”。

DRESP2 是派生响应卡片,它不直接读取分析结果,而是对已有响应进行函数运算。通过 DEQATN 定义方程,DRESP2 可以把多个 DRESP1 响应组合成新的响应量,例如把多个节点的位移响应组合成最大值、均方根值或加权和。在频响优化中,DRESP2 常用于构造“包络响应”或“综合响应”,避免对每个节点单独施加约束。

FRESP 是频响响应卡片,专门用于频率响应分析中的响应定义。它通常与 DRESP1 配合使用,指定频率范围、频率点、阻尼和响应类型。FRESP 的关键作用是告诉求解器:在哪些频率上提取响应,以及如何对频域结果进行聚合。没有 FRESP,DRESP1 在频响分析中可能无法正确关联到频率维度。

频响优化响应定义链路:从频响结果到优化响应 频响分析结果 位移 Ux/Uy/Uz DISP 速度 Vx/Vy/Vz VELO 加速度 Ax/Ay/Az ACCE 应力 σ / 应变 ε STRESS / STRAIN 支反力 / 传递力 FORCE / GPFORCE 频率点 f₁, f₂, … , fₙ 阻尼 ζ、激励方向 FRESP 频响响应定义 频率范围 f_low ~ f_high 频率点 / 步长 Δf 阻尼比 ζ 响应类型 RTYPE 优化响应定义 DRESP1 — 直接响应 • RTYPE:DISP / VELO / ACCE / STRESS • ATTi:节点 / 单元编号 • ATTA / ATTB:分量、参考点 • 输出:单个物理量响应 DRESP2 — 派生响应 • DEQATN:定义函数方程 • 引用多个 DRESP1 响应 • 可构造 MAX / RMS / 加权和 • 输出:组合响应量 → 优化约束 / 目标函数 DRESP1 提取单点响应,DRESP2 组合多响应,FRESP 定义频域提取范围

二、DRESP1 的关键字段与频响适配

DRESP1 卡片的基本格式为:DRESP1, ID, LABEL, RTYPE, PTYPE, REGION, ATTi, ATTA, ATTB, ATTJ。其中 RTYPE 决定响应类型,PTYPE 决定属性类型(如 PSHELL、PBAR 等),ATTA 和 ATTB 用于指定分量或参考点。在频响优化中,最常用的 RTYPE 包括:

  • DISP:节点位移,ATTA 指定分量(1=X,2=Y,3=Z,4=RX,5=RY,6=RZ)。
  • VELO:节点速度,频响中速度等于位移乘以 jω,常用于振动速度约束。
  • ACCE:节点加速度,频响中加速度等于位移乘以 -ω²,常用于加速度限值控制。
  • STRESS:单元应力,需指定单元编号和应力分量,常用于疲劳或强度约束。
  • FORCE:支反力或传递力,用于评估基础激励下的载荷传递。

需要注意的是,频响分析中的位移、速度、加速度是复数结果,包含幅值和相位。DRESP1 默认提取的是幅值,若需要相位信息,需通过 DRESP2 或后续处理实现。此外,ATTA 的分量编号必须与坐标系一致,若使用局部坐标系,需在卡片中明确引用。

三、FRESP 的频率定义与聚合方式

FRESP 卡片用于定义频响响应的频率范围。其典型格式为:FRESP, ID, TYPE, F1, F2, NF, ...。其中 TYPE 指定频率分布方式,F1 和 F2 为频率上下限,NF 为频率点数。在频响优化中,FRESP 的作用不仅是“选频率”,更重要的是决定响应如何随频率变化被优化器感知。

例如,若关注 20 Hz 到 200 Hz 的加速度响应,可设置 F1=20,F2=200,NF=19,即每隔 10 Hz 取一个频率点。优化器会在这些频率点上分别计算响应,并根据约束类型决定是取最大值、均方根值还是逐点约束。若使用峰值约束,优化器会关注每个频率点的响应是否超限;若使用 RMS 约束,则通过 DRESP2 先对频域响应做均方根聚合,再施加约束。

FRESP 中的频率点应覆盖关注频段,但不宜过密。频率点过密会显著增加计算量,且相邻频率点的响应高度相关,对优化方向贡献有限。通常建议在共振峰附近加密,在平缓段适当稀疏。

四、把位移、速度、加速度、应力转化为优化响应

实际工程中,频响结果往往以曲线形式存在,而优化器需要的是标量响应。因此,转化的核心是“频域聚合”。以下给出几种典型转化方式:

物理量 RTYPE 转化方式 适用场景
位移 DISP 取频段内最大幅值 刚度约束、变形控制
速度 VELO 取频段内 RMS 值 振动烈度控制
加速度 ACCE 取频段内峰值或 RMS 舒适性、设备耐受
应力 STRESS 取频段内最大应力 强度、疲劳约束

以加速度为例,假设关注节点 1001 的 Z 向加速度,频率范围 20~200 Hz。可先定义 DRESP1:DRESP1, 10, ACC_Z, ACCE, , , 1001, 3,再通过 FRESP 指定频率范围。若希望约束频段内最大加速度不超过 5g,则可在优化卡片中引用该响应并设置上限。若希望约束 RMS 加速度,则需定义 DRESP2,通过 DEQATN 写出 RMS 方程,引用多个频率点的 DRESP1 响应。

五、DRESP2 的典型用法与注意事项

DRESP2 的核心是 DEQATN 方程。一个典型的 RMS 方程可写为:DEQATN, 100, RMS = SQRT((R1**2 + R2**2 + ... + Rn**2)/n),其中 R1 到 Rn 是不同频率点的 DRESP1 响应。DRESP2 再通过 DRESP2, 20, RMS_ACC, 100, 10, 11, 12, ... 引用这些响应。这样,优化器看到的是一个标量 RMS 响应,而不是一条曲线。

使用 DRESP2 时需注意三点:第一,DEQATN 中的变量必须与 DRESP2 引用的响应一一对应;第二,DRESP2 的响应不能直接用于频响分析的频率选择,频率选择仍由 FRESP 控制;第三,DRESP2 的求导链较长,可能增加灵敏度计算成本,建议在必要时才使用,避免过度组合。

DRESP1 和 DRESP2 的 ID 不能重复,且 DRESP2 引用的 DRESP1 必须已经定义。若引用顺序错误,求解器会报“未定义响应”错误。建议在模型中按“先 DRESP1、再 FRESP、最后 DRESP2”的顺序组织卡片。

六、一个可参考的响应定义片段

以下示例展示了一个频响优化中常见的响应定义组合,用于约束 20~200 Hz 内某节点的 Z 向加速度峰值和 RMS 值:

DRESP1, 10, ACC_Z_P1, ACCE, , , 1001, 3
DRESP1, 11, ACC_Z_P2, ACCE, , , 1001, 3
DRESP1, 12, ACC_Z_P3, ACCE, , , 1001, 3
FRESP, 1, , 20.0, 200.0, 19
DEQATN, 100, RMS = SQRT((R1**2 + R2**2 + R3**2)/3.0)
DRESP2, 20, ACC_RMS, 100, 10, 11, 12

该片段中,DRESP1 定义了三个频率点的加速度响应,FRESP 指定了频率范围,DEQATN 和 DRESP2 构造了 RMS 响应。实际使用时,需根据频率点数扩展 DRESP1 的数量,并确保 DEQATN 中的变量数量与引用响应一致。

总结来说,频响优化响应定义的关键在于:用 DRESP1 提取单点物理量,用 FRESP 限定频域范围,用 DRESP2 完成频域聚合。三者配合,才能把连续的频响曲线转化为优化器可处理的标量约束或目标。理解每个字段的含义和引用关系,是避免模型报错、保证优化结果可信的前提。