3. COMSOL中流固耦合接口选择与耦合方式

在COMSOL中做流固耦合,真正决定“算得对不对、算得快不快”的,往往不是几何画得多漂亮,而是三件事:选哪个多物理场接口、用单向还是双向耦合、用分离式还是全耦合求解器。这三者互相牵制:接口决定了方程以什么形式耦合,耦合方向决定了要不要把流体载荷回代到固体,求解器则决定了这个耦合方程组怎么被迭代或整体求解。本节围绕这三条主线展开,并给出可直接对照的接口与求解器选择依据。

一、先分清物理场景,再选接口

COMSOL的“流固耦合”不是单一接口,而是一组按场景划分的接口。选择时先问两个问题:流体是否可压缩、是否高速?固体是否发生大变形或接触?据此可对应到下表。

接口/多物理场节点适用场景关键特征
流固耦合(FSI)不可压缩或弱可压缩流体 + 弹性固体双向耦合,流体与固体在同一耦合求解框架内
流固耦合,固定几何固体变形极小,可忽略网格移动流体域网格不随固体变形更新,计算量小
气动弹性 / 声-结构高速可压缩流、声振耦合使用专门的可压缩流或声学方程
多孔弹性 / 孔隙弹性流体在固体骨架中渗流Biot理论,流体压力与固体骨架变形耦合
热-流-固耦合温度场同时影响流体与固体需叠加传热接口,形成三场耦合

对于大多数“水/空气绕弹性结构”的常规问题,直接选择流固耦合(FSI)接口即可。若结构刚度极大、变形量在毫米级以下,可优先考虑“固定几何”版本,避免动网格带来的收敛困难。

二、单向耦合与双向耦合:判断“回代”是否必要

单向耦合只把流体压力/黏性力作为载荷施加到固体上,固体变形不反馈给流体。双向耦合则每个迭代步都把固体位移传给流体、把流体载荷传回固体。判断标准不是“哪个更高级”,而是固体变形是否显著改变流场。

一个实用的量化判据是:用预估的固体最大变形量 δ 与流道特征尺寸 L 比较。若 δ/L < 1%,通常单向耦合已足够;若 δ/L 在 1%~5% 之间,需做一次双向试算对比;若 δ/L > 5%,或出现明显涡激振动、颤振、阀门开闭等反馈现象,必须用双向耦合。例如一段内径 20 mm 的硅胶管,若壁面变形约 0.1 mm,δ/L=0.5%,单向耦合即可;若变形达到 1.5 mm,δ/L=7.5%,流道截面积变化超过 15%,必须双向。

单向耦合的计算成本通常只有双向的 1/3~1/5,且几乎不会出现耦合发散。在方案论证阶段,可先用单向耦合快速评估应力水平,再决定是否升级为双向。

三、分离式与全耦合求解器:耦合方程组的两种解法

双向耦合建立后,COMSOL需要求解一个包含流体变量和固体变量的耦合方程组。求解器分为两类:

  • 全耦合(Fully Coupled):把流体和固体的所有自由度放在同一个大型雅可比矩阵中,用牛顿法整体迭代。优点是耦合强、收敛快(迭代次数少);缺点是内存占用大,对初值敏感。
  • 分离式(Segregated):把流体和固体分成两个子步,交替求解,每个子步内用较小的矩阵。优点是内存需求低、易与已有单物理场设置兼容;缺点是耦合弱时收敛慢,强耦合时可能不收敛。

选择时可参考:当流体与固体密度比接近(如水中橡胶)、或变形导致流道显著变化时,优先全耦合;当密度比很大(如空气中钢板)、或计算资源有限时,可先用分离式并适当增加子步迭代次数。COMSOL的“流固耦合”接口默认常采用分离式,但可在求解器配置中切换为全耦合。

求解器配置建议(双向耦合):
- 分离式:流体步 + 固体步,每步最大迭代 10~20
- 全耦合:直接求解器 MUMPS 或 PARDISO,内存 ≥ 32 GB 时优先
- 时间步进:BDF 自由步长,初始步长 1e-4 s,最大 1e-2 s
- 耦合收敛容差:相对容差 1e-3,绝对容差 1e-4

四、多物理场节点设置:把“耦合”真正接上

接口选好后,必须在模型树中检查多物理场节点是否覆盖了所有耦合面。以“流固耦合”接口为例,通常包含两个关键节点:

  1. 流体-固体边界:指定哪些边界是流固交界面。必须同时被流体域和固体域共享,否则不会传递载荷。
  2. 动网格:指定流体域中哪些区域随固体变形而移动。通常选择流体域全部,或至少包含交界面附近的区域。

常见错误是只选了固体边界却忘了在流体侧勾选对应边界,导致压力无法传递。另一个易错点是动网格区域未包含全部流体域,造成网格畸变或负体积。设置完成后,可用“检查”功能查看耦合面是否完整。

流固耦合接口选择与耦合方式决策图 ① 接口选择 流体可压缩? 否 → 流固耦合(FSI) 固体变形显著? δ/L < 1% → 固定几何 是否含温度场? 是 → 热-流-固耦合 多孔介质渗流? 是 → 多孔弹性 高速气动弹性? 是 → 气动弹性/声-结构 ② 耦合方向 单向耦合 流体 → 固体(仅载荷传递) δ/L < 1%,无反馈 双向耦合 流体 ⇄ 固体(位移+载荷) δ/L > 1%,有反馈 判断依据 变形量 / 流道尺寸 涡激、颤振、阀门开闭 单向成本 ≈ 双向的 1/3~1/5 方案论证阶段优先单向 ③ 求解器选择 全耦合 统一雅可比矩阵,牛顿迭代 强耦合、收敛快、内存大 分离式 流体步 + 固体步交替 内存低、弱耦合适用 选择建议 密度比接近 → 全耦合 密度比大/资源少 → 分离式 收敛容差:相对 1e-3 绝对 1e-4 多物理场节点检查:流体-固体边界必须双侧共享;动网格区域需覆盖全部流体域,避免负体积

五、实操中的参数与收敛判断

以一个典型的水中弹性挡板为例:流道高度 30 mm,挡板厚度 2 mm,入口流速 0.5 m/s,材料为硅胶(E=1 MPa,ν=0.49)。预估挡板最大变形约 1.2 mm,δ/L=4%,属于双向耦合区间。设置时选择“流固耦合”接口,流体用层流,固体用线弹性,动网格用超弹性平滑。求解器先用分离式,流体步和固体步各设最大迭代 15 次,相对容差 1e-3。若残差在 8 次内降到 1e-3 以下,说明分离式可行;若迭代到 15 次仍高于 1e-3,则切换为全耦合,并改用 PARDISO 直接求解器。

判断结果是否可信,不能只看“收敛了”。还要检查:交界面上的压力与位移是否连续、动网格质量是否低于 0.3、以及质量守恒误差是否小于 1%。若网格质量在变形后急剧下降,即使残差收敛,结果也可能失真,此时应减小时间步长或改用更稳健的动网格方法。

双向耦合中,若流体密度远大于固体密度(如水与橡胶),分离式容易发散。此时应优先全耦合,或在分离式中增加松弛因子(如 0.5~0.7),并减小初始时间步长。

总结起来,接口选择看物理场景,耦合方向看变形量级,求解器看密度比与资源。三者确定后,再回到多物理场节点逐一核对耦合面与动网格区域,才能保证流固耦合仿真既收敛又可信。