1. 引言
格子Boltzmann方法(lattice Boltzmann method)是最近三十年兴起的方法,目的是为了解决计算流体力学问题。它以Boltzmann方程为基础,并借助计算机技术发展而来 [1] 。
当今,计算流体力学可分为三大类:宏观方法,介观方法,微观方法 [2] 。介观层次上的格子Boltzmann方法相对于宏观和微观的计算流体力学和计算传热学方法而言,具有物理意义明确,边界条件处理简单,程序执行容易,并行性能好等性质。所以,它被看作是最具有前景的数值模拟方法中的一种 [3] 。
在车辆行业中,汽车风噪声是由车身上较小的凸起和空腔体引起的,而揭示腔内流体的运动规律和物理机制长久以来是一个重要的研究课题。顶盖方腔驱动流的研究就是基于以上述问题为工程背景的 [4] 。因此,研究这一问题既具有理论意义,也包含工程意义。顶盖方腔驱动流问题是数学物理问题上一个可以用来检验各种求解方法的有效性的经典数值模型,有许多科研工作者对其进行了数值求解。本文采用格子Boltzmann方法对其求解,并验证该方法的正确性、准确性和稳定性。
2. 模型介绍
顶盖方腔驱动流是计算流体力学中的经典问题。如图1所示,在一个每边长为1的正方形二维空腔中充满等密度的空气,其顶盖以恒定为0.1的速度向右移动,同时带动方腔内流体的流动,其他三个边界保持静止不动 [5] 。我们的目的是通过数值模拟,分析方腔中心线气体的流速,绘制气体流动的流线图,观察和研究方腔内气体的流动情况。
![](//html.hanspub.org/file/61-2623294x7_hanspub.png?20230504103636441)
Figure 1. Schematic diagram of top cover drive flow
图1. 顶盖驱动流示意图
选取笛卡儿坐标系,方腔左下角为坐标原点。计算区域:
。初始条件如下:在方腔顶部,横坐标x方向上速度
,纵坐标y方向上速度
,在其余壁面上
,方腔内部
,流场初始密度
。
流体粒子的演化过程原始方程为偏微分方程Boltzmann方程,对其进行离散,得到代数方程格子Boltzmann-BGK方程(LBGK)。设速度分布函数为f,f为空间
、分子速度
和时间t的函数 [5] 。分布函数
,是一种从介观角度考虑的函数,表示每一个粒子处于某种状态下的概率,同时
也表示在t时刻,速度为
的粒子密度。
网格划分:格子间距比上时间步长等于格子离散速度,则为标准LBM的控制方程 [6] 。以二维问题为例,即要求
和
。其中,
和
分别为离散速度
在x和y方向上的分量;
和
分别是x和y方向上的网格步长,均为常数。在此方法中,通常取
,因而有
,此时的物理量都做无量纲处理,均采用的是格子单位 [7] 。
3. 数值计算方法
3.1. 从Boltzmann方程到格子Boltzmann方程
Boltzmann方程是气体动理论基本方程,与流体力学基本方程关系密切,可以通过数值模拟,来描述流体的宏观运动 [8] 。
设f为速度分布函数,先将Boltzmann方程
(1)
右端的碰撞项线性化处理,即Boltzmann方程中的碰撞项
替换为一个简单的算子Ω,这就是BGK近似 [9] 。得到Boltzmann-BGK方程
(2)
局部平衡态分布函数
随t和
变化 [5] 。
再引入弛豫时间
,在不考虑外力的情况下,Boltzmann-BGK方程可写作
(3)
然后将
离散为
,N表示速度种类数。与此同时,连续的分布函数f也相对应离散为
,其中
,
。得到速度离散的Boltzmann-BGK方程为
(4)
还需要在时间和空间上差分离散,空间采用一阶迎风格式,时间采用一阶向前格式 [10] 。
得到完全离散化的BGK方程,即为格子Boltzmann-BGK方程
(5)
3.2. 格子Boltzmann方法的基本模型
通常由三个要素构成一个完整的格子Boltzmann模型,分别为:格子——离散速度模型(DVM),平衡态分布函数以及分布函数的演化方程 [11] 。如图2所示,本文使用D2Q9 (2维9速)模型 [12] 。其分布函数的演化方程为:
(6)
式中,
为粒子沿
方向速度分布函数;r为粒子空间位置;
为时间步长;
为无量纲松弛时间;
表示速度配置:
(7)
式中,
分别为网格步长和时间步长,且通常有
。
表示了粒子的运动方向,可表示为
为平衡态分布函数,可表示为
(8)
式中,cs为格子声速,
为权系数,
为气体宏观速度 [5] 。
(9)
由分布函数,可求得模型的宏观密度和速度:
(10)
应用Chapman-Enskog多尺度展开技术我们能从式(6)中恢复推导出其基本模型对应的宏观方程,即能得到不可压缩的Navier-Stokes方程。以下是对此过程的详细求解过程。
在多尺度技术中,通常使用以下三种形式的时间尺度:
(离散时间)、
(连续时间)、
(连续时间),两种空间尺度:
(离散空间)、
(连续空间) [5] 。从而时间导数和空间导数有:
(11)
(12)
Chapman-Enskog展开还需要对分布函数进行展开,即假设分布函数
已经离平衡态不远,并趋于平衡态。因此
可以展开为k幂级数形式:
(13)
不考虑外力的格子Boltzmann方程如下:
(14)
对式(14)的左端对时间与空间做泰勒展开可得:
(15)
(16)
把式(11)、(12)、(13)带到式(16)可以得到:
(17)
比较一下
和
的系数,我们可以得到
(18)
(19)
(20)
(21)
由式(19),可以将式(21)简化为
(22)
平衡态分布函数需满足矩方程:
,
再根据式(10)密度、速度的定义,我们可以得到:
(23)
因此我们能得到第一个关系式
(24)
同样,我们可以得到
(25)
所以我们得到第二个关系式
(26)
对式(19)求速度的零阶矩和一阶矩
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
故,得到t1时间尺度上的宏观方程
(36)
(37)
同理可得t2时间尺度上的宏观方程
(38)
(39)
(40)
由式(36)可得
(41)
由式(36)和(37)可得
(42)
根据D2Q9的平衡态分布函数
(43)
其中
。
将式(41)、(42)和(43)代入式(40)得
(44)
联立t1和t2时间尺度方程可得模型对应的宏观方程
(45)
(46)
其中
,
为运动粘度系数。
与标准的可压缩N-S方程相比,式(46)存在动量偏差 [13] 。对低马赫数流动来说
可以忽略,如果流体密度为常数
,此时宏观方程为
(47)
(48)
式中,
,于是上述方程为标准的不可压N-S方程组。
3.3. 格子Boltzmann方法的边界处理
本文采用Guo等人提出的非平衡外推格式,即将边界节点上的分布函数分解成平衡态和非平衡态来讨论 [14] 。
![](//html.hanspub.org/file/61-2623294x122_hanspub.png?20230504103636441)
Figure 3. Unbalanced extrapolation format
图3. 非平衡外推格式
如图3所示,在D2Q9模型中,假设边界上的是TOP,流场中的是SRQ。在t时刻,因为边界格点O处没有f2、f5和f6方向迁移来的粒子,因此分布函数f2、f5和f6都是未知的,但格点Q、R、S的分布函数、宏观密度和速度均已知。分布函数在O点的值是未知的,为了确定在此处的值,将此处的值分解为平衡态和非平衡态,即
其中
是非平衡态部分。
对于平衡态部分,对速度边界条件,O点速度
已知,密度
未知的情况下,可用临近的R点密度
来代替。O点的平衡态分布函数由
近似获得。对于非平衡态部分,则可以使用临近格点R处的非平衡态函数来近似,即
因此,可得到O点的近似分布函数:
(49)
3.4. 小结
格子Boltzmann方法的计算过程是一个循环演化的过程,每前进一个时步,完成一次循环。
1、全场初始化,确定各节点上的宏观密度
和宏观速度u以及分布函数
;
2、接着可以得到此时的平衡态分布函数
;
3、再根据LBGK碰撞模型可以得到碰撞后的密度分布函数
;
4、再通过迁移,就可以得到下一时刻的密度分布函数
;
5、由某一时刻的密度分布函数,可以计算出该时刻的宏观密度和宏观速度;
6、边界处理;
7、判断收敛性。重复上述2~6过程,可以实现整个过程的不断演化。
以上是对LBM的分析。
4. 数值模拟
4.1. 模拟过程
取边长为1的正方形腔体,选择笛卡儿坐标系,方腔左下角为坐标原点,格子取为256 × 256 [4]。
初始条件:方腔顶部,
;其余壁面,
;方腔内部,
;初始密度
,由式(8)计算平衡态分布函数
,在
时刻,
。
根据式(5)进行迭代计算,边界处理采用非平衡外推格式。在数值模拟中,运动黏度系数可可由雷诺数定义式反算获得:
,其中,U为顶盖驱动速度,
为方腔顶部的格子数,即
。
![](//html.hanspub.org/file/61-2623294x146_hanspub.png?20230504103636441)
Figure 4. Center line velocity u1, u2 of square cavity
图4. 方腔中心线速度u1,u2
各参数均为格子单位,终止条件设为相邻两个时间步的最大流函数差值小于10−6 [4] 。
4.2. 模拟结果
图4表示出了雷诺数分别为400、1000、2000时,通过方腔中心x = 0.5,水平方向的速度分量u1随纵坐标y的变化,与通过方腔中心y = 0.5,垂直方向的速度分量u2随横坐标x的变化。可以观察到,随着雷诺数的增大,速度曲线的波峰变化越大。说明雷诺数越大(流体的惯性力越大和粘性力越小),速度变化越大。
图5分别示出了雷诺数为400和1000时,中心线速度结果和Ghia的结果对比。通过对比发现,方腔的中心线速度分量u1,u2和Ghia的结果基本保持一致。表明了我们结果的正确性和准确性。
在图6中,对于不同的雷诺数,我们对水平初速度U作了一个微小的扰动,观察图形的变化,发现图形的形态几乎没有改变,即该系统在稳定状态下受到较小的扰动后仍能回到一个相近的稳定状态,表明了这个算法和模型具有鲁棒性。
在图7中,对于不同的雷诺数,我们画出了流线图。显然,可以看到在方腔内部生成了大小不同的旋涡。三个图的中心都出现一个一级涡,在左右下角都会出现一个二级涡。当Re = 2000时,左上角出现了第三个二级涡。当Re = 400时,一级涡中心在方腔中心偏右上。当雷诺数变大,左、右下角的涡也随
![](//html.hanspub.org/file/61-2623294x147_hanspub.png?20230504103636441)
Figure 5. Comparison of centerline velocity results with Ghia
图5. 中心线速度结果与Ghia的对比
![](//html.hanspub.org/file/61-2623294x148_hanspub.png?20230504103636441)
Figure 6. Comparison of centerline velocities at different Reynolds numbers and horizontal initial velocities
图6. 不同雷诺数和水平初速度下中心线速度对比
![](//html.hanspub.org/file/61-2623294x149_hanspub.png?20230504103636441)
Figure 7. Streamline diagram of top cover drive flow with Re = 400, 1000, 2000
图7. Re = 400、1000、2000顶盖驱动流的流线图
之增大,且一级涡中心向方腔中心移动 [15] 。因此,可以清晰地看出雷诺数对流动模式的影响。
5. 结束语
本文详细讨论了LBM,并以LBM为基础,对顶盖方腔驱动流中的流场进行了数值模拟,采用的是D2Q9模型,在边界条件上采用非平衡外推格式,计算简单,易于实现。得到并详细讨论了雷诺数分别为Re = 400,1000,2000时的数值结果。与前人已有的数值研究结果进行对比,表明了该方法的正确性、准确性和鲁棒性。LBM对理解流体流动有现实意义,拥有广阔的研究前景。