首页 > 解决方案 > 如何在 LBM 中添加或删除流体(格子 Boltzmann 方法)

问题描述

LBM重点研究流体簇,利用宏观流体密度和速度计算平衡分布函数,然后利用演化方程实现系统迭代。但是如果我们将相同的流体添加到网格中的格子网格点LBM或不断减少现有流体,我们应该如何重新计算宏观流体密度和速度?或者应该如何重新计算点阵网格点的分布函数?能否LBM模拟流体不断添加或减少到系统中的场景?例如,水不断从水龙头流出。

标签: simulationfluid-dynamics

解决方案


传统的格-玻尔兹曼方法(例如二维中的D2Q9格)只能应用于不可压缩流动。简而言之,这意味着进入域的质量不能超过退出域的质量:域内的质量在整个模拟过程中大致相同。通常可压缩的 Navier-Stokes 方程的这种简化不仅可以应用于不可压缩的流体(例如水),还可以应用于像汽车周围的流动这样的低马赫数流动(有关更多详细信息,请参见此处)。然而,传统的格子-玻尔兹曼方法不能描述多相和自由表面流动以及具有汇和源的流动(这些都会导致系统密度的变化)。

不可压缩格子-玻尔兹曼方法中的任何入口或出口条件都属于以下类别之一:

  • 周期性边界(从一侧离开域的种群在另一侧再次进入域)
  • 周期性流动的压降-周期性边界(例如Zhang/Kwok),但有一个额外的术语来补偿由于摩擦引起的域内的压降
  • 速度和压力边界(通常是速度入口和压力出口):存在各种公式,以确保分布的矩实际上是守恒的,并且它们在数值稳定性方面具有不同的特征。它们中的大多数强制执行某种对称性和更高矩的外推。最简单的方法是Zou/He的方法,但其他方法,如Guo 的外推法,对于解析不足和湍流(高雷诺数流)明显更稳定。这篇评论更详细地讨论了不同的内容。

如果您对它的实际工作原理感兴趣,可以查看我用 C++ 编写的用于 2D 和 3D 模拟的小代码。

话虽如此,尽管在研究中存在几种格子-玻尔兹曼方法的变体,它们允许多组分或多相流(例如通过引入额外的分布)或可压缩流(具有更多离散速度的格子和可能的第二个格子),但是它们仍然是外来的,你不会在周围找到很多实现。


推荐阅读