本文将从何雅玲老师的《格子Boltzmann方法的理论和应用》、Yuanxun Bill&Justin Meskas 的《Lattice Boltzmann Method for Fluid SImulations》、Timm Kruger 的《The Lattice Boltzmann Method》以及默罕默德的《格子玻尔兹曼方法——基础与工程应用(附计算机代码)几本书中挑选一些重要的或常用到的直边界进行介绍。
值得一提的是,Timm Kruger里把边界分成两类:link-wise和wet-node。他俩的区别可见下图。Link-wise包括反弹边界条件,wet-node包括平衡格式,非平衡插值格式,非平衡反弹格式等。而何雅玲老师和穆罕默德的《格子玻尔兹曼方法——基础与工程应用(附计算机代码)》等里并没有这两个概念。
在边界条件中应注意未知的是哪几个方向的分布函数,左边界是f1 f5 f8,右边界是f3 f6 f7,上边界是f4 f7 f8,下边界是f2 f5 f6。当然,在每个边界上也可以把个方向的分布函数都给定,这并没有什么影响(这段话主要是针对我学习时搞不懂为什么有的人给了3个,有的给了4个,有的给了8个。。。。后来才发现多给了是不要紧的)。
角点处需要特殊处理,有时往往是角点处理不好导致计算发散或结果不理想。角点处会专门介绍。
- 周期性边界
(1)标准周期性边界
适用条件:流场在空间呈现周期性变化或在某个方向无穷大(注意:是流场呈周期而不是几何呈周期)
表达式:周期性边界常常需要在左右两侧增加虚拟节点x0和xN+1
代码:注意每种语言的下角标不同
for (j = 1; j < NY; j++)
{
f[0]][j][1] = f[NX+1][j][1];
f[0]][j][5] = f[NX + 1][j][5];
f[0]][j][8] = f[NX + 1][j][8];
}
尽管Timm里也提到了一种不需要虚拟节点的周期性边界,但仍建议使用虚拟节点。因此在此不介绍无虚拟节点的周期性边界。
(2)广义周期性边界条件
适用条件: