马兰戈尼对流 — CAE术语解释
马兰戈尼对流
老师,马兰戈尼对流与表面张力有关的流动对吧?
马兰戈尼对流的理论基础
马兰戈尼对流的物理定义
教科书中把"由表面张力梯度驱动的流动"写成马兰戈尼对流,但具体在什么情况下会产生呢?与浮力对流从根本上有什么区别?
这是个好问题。浮力对流由体积力(重力)驱动,而马兰戈尼对流的驱动力是界面处表面张力的不均匀。具体来说,在焊接仿真的熔融池中表现得很明显。焊接区的中心温度最高,周围温度较低。表面张力随温度升高而降低(多数金属和熔融玻璃具有
表面张力梯度是驱动力,那么在几乎没有重力的太空环境中也很重要吧?
完全正确。在失重环境中,浮力对流被抑制,马兰戈尼对流成为主导。实际上,在国际空间站(ISS)等微重力环境中进行的材料实验(例如JAXA的"MELT"实验),重点研究的就是熔融材料中的马兰戈尼对流行为。地面上两种对流竞争,但在微重力下,可以观测到纯粹的马兰戈尼效应。在支配方程中,需要在边界条件中考虑表面张力的效果。
在支配方程中,如何将表面张力的效应纳入纳维-斯托克斯方程?是单独作为体积力项还是另外处理?
不是体积力项,而是作为自由表面的应力边界条件来处理。具体来说,自由表面上剪切应力的连续条件与表面张力梯度相平衡。对于由温度梯度引起的情况,边界条件可以写成
马兰戈尼对流的数值计算手法
CFD求解器的处理
用CFD实际仿真马兰戈尼对流时,求解器设置中特别需要注意的是什么?只是"打开表面张力模型"就可以了吗?
绝对不只是这样。至少需要注意3点。第一,表面张力系数必须定义为"温度的函数"而非"常数"。大多数软件支持线性函数
网格细度有什么标准吗?能用无量纲数来判断吗?
马兰戈尼数(Ma)和毛细数(Ca)可以作为指标,但实际最重要的是抓住速度边界层。由表面张力梯度产生的速度边界层厚度
联立方程求解器的设置呢?非线性性似乎很强。
温度场和流场强耦合,分离法的收敛性往往不如完全隐式耦合求解(Coupled Solver)。在Ansys Fluent中,使用"压力基耦合算法"(Pressure-Based Coupled Algorithm)收敛性通常更好。由于表面张力的显式处理会对时间步长有严格的CFL限制,通常采用CSF(连续表面力)模型等隐式处理方法。收敛困难时,可以先不考虑马兰戈尼效应进行流-热初始化,然后用斜坡函数逐渐增加马兰戈尼效应。
马兰戈尼对流的实务应用
焊接仿真的工作流程
在焊接熔融池分析中考虑马兰戈尼效应时,具体的工作流程检查点是什么?
材料物性输入是一切的基础。最少需要密度、粘度、热导率、比热,以及表面张力的温度系数
对于焊接这样的局部加热,有没有办法事先估计浮力和马兰戈尼效应哪一个占主导?
看无量纲数的比值——邦德数(Bo)比较常用。这反映浮力与表面张力梯度力的比值。
结果验证怎么做?与实验数据比对时的要点是什么?
直接测量速度很困难,所以把马兰戈尼对流的二次影响与测量值比对。最常见的是"熔融池形状"。马兰戈尼对流增强了池内热传输,使池变得更深更窄。添加材料分散的"宏观偏析"模式也是重要对比对象。仿真中要可视化温度分布和速度矢量,确认是否形成了表面向中心的流动(表面张力系数为负的情况下)。定量上,将最深温度点或特定点的冷却曲线与实验数据比对。
马兰戈尼对流的软件比较
主要CAE软件的实现差异
在Ansys Fluent、COMSOL Multiphysics、OpenFOAM中处理马兰戈尼效应,设置方法和能力有很大差别吗?
核心物理模型相同,但界面和设置灵活性差异很大。Ansys Fluent
COMSOL的印象是"所有物理都耦合",需要特殊模块吗?
需要"CFD模块"或"微流体模块"之一。设置很直观,添加"两相流,Level Set"界面等,在"表面张力"设置中启用"包含马兰戈尼效应"。这里可以直接输入表面张力系数作为温度函数。COMSOL的优势是热传导、化学种传输等与表面张力的耦合在GUI上无缝进行。例如,由溶质浓度梯度引起的马兰戈尼效应(溶质马兰戈尼效应)也相对容易设置。
开源的OpenFOAM怎么样?需要自己实现库吗?
标准的多相流求解器(如`interFoam`)实现了表面张力模型(CSF),但默认不包含马兰戈尼效应。需要使用`interFoam`的衍生求解器如`interThermalFoam`,或社区开发的求解器,或自己实现边界条件。具体地,修改`alphaEqn.H`或`UEqn.H`,使表面张力系数成为温度函数,将梯度作为剪切应力加入边界条件代码。灵活性最高但难度也大。
有专用软件吗?半导体或玻璃制造等特殊产业用?
确实有。例如晶体生长仿真领域,CGSim (STR Group)广泛使用。用于硅单晶提拉法(Cz法)等工艺优化,内置了浮力、马兰戈尼、离心力等高度模型化。玻璃熔炉设计中,Glass Service
马兰戈尼对流的故障应对
计算发散与非物理解
加入马兰戈尼效应后计算就发散了。几步迭代后速度和压力变成NaN。典型原因和对策是什么?
最常见的原因有3个。第一,表面张力系数的温度函数有极端值。检查计算区域的温度范围内表面张力是否变成了负值。第二,初始条件差。从静止状态突然打开马兰戈尼效应会产生巨大剪切应力,造成不稳定。应该先不考虑马兰戈尼效应初始化热对流,然后用斜坡函数缓慢增加马兰戈尼效应。第三,网格太粗。前面提到的表面边界层分辨不了,梯度计算就会"炸锅"。
计算收敛了,但得到的流场是非对称的,不是期望的单向循环,而是无序出现多个小涡旋。这在物理上是正确的吗?
很可能是"马兰戈尼-贝纳尔对流"。在均匀加热而不是下面加热的一致温度梯度条件下,马兰戈尼效应会引发表面张力不稳定性,形成规则的蜂窝状对流图样(贝纳尔单元)。但如果在焊接这样的局部加热中出现,就要注意了。首先检查边界条件和初始条件的对称性是否保持。数值舍入误差可能成为非对称性的种子。也要检查网格是否非对称——这本身就会偏向非对称解。如果物理上真的过渡到非定常或湍流,计算时间平均是否恢复对称性。
表面张力的温度系数
这是个超敏感参数。符号反了流向就反。绝对值也几乎与流速成正比影响。例如,熔融锡焊接仿真中,
VOF法中界面剧烈振荡,伴随着马兰戈尼应力也振荡,结果不稳定。界面平滑化有效吗?
界面振荡(寄生流)是VOF法的克星,在马兰戈尼计算中特别致命。对策有几个。第一,把界面重建格式改成"Geo-Reconstruct"或"HRIC"等高精度方案。第二,重新审视表面张力模型。在Fluent中,"表面张力模型"选"隐式","曲率指定"从"单元梯度曲率"改成"Brackbill等"等稳定性更高的方案。第三,根本解决方案是把界面追踪法从VOF换成Level Set法。COMSOL中Level Set往往是默认方案,界面光滑性上通常比VOF好。
更详细
错误