4. 几何建模与布尔操作实战
在 COMSOL 流固耦合仿真中,几何建模不是“画个形状”那么简单,它直接决定了流体域与固体域能否正确耦合、网格能否顺利生成、求解器能否收敛。本节围绕四个核心问题展开:如何分别创建流体域与固体域、装配体与联合体如何选择、几何清理要处理哪些典型缺陷、以及如何用参数化几何与设计模块支撑后续批量仿真。
一、流体域与固体域的创建逻辑
流固耦合的本质是“流体压力作用于固体表面,固体变形反过来改变流体通道”。因此几何上必须同时存在两个域:流体域(通常为水、空气或油)和固体域(弹性壁面、管道、阀门、薄膜等)。在 COMSOL 中,推荐的做法是先建固体域,再通过布尔差集得到流体域,而不是分别独立画两个形状。原因在于:独立绘制极易在交界面处产生微小缝隙或重叠,导致耦合面无法识别。
以一段弹性管道为例:先创建一个外径 20 mm、内径 16 mm、长 100 mm 的圆柱体作为固体域;再创建一个直径 16 mm、长 100 mm 的圆柱体作为“流体通道占位体”;用固体域减去占位体,得到管壁固体域;占位体本身保留为流体域。这样两个域在交界面上共享同一个面,COMSOL 会自动将其识别为“一致性边界”,为后续流固耦合接口提供正确的耦合面。
二、装配体与联合体:选择依据与操作差异
COMSOL 几何序列的最终形式有两种:联合体(Union)和装配体(Assembly)。联合体会将所有对象合并为一个整体,内部边界被消除或保留为内部面;装配体则保留各对象独立,对象之间通过“一致对”或“接触对”建立连接。
选择原则如下:如果流体域与固体域共享一个连续的交界面,且希望网格在交界面上共节点,应使用联合体,并在“形成联合体”设置中勾选“内部边界”以保留耦合面。如果两个域之间存在相对滑动、大变形或需要独立划分网格,应使用装配体,并手动创建“一致对”来传递载荷。对于大多数管道、阀门、薄膜类流固耦合问题,联合体是默认且更稳定的选择。
三、几何清理:从“能画”到“能算”
导入外部 CAD 模型时,最常见的几何缺陷包括:微小面(长度小于 1e-4 m)、窄条面、重复边、自由边、面法向不一致、以及流体域与固体域之间的微小间隙。这些缺陷在网格划分阶段会直接导致“网格失败”或“负雅可比”错误。
COMSOL 提供了“几何修复”和“虚拟操作”两类工具。几何修复用于自动缝合间隙、删除小面、合并边;虚拟操作则在不改变几何形状的前提下,将多个小面合并为一个逻辑面,从而减少网格单元数量。实际操作中,建议按以下顺序处理:
- 使用“修复几何”自动检测并缝合小于容差(如 1e-5 m)的间隙;
- 用“删除小面”移除面积小于 1e-8 m² 的面;
- 用“合并边”消除重复边和短边;
- 对流体域与固体域的交界面,使用“虚拟操作 → 合并面”将其合并为一个耦合面;
- 最后检查“统计信息”中的最小单元质量,确保没有负体积或零面积面。
四、参数化几何与设计模块
参数化几何是批量仿真和优化设计的基础。在 COMSOL 中,所有尺寸都应定义为“全局参数”,例如:
L_pipe = 100[mm] // 管道长度
D_outer = 20[mm] // 外径
t_wall = 2[mm] // 壁厚
D_inner = D_outer - 2*t_wall // 内径
这样,当需要改变壁厚或管径时,只需修改 t_wall 或 D_outer,几何会自动更新。进一步地,可以将几何序列封装为“设计模块”,通过“参数化扫描”或“优化模块”自动遍历不同尺寸组合,批量计算流固耦合响应。
一个典型的参数化扫描设置如下:将 t_wall 从 1 mm 扫描到 3 mm,步长 0.5 mm,共 5 个工况;每个工况下求解流体压力与固体变形,最后提取最大等效应力和最大位移。这样可以在一次提交中完成多组仿真,大幅提升效率。
| 参数 | 含义 | 示例值 | 扫描范围 |
|---|---|---|---|
| t_wall | 管壁厚度 | 2 mm | 1 ~ 3 mm,步长 0.5 mm |
| D_outer | 管道外径 | 20 mm | 固定 |
| p_inlet | 入口压力 | 0.1 MPa | 0.05 ~ 0.2 MPa |
| E_solid | 固体弹性模量 | 2 GPa | 固定 |
完成几何建模后,建议执行一次“几何检查”:确认所有域已正确分配材料、所有耦合面已识别、没有孤立边或孤立点。只有几何干净、域和边界完整,后续的物理场设置和网格划分才能顺利进行。几何是流固耦合仿真的地基,地基不稳,后面所有计算都会出问题。