weixin 发表于 2022-4-2 10:55

童话里的LBM不是骗人的

在很久很久以前,有一群种花家的兔子住在一座要塞里,兔子们每天热爱学习,辛勤劳动,过着简单而平静的生活。然而这个要塞被一群邪恶的脚盆鸡盯上了,他们来势汹汹,想要占据这座要塞,兔子们不甘示弱,寸步不让,于是一场守卫家园的大战就此拉开。

01、兔子的那些事兔子们的要塞坚固而保卫森严,还有护城河加持。脚盆鸡们在要塞外围转悠了许久也毫无办法,只好在护城河的外围使用远程武器进行骚扰——源源不断的向要塞内射箭。

每组脚盆鸡分别占据了要塞外围的一个角落,形成合围之势。而兔子们也针锋相对,站在要塞的八个方位,使用弓箭进行反击。当然,为了更好的给前线的战士分配箭支,还有一名睿智的兔子教员坐镇中央进行统一调配。
脚盆鸡们仗着自己箭支充足,以持续猛烈的势头进行强攻,坚守要塞的兔子们很快就遇到了补给的难题,箭不够用了。所幸,两千多年前,兔子们的祖先就想出了草船借箭的妙计。于是兔子教员派出了一个小分队带着护盾,一边唱着“没有枪,没有炮,敌人给我们造”,一边将收集来的箭输送给前线的兔子们。

面对丝毫不减弱的反击,脚盆鸡们伤亡惨重而深感绝望,不得不灰头土脸的离开了兔子们的要塞,而兔子们也赢得了最终的胜利,并重新过起了幸福美好的生活。

02、童话里的LBM兔子们的童话画上了完美的句号,不过LBM的童话才刚刚开始。正如兔子们的城防战略,在经典的LBM方法中,人们把一个方块形区域定义为一个格子。格子中有大量的流体粒子,人们把流体粒子按照运动方向进行分类,将现实中任意的运动方向简化为有限个离散的运动方向,就像兔子们向四面八方射出的箭。
前线兔子战士的箭支都由教员根据各个方向的进攻强度统筹分配,某些兔子将分到更多的箭射向敌人,在下面的对阵图中表示为更粗的黄色箭头。如果数一数各个方位的兔子获得的箭支数量,我们便获得了一个统计分布——对于LBM方法来说,这便是速度分布函数f,即格子中各个速度方向上粒子多少的统计。
敌人会用箭射向要塞内部,而兔子们也会用箭反击。箭支在攻防转换中进行交换,粒子也会在相邻格子中此消彼长,并保持总量守恒,即为质量守恒。

兔子和脚盆鸡的互射都是在固定的站位上,而为了实现精准打击,双方会尽量保证每次的射箭速度和方向是一致,只不过射箭的多少会有差异。同理,在LBM方法中,粒子速度的大小和方向也都是恒定的,变化的仅仅是各个速度方向上的粒子数目,而对粒子数量的积分则可获取各种宏观变量,这与传统CFD的思路截然不同。

这里我们引入更“数学”的定义:对于两维问题,使用2维向量来定义速度方向和大小,可获得前后左右以及四个斜对角共8个速度;当然粒子还可能不动,那就是零速度向量,加起来共9个速度方向,这便是LBM中最简单的D2Q9模型。
入乡就要随俗,格子尺度上的各种物理参数也应由格子的大小、时间及速度等来表达。以D2Q9模型为例,将格子的长和宽定义为1格子长度,将粒子移动到相邻格子所花费的时间定义为1格子时间,而将两者的比值定义为1格子速度,即上图中的速度c,并表示为红色箭头。

在箭雨密集的攻防大战中,双方的箭有可能会相互碰撞。未碰撞的箭到达对方的阵地上空仍会维持原来的运动状态,这便是LBM方法中的粒子迁移。相互碰撞的箭则会改变各自的运动方向,在LBM方法中也称为碰撞。LBM中的碰撞被简化为单体弹性碰撞,并遵循动量与能量守恒。
历经了迁移和碰撞之后,格子中将会产生一个新的速度分布,正如兔子教员重新分配了箭支并命令前线战士重新发射出去。于是,人们就可以使用LBM方法对流场进行不断的迭代更新,最终实现对一个流动过程的数值求解。

03、成年人的LBM有人说,小孩子才相信童话,成年人的眼睛里却只有现实。那么关于LBM的现实究竟如何呢?如果我们翻开一些学者们的LBM讲义或PPT,会发现LBM的历史并不复杂:从上世纪中叶人们提出的格子气自动机开始,到1980年代的LBM雏形,再到对LBM中最具挑战的碰撞项使用麦克斯韦-玻尔兹曼分布对其线性化处理,引出LBGK等各种模型,然后便开始愉快的构建LBM格式了。

在上个世纪末,如何构造出简单实用的LBM算法成为研究的焦点,人们利用不同的格子形式创造出各种符合N-S方程的数值格式。不过在学以致用的氛围下,许多PPT中描述的LBM更趋向于介绍方法的具体招数,而非严密的理论推导。
上图展示了基于LBGK的数值格式的构建过程。从玻尔兹曼输运方程出发,使用趋向于平衡态的BGK算子将碰撞项线性化,并以麦克斯韦-玻尔兹曼分布作为局部平衡态分布函数,而后将平衡态分布函数展开到离散速度上并获取其系数,便可进行迁移和碰撞的迭代计算了。
比如对于上述两种常见的数值格式,D2Q9和D3Q27,学者们给出了其速度矢量ξ 和平衡态系数ω。作为新时代的农民工,我们只要明白其适用范围,便可直接拿来使用。

04、LBM背后的玲珑塔无论是童话还是现实,想要别人真正的信服,玻尔兹曼方法的合法性都需要更严密的论据。于是,便有了LBM背后的玲珑塔:学者们从动理学理论出发,经由统计物理的层层假设,构建了从最基础的哈密顿方程,到刘维方程以及BBGKY方程链,再到玻尔兹曼方程,最终抵达终极的唯象派统计方程——N-S方程的推导方法。
而对于离散的LBM格式,学者们也发展了回归到N-S方程的推导路径。简而言之,Champan和Enskog在左,Grad在右,辅助以埃尔米特展开和高斯积分,共同引领了LBM离散方程寻求普适性证明的寻根溯源之路。
在推导过程中,使用前N阶的埃尔米特展开来近似原始的分布函数,并使用高斯积分求取状态变量。而BGK形式的玻尔兹曼方程的各项也可由埃尔米特展开与高斯积分获取,进而依据不同阶数的展开与积分,构造出不同流体物理范畴的LBM格式。

05、童话里的LBM不是骗人的既然前辈们耗费了大量的心血指明了童话里的LBM不是骗人的,我们也听说LBM方法有天然瞬态,前处理简单,并行效率高等一大票的优点,而且显式迭代的编程也并不麻烦,那么我们是否能够轻松愉快的实现LBM到CFD的求解呢?

作为又一个“卡脖子”的问题,基于LBM方法构建一套工程可用的CFD软件当然非常困难,除了整体的软件系统架构,还有许多具体的难题摆在人们面前:体网格的剖分方法、湍流模型的处理、壁面附近的求解、格子粘性的控制、计算效率的提升、复杂物理场景的应对、各类工程应用的对标与验证等等,无穷无尽的挑战都会扑面而来,让人望而生畏。

回首兔子教员带领大伙抗击外敌侵略,重归美好生活的艰辛历程,LBM方法也经历了持久的自我证明的过程,逐渐从童话走向真正的流体江湖。伟大的教员曾经说过,“道路是曲折的,前途是光明的”,笔者也相信随着人们对LBM和CFD的认识愈加成熟,LBM终将发展壮大而大放异彩。

来源:LBM与流体力学微信公众号(ID:LBMCFD),作者:卢比与钢蛋。

页: [1]
查看完整版本: 童话里的LBM不是骗人的