混合对流 — 浮力流CFD的典型问题和解决方案
更丰富的内容可在 mixed-convection.html 中查看。
计算发散
当我开始混合对流计算时,在数十次迭代后发散。
浮力流是初始条件偏离过大时,速度场会急剧变化而容易发散。请尝试以下步骤。(1) 首先关闭重力进行等温流场收敛。(2) 打开重力并逐步增加温度差(如果是Fluent则使用Patch函数设置温度)。(3) 使用伪瞬态或非稳态计算稳定化。
under-relaxation因子应如何调整?
添加密度的under-relaxation并设置为约0.8(在Fluent中,通常1.0是默认值,不显示在列表中。在Solution > Methods > Under-Relaxation Factors中添加Density)。还应该将Body Force的under-relaxation降低到约0.8。
温度场呈非物理对称性
在水平管的混合对流中,温度分布呈现上下对称,这是为什么?
浮力效应可能未在模型中反映。检查点:(1) 重力向量的方向是否正确。(2) 密度是常数还是Boussinesq或理想气体。(3) 运行密度或参考密度是否设置得当。(4) 是否启用了完全浮力效应。
我检查了所有内容,但它仍然是对称的。
如果Ri数非常低($Ri < 0.01$),浮力效应基本可以忽略,对称是正常的。如果$Ri > 0.1$时仍对称,初始条件可能完全对称,浮力引起的扰动在数值上无法发展。应该添加轻微的非对称初始扰动(温度场中约0.1度的随机噪声),或者切换到非稳态计算。
OpenFOAM的buoyantSimpleFoam残差振荡
buoyantSimpleFoam的残差呈周期性振荡,无法收敛。
浮力流在某些情况下不存在稳态解。首先确认Rayleigh数。$Ra > 10^8$左右(密闭腔体情况)时,流动本质上是非稳态的。应该切换到buoyantPimpleFoam进行非稳态计算,然后取时间平均,这是正确的方法。
非稳态计算的时间步长的参考值是多少?
根据浮力流的特征速度 $u_{buoy} = \sqrt{g \beta \Delta T L}$ 和网格单元尺寸 $\Delta x$ 设置CFL数使其小于1。如果可以使用自适应时间步长,设置MaxCo为0.5左右并自动调整是最好的。在OpenFOAM的controlDict中设置adjustTimeStep为yes,并指定maxCo即可。
混合对流收敛困难的真正原因
许多工程师都有过这样的经历:"混合对流的稳态分析中,残差从10⁻³之后完全无法进一步下降"。这不仅仅是设置问题,而是有物理原因的。当Ri ≈ 1时的混合对流处于流动本质上"不稳定"的状态,可能存在多个稳定解,甚至稳态解不存在。换句话说,稳态求解器无论如何也无法收敛——解本身在振荡。在这种情况下,正确的做法是切换到非稳态求解器(URANS),进行充分的时间积分后再取时间平均。另一个经验法则是将松弛因子降低到0.1~0.3,这有时能抑制振荡。总之,"无法用稳态求解混合对流时,应切换到非稳态"是实践规律。
相关主题
详情
错误