LBM在计算泊肃叶流动时,需要添加外力项,这部分网上没什么资料,仅有的资料也写的模糊不清,这里点名批评这个知乎博文。
有些地方字母都对不上。。。
本站上也有一篇博文,写的也比较一般,但是代码是多松弛MRT的,根据标题应该是是参考自王富海的硕士论文。
这里点赞一下这篇硕士论文,写的十分清晰,但是附录里代码写的就比较冗余了。
OK,言归正传,下面进入主要内容。想了一下还是不敲公式了,直接粘一下图片吧。
核心内容有两点:1、碰撞过程需要考虑Fa项,即上面的公式(3);2、计算宏观速度时也需要添加一项,即上面的公式(4)。
这里面其实讲的十分清楚,但是我开始编程的时候却遇到了一些问题,本站里的那篇博文提供的代码里并没有设计到第二点,也就是其计算宏观速度时并没有加上
Δ
t
ρ
g
/
2
\Delta t \rho g/ 2
Δtρg/2,但是其计算的结果是正确的,我开始就想当然的按着这个思路去做,但是那个代码是按照MRT来写的,我将其转换成LBGK时,没有执行第二点,于是计算结果不对,我以为是碰撞过程那个外力项Fa的问题,于是找来找去,一直debug不出来,后来我执行了第二步,但是我开始理解错了,我以为是程序的最后,在收敛之后在对速度上加上一项
Δ
t
ρ
g
/
2
\Delta t \rho g/ 2
Δtρg/2,没有想到这个应该是出现在迭代过程中的。
直到我看到了这段话
恍然大悟!