国内文章很少有关于格子玻尔兹曼法中单位选择和换算的解释,最近读到一篇palabos上关于单位选择的文章,大致翻译和总结如下。

基本原理

格子玻尔兹曼模拟能够代表一个真实存在的物理系统。在实施过程中,总会出现如何选择模拟量单位的问题。有两个约束条件决定了这个选择。首先,模拟应该和物理系统等效。其次,为了达到要求的精度,需要对参数进行微调,即网格要有足够的分辨率,离散时间步长要足够小等。

本文假设最终目标是求解一个宏观流体方程,比如不可压缩的N-S方程。这里介绍的方法包括两个步骤。第一步,将物理系统转化为无量纲系统,无量纲系统不依赖于原始的物理尺度,也不依赖于仿真参数。第二步,将无量纲系统转化为离散系统。这三个系统(物理系统P、无量纲系统D和离散系统LB)之间的对应是通过无量纲或者无尺度的数来实现的。例如,不可压缩N-S方程的解只依赖于一个无量纲参数,即雷诺数Re。因此,这三个系统具有相同的雷诺数。从(P)过渡到(D)是通过选择特征长度$l_{0}$和时间尺度$t_{0}$实现的,而从(D)到(LB)是通过选择离散空间步长Δx和时间步长Δt实现的。

物理系统(P)——$Re,l_{0},t_{0}$——> 无量纲系统(D)——$Re,\delta_{x},\delta_{t}$——> 离散系统(LB)

这不是唯一可行的方法。显然可以直接从(P)到(LB),但是最好采用中间步骤生成无量纲系统。有几个原因,首先离散变量Δx和Δt对模拟的稳定性和准确性有很大影响,它们不依赖于物理系统的规模,也绝不依赖于所选择的物理单位。另外,很可能在模拟时出现没有物理系统可以参考的情况,例如当试图实现另一个LB系统时。最后,摆脱原始的物理系统时一个很重要的抽象过程,有助于专注后续的数学处理。

实例:不可压缩流体流动

控制方程

在不可压缩流体中,密度定义为恒定值$ \rho = \rho _{0} $,不随时间和空间变化。 Navier-Stokes方程满足质量和动量守恒定律。质量守恒定律表明速度场是无散度(divergence-less)的

其中$u$是速度,下标”p”表示变量和导数是以真实物理单位计算的。由动量守恒定律可以推出,

其中$p_{p}$是压力,$v_{p}$是粘度

无量纲公式

现在将方程(1)和(2)转化成无量纲形式。引入空间尺度 $l_{0}$ 和时间尺度 $t_{0}$ 。将时间$t_{p}$和位置向量$r_{p}$等物理变量替换为它们对应的无量纲项:
\begin{equation}
\begin{matrix}
t_ {d} = \frac{t_ {p}}{t_ {0,p}}& and & r_ {d} = \frac{r_ {p}}{l_{0,p}}
\end{matrix}
\label{eq:时间空间无量纲化}
\end{equation}

同样地,对其他变量引入单位换算:
\begin{equation}
\begin{matrix}
u_ {p} = \frac{l_ {0,p}}{t_ { 0,p}}u_ {d}& \partial_ {t_ { p}} = \frac{1}{t_ {0,p}}\partial_{t_ {d}}& \nabla_ {p} = \frac{1}{l_ {0,p}}\nabla_ {d} &and &p_ {p} = \rho _ {0}\frac{l_ {0,p}^2}{t_ {0,p}^2}p_{d}
\end{matrix}
\label{eq:其他无量纲化}
\end{equation}

将换算后的变量带入方程(1)(2),就得到了无量纲化的Navier-Stokes方程。

\begin{equation}
\partial _ {t_ {d}}u_ {d}+(u_ {d}\cdot \nabla_ {d})u_ {d}=-\nabla_ {d}p_{d}+\frac{1}{Re}\nabla{d}^{2}u{d}
\label{eq:无量纲NS方程}
\end{equation}

\begin{equation}
\Delta _ {d}\cdot u_{d}=0
\label{eq:无量纲NS方程2}
\end{equation}

其中无量纲的雷诺数Re定义为

\begin{equation}
Re = \frac{l_ {0}^2}{t_{0}\nu}
\label{eq:雷诺数}
\end{equation}

在任何单位系统中该公式均成立。如果两种遵循N-S方程的流体处在相同的几何结构中(仅相差一个比例系数)并具有相同的雷诺数,则它们是等价的。

通过在无量纲系统中表示引用变量,可以发现$l_{0,d} = 1$ 且 $t_{0,d} = 1$ 。我们可以认为无量纲系统是$l_{0}$和$t_{0}$归一化的系统。无量纲体系的粘度为$ \nu_{d}= {1}/{Re} $。

无量纲系统的离散化

离散空间间隔$\delta_{x}$定义为参考长度除以网格个数$N$。同样,$\delta_{t}$定义为参考时间除以迭代次数$N_{iter}$。这两个变量在无量纲系统中是1,所以离散化参数为

\begin{equation}
\begin{matrix}
\delta_{x} = 1/N & and
\end{matrix}
\label{eq:空间步长}
\end{equation}

\begin{equation}
\delta_{t} = 1/N_{iter}
\label{eq:时间步长}
\end{equation}

其他参数,也可以很容易地从(D)转化到(LB)系统:

\begin{equation}
\begin{matrix}
u_{d} = \frac{\delta_{x}}{\delta_{t}}u_{lb} & and
\end{matrix}
\label{eq:速度d}
\end{equation}

\begin{equation}
\nu_{d}= 1/Re = \frac{\delta_{x}^2}{\delta_{t}}\nu_{lb}
\label{eq:粘度d}
\end{equation}

因此

\begin{equation}
\begin{matrix}
u_{lb} = \frac{\delta_{t}}{\delta_{x}}u_{d} & and
\end{matrix}
\label{eq:速度lb}
\end{equation}

\begin{equation}
\nu_{lb}= \frac{\delta_{t}}{\delta_{x}^2}\frac{1}{Re}
\label{eq:粘度lb}
\end{equation}

最后,定义参考速度$u_{0} = l_{0}/t_{0}$,可以发现根据定义,

\begin{equation}
\begin{matrix}
u_{0,d} = 1 & and
\end{matrix}
\label{eq:速度0d}
\end{equation}

\begin{equation}
u_{0,lb} = \frac{\delta_{t}}{\delta_{x}}
\label{eq:速度0lb}
\end{equation}

模拟步骤

下面我们数值实现一个二维方腔流,流动限制在一个3cm×3cm的盒子内,由顶盖带动流动,顶盖以$2cm/min$的速度向右移动。液体粘度为$5cm^2/min$。

  1. 定义时间和空间的特征长度。考虑到问题的几何形状,将参考长度$l_{0}$定义为盒子边长,将参考速度$u_{0}$定义为顶盖的速度。因此,$l_{0,p} = 3cm$, $u_{0,p} = 2cm/min$。特征时间为$t_{0,p} = l_{0,p}/u_{0,p} =3/2min$。

  2. 计算雷诺数$Re = u_{0,p}l_{0,p}/\nu_{p} = 2\cdot
    3/5 = 6/5$。

  3. 选择离散化参数。假设我们想要一个由101×101个节点组成的网格。如果边界的物理位置在网格节点的顶部(如Zou/He边界条件),则系统的大小是100×100个格子。因此,离散网格间距$\delta_{x} = 1/100$。此外,给定一个时间分辨率,比如说$\delta_{t} = 2 \cdot 10^{-4}$。

  4. 计算仿真中变量的值。顶盖边界条件的速度$u_{lb}$是由方程(12)计算的。格子粘度$\nu_{lb}$是由方程(13)计算的。如果采用单松弛时间BGK,松弛时间通过方程$\tau = \nu_{lb}/c_{s}^2+1/2 $计算,其中声速是一个常数:$c_{s}^2 = 1/3$。

原文链接: Choice of units in lattice Boltzmann simulations

参考文档1:Lattice Boltzmann Method applied to Diffusion in Heterogeneous Media
参考文档2:On the relation between lattice variables and physical quantities in lattice Boltzmann simulations

This document is part of the LBMethod.org documentation project, and may be used under the terms of a Creative Commons Attribution-Share Alike 3.0 License. See www.lbmethod.org/legal for details