Q

QCFD

V1

2023/04/10阅读:41主题:山吹

一文读懂LBM中的时间差分格式和碰撞模型

一文读懂LBM中的时间差分格式和碰撞模型

格子玻尔兹曼方法(Lattice Boltzmann Method,简称LBM)是一种基于微观动力学的计算流体力学方法。在LBM中,流体由一些虚构的粒子组成,这些粒子在离散的格子节点上进行离散的时间演化。


碰撞模型是LBM的核心,主要用于描述粒子间的相互作用。这里我们总结一下几种常见的碰撞模型:

  1. BGK模型(Bhatnagar-Gross-Krook): BGK模型是最早的也是最常见的一种碰撞模型。在这个模型中,碰撞过程被简化为单个时间尺度的弛豫过程,即粒子分布函数向平衡分布函数弛豫。该模型的主要优点是简单、易于实现,但它的缺点是粘性系数和时间尺度之间存在固有耦合。

  2. MRT模型(Multiple-Relaxation-Time): MRT模型是对BGK模型的一个改进,它引入了多个时间尺度来描述碰撞过程。MRT模型通过在速率空间中对分布函数进行线性变换,将碰撞过程从速度空间转换到矩空间。这样,不同的矩可以有不同的弛豫时间,从而更准确地描述碰撞过程。MRT模型的优点是稳定性更好、精度更高,但计算成本相对较高。

  3. TRT模型(Two-Relaxation-Time): TRT模型是MRT模型的一个简化版本,它只考虑两个时间尺度,即奇数矩和偶数矩的弛豫时间。这样可以降低计算复杂度,同时保持较好的稳定性和精度。TRT模型在一些流动问题中表现优于BGK模型。

  4. ELBM模型(Entropic Lattice Boltzmann Method): ELBM模型是基于信息熵原理的一种碰撞模型。它通过引入熵的概念,使碰撞过程满足H定理,从而保证模拟的物理正确性。ELBM模型具有较好的稳定性和准确性,但计算成本较高。

  5. IBM模型(Inhomogeneous Boltzmann Model): IBM模型是一种考虑格子间不均匀性的碰撞模型。在这个模型中,碰撞过程由多个子碰撞过程组成,每个子碰撞过程对应一个不同的平衡分布函数。IBM模型可以更准确地描述非均匀流场,但计算复杂度相对较高。

  6. Smagorinsky模型: Smagorinsky模型主要用于模拟湍流现象。这个模型基于涡粘性假设,通过引入涡粘性来模拟湍流的能量耗散。Smagorinsky模型可以与其他碰撞模型(如BGK模型)结合使用,以捕捉流动中的湍流特性。这种模型的优点是可以处理湍流问题,缺点是涡粘性系数需要根据实际问题进行调整。

  7. Regularized LBM(正则化格子玻尔兹曼方法): 正则化格子玻尔兹曼方法是一种通过引入额外项来改进碰撞模型的方法。在此方法中,碰撞过程中的非平衡部分会被正则化,以提高模拟的稳定性和准确性。这种方法可以与其他碰撞模型(如BGK模型)结合使用,适用于各种流动问题。

  8. Cascaded LBM(级联格子玻尔兹曼方法): 级联格子玻尔兹曼方法是一种通过在速度空间内引入级联过程来改进碰撞模型的方法。在此方法中,碰撞过程分为两个阶段:先进行局部级联,再进行全局级联。这种方法可以提高模拟的稳定性和准确性,适用于各种流动问题。

  9. 其他模型: 此外,还有许多其他碰撞模型和混合模型被提出和研究,例如Shan-Chen模型、Lallemand-Luo模型等。这些模型具有各自的特点和适用范围,可以根据实际问题的需要进行选择和调整。

总之,LBM中的碰撞模型有很多种,每种模型都有其优缺点和适用范围。在实际应用中,我们需要根据问题的特点选择合适的碰撞模型,以实现高效、准确的流体模拟。


BGK和MRT模型的公式推导:

  1. BGK模型:

BGK模型中的碰撞算子表示为:

其中, 是速度空间中的分布函数, 是平衡分布函数, 是弛豫时间。

平衡分布函数 可以通过下面的公式计算:

其中, 是权重系数, 是流体密度, 是流体速度, 是压力张量, 是离散速度。


  1. MRT模型:

MRT模型中的碰撞算子表示为:

其中, 是速度空间中的分布函数, 是平衡分布函数, 是速度空间到矩空间的变换矩阵, 是弛豫矩阵。

平衡分布函数 的计算方法与BGK模型相同:

矩空间中的矩表示为:

其中, 是矩空间中的矩, 是速度空间到矩空间的变换矩阵。

弛豫矩阵 的对角线元素表示为:

其中, 是第 个矩的弛豫时间。


3.TRT模型的公式推导如下:

1.TRT碰撞算子:

其中, 分别表示离散速度空间中的奇数矩和偶数矩分布函数, 分别表示对应的平衡分布函数, 是两个弛豫时间。

  1. 平衡分布函数:

其中, 是权重系数, 是流体密度, 是流体速度, 是压力张量, 是离散速度。

  1. 平衡矩:

使用线性变换矩阵 ,我们可以将速度空间中的分布函数 转换为矩空间中的矩

其中, 是矩空间中的矩, 是线性变换矩阵。

  1. 弛豫过程:

在矩空间中,弛豫过程可以简化为:

其中, 是弛豫后的矩, 是平衡矩, 是弛豫矩阵,其对角线元素由两个弛豫时间构成:

  1. 逆变换:

在弛豫过程结束后,我们需要将矩空间中的矩 转换回速度空间中的分布函数


  1. ELBM(Entropic Lattice Boltzmann Method)模型:

ELBM模型是一种基于最大熵原理的LBM方法。在ELBM中,碰撞算子表示为:

其中, 是速度空间中的分布函数, 是平衡分布函数, 是弛豫时间。

平衡分布函数 通过最大熵原理确定。对于给定的宏观变量(如密度 ,速度 和压力张量 ),平衡分布函数使熵 达到最大:

通过拉格朗日乘数法,我们可以找到使熵最大的平衡分布函数:

其中, 是权重系数, 是流体密度, 是流体速度, 是压力张量, 是离散速度。


  1. Inhomogeneous Boltzmann Model (IBM):

不均匀玻尔兹曼模型(IBM)主要用于描述具有不均匀温度场和密度场的流体。在IBM中,碰撞算子表示为:

其中, 是速度空间中的分布函数, 是平衡分布函数, 是弛豫时间。

平衡分布函数 可以通过以下公式计算:

其中, 是权重系数, 是流体密度, 是流体速度, 是温度, 是离散速度, 是Kronecker delta。


  1. Smagorinsky模型:

Smagorinsky模型是一种大涡模拟(Large Eddy Simulation,LES)方法,用于模拟湍流的亚格子尺度(Sub-grid scale,SGS)应力。在Smagorinsky模型中,SGS应力表示为:

其中, 是SGS应力, 是大尺度速度梯度的对称部分, 是湍动粘度。

湍动粘度可以通过以下公式计算:

其中, 是Smagorinsky常数(通常取值约为0.1), 是网格尺寸, 是大尺度速度梯度的Frobenius范数。

大尺度速度梯度的Frobenius范数表示为:

在LBM中,可以通过将SGS应力添加到粘性项中来实现Smagorinsky模型。

以下是使用LaTeX格式表示的Regularized LBM和Cascaded LBM的公式推导:


  1. Regularized LBM:

在Regularized LBM中,分布函数的碰撞过程可以表示为:

其中, 是速度空间中的分布函数, 是正则化分布函数, 是弛豫时间。

正则化分布函数 的计算方法如下:

其中, 是平衡分布函数, 分别表示 中的高阶非平衡矩。

平衡分布函数 可以通过以下公式计算:

其中, 是权重系数, 是流体密度, 是流体速度, 是压力张量, 是离散速度。


  1. Cascaded LBM:

在Cascaded LBM中,碰撞算子表示为:

其中, 是速度空间中的分布函数, 是平衡分布函数, 是速度空间到矩空间的变换矩阵, 是弛豫矩阵, 是区域弛豫矩阵, 是区域弛豫模式矩阵。

平衡分布函数 的计算方法与其他模型相同:

弛豫矩阵 的对角线元素表示为:

其中, 是第 个矩的弛豫时间。

区域弛豫矩阵 的对角线元素表示为:

其中, 是第 个矩的弛豫时间。非平流矩(non-advected moments)是指那些在空间上不会随着速度场移动的矩。

区域弛豫模式矩阵 的元素表示为:

其中, 是离散速度, 是Kronecker delta。


在LBM算法中,高阶的时间差分格式可以用来提高计算精度,主要包括以下几种:


  1. 二阶时间差分格式

二阶时间差分格式在标准LBM算法的基础上,增加了一阶时间导数的项,即:

其中, 表示时间差分的系数,通常设置为


  1. 三阶时间差分格式

三阶时间差分格式在二阶时间差分格式的基础上,增加了二阶时间导数的项,即:

其中, 表示二阶时间导数的系数,通常设置为


  1. 四阶时间差分格式

四阶时间差分格式在三阶时间差分格式的基础上,增加了三阶时间导数的项,即:

其中, 表示三阶时间导数的系数,通常设置为

需要注意的是,高阶的时间差分格式可以提高计算精度,但也会增加计算的复杂度和开销,因此需要根据实际情况进行测试和调整。同时,也需要注意避免过度精度控制,以免影响计算的性能和稳定性。


二阶时间差分格式的推导可以基于泰勒级数展开来进行。我们以一维LBM算法为例,推导二阶时间差分格式的方程。

首先,将分布函数 在时间 处的值表示为泰勒级数展开的形式,即:

同理,将分布函数 在时间 处的值表示为:

将上述两个式子相加,得到:

将上述式子中的 移项,得到:

将上述式子代入标准LBM算法的基本方程中,即可得到二阶时间差分格式的方程,如下:

其中, 表示时间差分的系数,通常设置为

需要注意的是,二阶时间差分格式可以提高计算精度,但也会增加计算的复杂度和开销,因此需要根据实际情况进行测试和调整。同时,也需要注意避免过度精度控制,以免影响计算的性能和稳定性。

分类:

数学

标签:

数学编程

作者介绍

Q
QCFD
V1