格子玻尔兹曼方法(0) -----入门书籍
虽然自己之前学的大致上属于物理专业,可是计算流体力学并不是自己的方向,不过一直对流体的模拟很感兴趣。
前段时间,网上瞎逛时,无意发现了一段神奇的程序,不长的一段代码,就可以实现卡门涡街的模拟。程序的名字是LBM,后来才知道LBM就是格子玻尔兹曼方法的简写。
奈何学习的时候实在太混,物理功底很一般,对着程序研究了好久,也没搞懂这个方法到底是怎么编写程序实现模拟水流的。无奈只能买书来看,经过艰苦不懈的努力,现在总算能独立编写简单的LBM程序了。发现网上很多初学LBM的同学,或者是对流体有兴趣的同学,也有我之前一样的困扰,学习时不得其门而入,所以准备写几篇简短的文章来讲解一下这个神奇的方法,尝试用不那么详尽,但是更加单刀直入的方式来讲解一下如何使用这种算法在计算机上模拟水流。
这是整个系列的第一篇,主要简单介绍一下LBM的学习书籍,如果想更加系统的学习,则可以直接去看我介绍的书,而跳过本系列文章。
-
国内介绍LBM的书中,比较常见的大致有三本。分别是:
红皮书《格子玻尔兹曼方法》——基础与工程应用(附计算机代码)
格子Boltzmann方法的理论及应用
格子Boltzmann方法的原理及应用

一本一本来介绍。
第一本大概是大家最容易搜到的一本,因为书名是全中文的,搜格子玻尔兹曼方法,出来的肯定就是这个。但是这书其实是外国人写的,被翻译成了中文。一般来说,国外的教材比国内质量高一些,当然有前提,第一,这不是绝对的,第二,最好看原版的。
本书的作者是加拿大的默罕默德,阿普杜勒马吉德。一看就是阿拉伯人啊。听说有教授说这本书是垃圾,我想说的是,有点过分了……说垃圾有点不尊重,但是对于我这样不够聪明的人来说,只看这本书确实没什么卵用,既没看懂原理,也没学会方法。
所以并不太推荐,可能阿拉伯人的思维方式和中国人不太一样吧,说垃圾过分了,肯定有价值而且不低,但是不太适合0基础入门,看起来挺吃力的。
第二本,理论及应用是何雅玲写的,一看就是个女士。写的挺好,算是我真正的入门教材了。尤其是附带的C语言代码,而且写的很规矩,简直就是用C语言在给大家讲解,且各变量都给了说明。这是最可取的地方,C语言不是工科生也能看懂,变量给了说明,省的大家去猜了。理论部分也写的简单易懂。理论和程序配合起来看,很快就能完全懂得怎么做。如果只打算买一本LBM的书,而且是0基础入门,那就是这本无疑了。但是当中也有一些疏漏,会给读者造成困扰。
第三本,原理及应用,郭照立写的,最厚,且没有程序,所以毫无疑问也是理论上讲的最详细的。由于没有程序,所以入门实践的指导上稍微差一点,但是就是详细嘛,更严谨,内容也多,第二本书中让人困扰的地方,这本书上就很清晰,比较适合理论上深入。
总的来说,我学的过程是三本书联合起来看的,还包括一些网上的介绍。对我帮助最大的当然是第二本的C语言部分。建议先尽量搞懂理论,如果不知道怎么做,再对照一下源程序,会有恍然大悟的感觉。其中第三本看的最少,因为靠前两本已经足够入门了,但是可以看出来写的非常好,后续有时间应该会好好研究一下。
本系列文章主要为了自己记录LBM的使用方法,和与我有相同困扰的同学。理论部分省略推导,只给出必要公式,主要是为程序铺路。毕竟直接看书,很容易淹没在无数的公式中,直接看程序又不知道每个变量到底是什么。