【笔记】LBM相场模型中的序参数梯度差分

在 “【笔记】格子Boltzmann方法的相场模型” 中,我把LBM里的相场模型简单记了一下。笔记里有提到,序参数 ϕ\phi 的梯度可以通过下面的差分进行计算。

{∇ϕ(x)=∑i≠0wiciϕ(x+ciδt)cs2δt,∇2ϕ(x)=∑i≠02wics2δt2[ϕ(x+ciδt)−ϕ(x)]\displaystyle \begin{cases} \nabla\phi(\boldsymbol{x}) =& \sum\limits_{i \neq 0} \dfrac{w_i \boldsymbol{c}_i \phi(\boldsymbol{x} + \boldsymbol{c}_i \delta_t)}{c_s^2 \delta_t} ,\\ \nabla^2\phi(\boldsymbol{x}) =& \sum\limits_{i \neq 0} \dfrac{2w_i}{c_s^2 \delta_t^2} [\phi(\boldsymbol{x} + \boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x})] \end{cases}

其中 ii 为 DnQb 离散速度模型中的第 ii 个离散速度 ci\boldsymbol{c}_i 的下标, wiw_i 是 ci\boldsymbol{c}_i 的权重系数。

序参数 Φ 的一阶导数

对于点 x\boldsymbol{x} 及其邻近格子 x+ciδt\boldsymbol{x}+\boldsymbol{c}_i \delta_t,考虑序参数 ϕ\phi 在点 x\boldsymbol{x} 的Taylor展开,得:

ϕ(x+ciδt)=ϕ(x)+(ciδt)⋅∇ϕ(x)+δt22(ci⋅∇)2ϕ(x)+O(δt3)(1)\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) = \phi(\boldsymbol{x}) + (\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x}) + \frac{\delta_t^2}{2} (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) + O(\delta_t^3) \tag{1}

式(1)两边同时乘上 wiciw_i \boldsymbol{c}_i,并对所有方向求和,得到:

∑iwiciϕ(x+ciδt)=∑iwiciϕ(x)+∑iwici[(ciδt)⋅∇ϕ(x)]+∑iwici[δt22(ci⋅∇)2ϕ(x)]+O(δt3)(2)\begin{aligned} \sum_i w_i \boldsymbol{c}_i \phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) &= \sum_i w_i \boldsymbol{c}_i \phi(\boldsymbol{x}) \\ &\quad + \sum_i w_i \boldsymbol{c}_i [(\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x})] \\ &\quad + \sum_i w_i \boldsymbol{c}_i \left[ \frac{\delta_t^2}{2} (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) \right] + O(\delta_t^3) \end{aligned} \tag{2}

下面分析式(2)右侧的三个项。

(1)对第1项,ϕ(x)\phi(\boldsymbol{x}) 是定值,所以

∑iwiciϕ(x)=ϕ(x)⋅∑i(wici)\sum_i w_i \boldsymbol{c}_i \phi(\boldsymbol{x}) = \phi(\boldsymbol{x}) \cdot \sum_i (w_i \boldsymbol{c}_i )

由于 ∑iwici=0⃗\sum_i w_i \boldsymbol{c}_i = \vec{0},所以第1项为 0 。

(2)对第2项,

∑iwici[(ciδt)⋅∇ϕ(x)]=δt∇ϕ(x)⋅∑i(wicici)=δtcs2∇ϕ(x)\sum_i w_i \boldsymbol{c}_i [(\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x})] = \delta_t \nabla\phi(\boldsymbol{x}) \cdot \sum_i (w_i \boldsymbol{c}_i \boldsymbol{c}_i) = \delta_t c_s^2 \nabla\phi(\boldsymbol{x})

其中 ∑i(wicici)=cs2[I]\sum_i (w_i \boldsymbol{c}_i \boldsymbol{c}_i) = c_s^2 [\boldsymbol{I}] 。

这个关系可以由常规 DnQb 模型中的 ∑icicifieq=ρ(uu+cs2[I])\sum_i \boldsymbol{c}_i \boldsymbol{c}_i f_i^{eq} = \rho (\boldsymbol{u}\boldsymbol{u} + c_s^2 [\boldsymbol{I}]) 推出。(取 u=0⃗\boldsymbol{u}=\vec{0})

(3)对第3项,为简化考虑,这里推导其中一个分量,其形式为:

δt22∑iwiciγ[ciαciβ∂2ϕ(x)∂xα∂xβ]=δt22∂2ϕ(x)∂xα∂xβ∑iwiciαciβciγ\frac{\delta_t^2}{2} \sum_i w_i c_{i\gamma} \left[ c_{i\alpha} c_{i\beta} \frac{\partial^2 \phi(\boldsymbol{x})}{\partial x_{\alpha} \partial x_{\beta}} \right] = \frac{\delta_t^2}{2} \frac{\partial^2 \phi(\boldsymbol{x})}{\partial x_{\alpha} \partial x_{\beta}} \sum_i w_i c_{i\alpha} c_{i\beta} c_{i\gamma}

由于在常规 DnQb 模型中,

∑iciαciβciγfieq=cs2ρ[uαδβγ+uβδαγ+uγδαβ]\sum_i c_{i\alpha} c_{i\beta} c_{i\gamma} f_i^{eq} = c_s^2 \rho [u_{\alpha} \delta_{\beta\gamma}+ u_{\beta} \delta_{\alpha\gamma} + u_{\gamma} \delta_{\alpha\beta}]

这里的 δ\delta 为克罗内克函数。同样取 u=0⃗\boldsymbol{u}=\vec{0} ,得:

∑iwiciαciβciγ=cs2[uαδβγ+uβδαγ+uγδαβ]=0\sum_i w_i c_{i\alpha} c_{i\beta} c_{i\gamma} = c_s^2 [u_{\alpha} \delta_{\beta\gamma}+ u_{\beta} \delta_{\alpha\gamma} + u_{\gamma} \delta_{\alpha\beta}] = 0

所以式(2)被化简为

∑iwiciϕ(x+ciδt)=δtcs2∇ϕ(x)+O(δt3)\sum_i w_i \boldsymbol{c}_i \phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) = \delta_t c_s^2 \nabla\phi(\boldsymbol{x}) + O(\delta_t^3)

即:

∇ϕ(x)=1δtcs2∑iwiciϕ(x+ciδt)+O(δt2)(3)\nabla\phi(\boldsymbol{x}) = \frac{1}{\delta_t c_s^2} \sum_i w_i \boldsymbol{c}_i \phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) + O(\delta_t^2) \tag{3}

序参数 Φ 的拉普拉斯算子

将式(1)改写成

ϕ(x+ciδt)−ϕ(x)=(ciδt)⋅∇ϕ(x)+δt22(ci⋅∇)2ϕ(x)+O(δt3)(4)\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x}) = (\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x}) + \frac{\delta_t^2}{2} (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) + O(\delta_t^3) \tag{4}

式(4)两边同时乘上 wiw_i,并对所有方向求和,得到:

∑iwi[ϕ(x+ciδt)−ϕ(x)]=∑iwi[(ciδt)⋅∇ϕ(x)]+∑iwi[δt22(ci⋅∇)2ϕ(x)]+O(δt3)(5)\begin{aligned} \sum_i w_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x})] &= \sum_i w_i [(\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x})] \\ &\quad + \sum_i w_i \left[ \frac{\delta_t^2}{2} (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) \right] + O(\delta_t^3) \end{aligned} \tag{5}

参照上一节的推导,易得式(5)等式右侧的两项分别满足

∑iwiciαδt∇αϕ(x)=δt∇αϕ(x)∑iwiciα=0\sum_i w_i c_{i\alpha} \delta_t \nabla_{\alpha}\phi(\boldsymbol{x}) = \delta_t \nabla_{\alpha}\phi(\boldsymbol{x}) \sum_i w_i c_{i\alpha} = 0

以及

∑iwiδt22ciαciβ⋅∇αβϕ(x)=δt22∇αβϕ(x)∑iwiciαciβ=δt2cs2δαβ2∇αβϕ(x)\sum_i w_i \frac{\delta_t^2}{2} c_{i\alpha} c_{i\beta} \cdot \nabla_{\alpha\beta}\phi(\boldsymbol{x}) = \frac{\delta_t^2}{2} \nabla_{\alpha\beta}\phi(\boldsymbol{x}) \sum_i w_i c_{i\alpha} c_{i\beta} = \frac{\delta_t^2 c_s^2 \delta_{\alpha\beta}}{2} \nabla_{\alpha\beta}\phi(\boldsymbol{x})

其中 ∇α=∂∂xα\nabla_{\alpha} = \frac{\partial}{\partial x_{\alpha}} 和 ∇αβ=∂2∂xα∂xβ\nabla_{\alpha\beta} = \frac{\partial^2}{\partial x_{\alpha}\partial x_{\beta}} 。而 δαβ\delta_{\alpha\beta} 同样是克罗内克函数。

所以式(5)表示为

∑iwi[ϕ(x+ciδt)−ϕ(x)]=δt2cs22∇2ϕ(x)+O(δt3)\sum_i w_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x})] = \frac{\delta_t^2 c_s^2}{2} \nabla^2\phi(\boldsymbol{x}) + O(\delta_t^3)

即:

∇2ϕ(x)=2δt2cs2∑iwi[ϕ(x+ciδt)−ϕ(x)]+O(δt2)(6)\nabla^2\phi(\boldsymbol{x}) = \frac{2}{\delta_t^2 c_s^2} \sum_i w_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x})] + O(\delta_t^2) \tag{6}

关于中心差分

假设我们采用中心差分形式,需要对 x−ciδt\boldsymbol{x}-\boldsymbol{c}_i \delta_t 进行 Taylor 展开:

ϕ(x−ciδt)=ϕ(x)−(ciδt)⋅∇ϕ(x)+δt22(ci⋅∇)2ϕ(x)+O(δt3)(7)\phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t) = \phi(\boldsymbol{x}) - (\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x}) + \frac{\delta_t^2}{2} (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) + O(\delta_t^3) \tag{7}

(A)将式(1)与式(7)相减,偶数阶项(零阶项 ϕ(x)\phi(\boldsymbol{x}) 和二阶项)会被消去,得到:

ϕ(x+ciδt)−ϕ(x−ciδt)=2(ciδt)⋅∇ϕ(x)+O(δt3)\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t) = 2(\boldsymbol{c}_i \delta_t) \cdot \nabla\phi(\boldsymbol{x}) + O(\delta_t^3)

两边同时乘上 wiciw_i \boldsymbol{c}_i 并对所有方向求和:

∑iwici[ϕ(x+ciδt)−ϕ(x−ciδt)]=2δt∇ϕ(x)⋅∑i(wicici)+O(δt3)\sum_i w_i \boldsymbol{c}_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t)] = 2\delta_t \nabla\phi(\boldsymbol{x}) \cdot \sum_i (w_i \boldsymbol{c}_i \boldsymbol{c}_i) + O(\delta_t^3)

利用前面提到的二阶矩性质 ∑iwicici=cs2I\sum_i w_i \boldsymbol{c}_i \boldsymbol{c}_i = c_s^2 \boldsymbol{I},等式右侧化简为 2δtcs2∇ϕ(x)2\delta_t c_s^2 \nabla\phi(\boldsymbol{x})。因此:

∇ϕ(x)=12δtcs2∑iwici[ϕ(x+ciδt)−ϕ(x−ciδt)]+O(δt2)(8)\nabla\phi(\boldsymbol{x}) = \frac{1}{2\delta_t c_s^2} \sum_i w_i \boldsymbol{c}_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - \phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t)] + O(\delta_t^2) \tag{8}

式(8)就是 Lee 等在文献[1]的式(64)的格式。

(B)将式(1)与式(7)相加,奇数阶项(一阶项和三阶项)会被消去,得到:

ϕ(x+ciδt)−2ϕ(x)+ϕ(x−ciδt)=δt2(ci⋅∇)2ϕ(x)+O(δt3)\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - 2 \phi(\boldsymbol{x}) + \phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t) = \delta_t^2 (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) + O(\delta_t^3)

两边同时乘上 wiw_i 并对所有方向求和:

∑iwi[ϕ(x+ciδt)−2ϕ(x)+ϕ(x−ciδt)]=∑iδt2(ci⋅∇)2ϕ(x)+O(δt3)\sum_i w_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - 2 \phi(\boldsymbol{x}) + \phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t)] = \sum_i \delta_t^2 (\boldsymbol{c}_i \cdot \nabla)^2 \phi(\boldsymbol{x}) + O(\delta_t^3)

同理可得:

∇2ϕ(x)=1cs2δt2∑iwi[ϕ(x+ciδt)−2ϕ(x)+ϕ(x−ciδt)]+O(δt2)(9)\nabla^2 \phi(\boldsymbol{x}) = \frac{1}{c_s^2 \delta_t^2} \sum_i w_i [\phi(\boldsymbol{x}+\boldsymbol{c}_i \delta_t) - 2 \phi(\boldsymbol{x}) + \phi(\boldsymbol{x}-\boldsymbol{c}_i \delta_t)] + O(\delta_t^2) \tag{9}

式(9)就是 Lee 等在文献[1]的式(65)的格式。

[1] Lee T,Lin C-L. A stable discretization of the lattice Boltzmann equation for simulation of incompressible two-phase flows at high density ratio[J]. Journal of Computational Physics,2005,206(1):16-47. DOI:10.1016/j.jcp.2004.12.001.