2. COMSOL 基础操作与建模环境

COMSOL Multiphysics 的建模流程并不是“打开软件—画图—点求解”这样一条直线,而是一条由多个相互约束的环节组成的闭环:模型向导决定物理场与求解空间的维度,几何决定计算域的形状与边界,材料决定本构参数,网格决定离散精度,求解器决定方程如何被迭代求解,后处理则决定我们能否从结果中读出有物理意义的结论。热流固多场耦合尤其如此——温度场改变材料属性,流体压力改变固体受力,固体变形又反过来影响流道形状与换热面积,任何一个环节设置不当,都会在后续环节被放大。本节以“模型向导、几何建模、材料定义、网格划分、求解器配置、结果后处理”为主线,说明每一步实际要做什么、关键参数如何取、结果如何判断。

模型向导:先定维度与物理场,再谈几何

启动 COMSOL 后首先进入模型向导(Model Wizard)。第一步选择空间维度:热流固耦合常见的是三维(3D)、二维轴对称(2D Axisymmetric)和二维平面(2D)。对于圆管换热器、轴对称密封件这类几何,用二维轴对称可以把计算量降低一到两个数量级,同时保留周向对称性;对于有明显三维流道或非对称结构的对象,则必须用三维。第二步选择物理场,热流固耦合通常需要同时添加“固体力学(Solid Mechanics)”“传热(Heat Transfer in Solids / Fluids)”和“流体流动(Laminar Flow / Turbulent Flow)”,并在多物理场节点下添加“热膨胀(Thermal Expansion)”“流固耦合(Fluid-Structure Interaction)”等耦合接口。第三步选择研究类型:稳态(Stationary)用于求平衡态,瞬态(Time Dependent)用于求随时间演化的过程,特征频率(Eigenfrequency)用于求模态。这里有一个常见误区:先画几何再补物理场,往往导致边界条件无处施加,因此建议在向导阶段就把物理场与耦合接口选全。

几何建模:从参数化草图到布尔序列

几何建模的核心是“参数化 + 布尔运算”。建议先在“全局定义—参数”中定义关键尺寸,例如管长 L=0.5 m、内半径 r_i=0.01 m、外半径 r_o=0.012 m、壁厚 t=0.002 m,后续几何全部引用这些参数,修改时只需改一处。二维轴对称下,用矩形表示管壁、用矩形表示内部流体域,通过“并集”合并为同一几何序列,再用“形成联合体(Form Union)”保证各域共享边界。三维下常用“拉伸(Extrude)”“旋转(Revolve)”“扫掠(Sweep)”生成实体,再用“差集(Difference)”挖出流道。几何完成后务必检查“几何统计”中的域数、边界数、边数是否与预期一致;若出现多余边或碎面,可在“虚拟操作(Virtual Operations)”中用“忽略边(Ignore Edges)”或“合并面(Merge Faces)”清理,否则网格会在此处产生畸形单元。

COMSOL 热流固耦合建模流程与数据传递关系 ① 模型向导 维度:3D / 2D轴对称 物理场:固体+传热+流动 研究:稳态 / 瞬态 ② 几何建模 参数化尺寸 L, r_i, r_o 布尔运算 + 形成联合体 虚拟操作清理碎面 ③ 材料定义 E, ν, α, k, ρ, Cp 温度相关属性插值 域/边界指派 ④ 网格划分 自由四面体 / 扫掠 边界层加密 单元质量 > 0.3 ⑤ 求解器配置 全耦合 / 分离式 相对容差 1e-6 阻尼与步长控制 ⑥ 结果后处理 温度/应力/流速云图 探针与截面曲线 能量/动量守恒检查 多物理场耦合反馈:温度→热应变→流道变形→流速/换热变化 教学示例参数(圆管热流固耦合,二维轴对称) 几何:L = 0.5 m,r_i = 0.010 m,r_o = 0.012 m,壁厚 t = 0.002 m 材料:E = 200 GPa,ν = 0.30,α = 12e-6 1/K,k_s = 45 W/(m·K),ρ = 7850 kg/m³ 流体:水,入口速度 0.5 m/s,入口温度 293.15 K,壁面热流 1e4 W/m² 网格:自由三角形 + 边界层 5 层,增长率 1.2,最小单元 0.2 mm

材料定义:属性不是常数,而是温度与坐标的函数

在“材料”节点下,可以直接从内置材料库调用“Structural steel”“Water, liquid”等,也可以自定义。热流固耦合中,最容易被忽略的是属性随温度变化:弹性模量 E(T)、热膨胀系数 α(T)、导热系数 k(T)、比热 Cp(T) 都会显著影响结果。COMSOL 允许用插值函数(Interpolation)或解析表达式定义,例如 k(T)=45-0.02*(T-293.15)。材料指派要区分域:管壁用钢,内部流体域用水,若存在保温层则再增加一层。注意“材料”与“物理场”是两套独立指派,固体力学节点下要确认线弹性材料引用的正是钢,传热节点下要确认导热系数引用的正是 k(T),否则会出现“材料已定义但物理场未使用”的隐性错误。

网格划分:质量比数量更重要

网格不是越密越好,而是要在梯度大的地方密、梯度小的地方疏。热流固耦合中,壁面附近的速度边界层和温度边界层是重点,建议在流体域壁面添加“边界层(Boundary Layers)”,层数 5、增长率 1.2、第一层厚度按 y+ 估算;固体域用“自由四面体(Free Tetrahedron)”即可,若为轴对称则用“自由三角形(Free Triangular)”。网格统计中要关注最小单元质量(Minimum element quality),一般要求大于 0.3,低于 0.1 的单元会导致求解不收敛或结果失真。若几何中有细长流道,可先用“扫掠(Swept)”生成六面体网格,既减少单元数又提高精度。网格无关性验证的做法是:将网格加密一倍,若关键结果(如最大等效应力、出口平均温度)变化小于 2%,即可认为网格已足够。

求解器配置:全耦合还是分离式

热流固耦合是非线性、多物理场问题,求解器选择直接影响收敛性。COMSOL 默认的“全耦合(Fully Coupled)”求解器把温度、位移、压力作为同一方程组同时迭代,收敛快但内存占用高;“分离式(Segregated)”求解器把物理场分组交替求解,内存友好但可能需要更多迭代。对于强耦合问题(如流固耦合中固体变形显著改变流道),建议用全耦合,并在“非线性方法”中设置阻尼系数 0.7~0.9、最大迭代次数 50。相对容差一般取 1e-6,若收敛困难可先放宽到 1e-4 得到初值,再收紧重算。瞬态问题还要设置时间步长:初始阶段用较小步长(如 1e-3 s),稳定后用自动步长(BDF 自由阶)。求解日志中要观察“残差”曲线是否单调下降,若出现振荡,通常是网格质量差或边界条件冲突。

结果后处理:从云图到物理判断

求解完成后,后处理的目标不是“好看”,而是“可判断”。常用手段包括:温度云图(观察热点位置)、von Mises 应力云图(判断是否超过屈服强度)、速度流线(观察回流区)、截面曲线(沿管长提取温度与应力分布)。COMSOL 的“派生值(Derived Values)”可以计算域最大值、边界平均值、体积积分,例如用“体积积分”求固体域总热应变能,用“边界积分”求壁面总热流。判断结果是否可信,至少做三件事:一是检查能量守恒,入口热流与出口热流之差应等于壁面加热量;二是检查网格无关性;三是检查边界条件是否被正确施加,例如入口速度是否真的为 0.5 m/s,壁面热流是否真的为 1e4 W/m²。若结果异常,优先回到几何与网格排查,而不是反复调整求解器参数。

建议在每次修改几何或材料后,先运行“网格统计”和“检查物理场接口”,确认没有未指派的域或边界,再提交求解。热流固耦合的调试成本远高于单物理场,前期多花十分钟检查,往往能省下数小时的重算时间。