感谢群里的朋友们提供帮助!还是老样子,有啥问题Feel free to tell us~毕竟群众力量大嘛~格子玻尔兹曼救星QQ群:293267908。
流体计算领域中,LBM还是个比较新的思想,最近宝宝正在尝试性的进行研究。首先说一下教材吧。我在某宝买了中文版,杨大勇翻译的,中国工信出版。 还可以看英文原版哈,英文教材链接:https://pan.baidu.com/s/1D6JFR9zp7DGfduvb-4xSUQ,提取码:s5cr。
开博客一方面自己做个学习记录,也算方便大家看书了。因为第一次用F所以加了很多自己的备注,大家看得难受忽略就好啊。不足之处欢迎大家一同学习。
---------------------------------------------------------------------
第一章巴拉巴拉的其实说了以下3个事:
1.1 Boltzmann方程是介观尺度。
1.2 宏观表现出的温度与压力正比的关系,物理本质上是由于粒子动能与温度正比。
1.3 所谓分布函数f(c),指的是多个粒子在某速度范围内(dc)的概率。当流体处于热平衡状态时,粒子动量的分布函数是不变的。
第二章 Boltzmann方程又是啥呢?
2.1 分布函数变成平衡分布函数之前,总是会变,变的原因是碰撞。分布函数的总变化率就是速率。
2.2 既然要求解分布函数,就不得不说怎么求碰撞。用平衡分布函数-分布函数,就是变化量的净值,然后除以松弛因子。我个人理解松弛因子是用以控制到达平衡点的速度,即每计算一个时间周期,系统由不平衡状态向平衡状态前进(feq-f)/τ。
2.3 D1Q3就是1威三个速度矢量,以此类推。
第三章 扩散
3.3 分布函数的总和和平衡分布函数的总和都等于因变量。即,流体熵增加,高动能的粒子动能减少而低动能的粒子动能增加,但是总值不变。所以无论是否达到最终平衡,所有动能的总和是不变的,所以可以看到分布函数的总和和平衡分布函数的总和都是因变量。但是feq和f不一定相等。一旦相等了,就是平衡状态了。
3.5 展开的目的,是获得宏观和介观尺度的关系。
3.5.2中所谓的不保存前值f(x,t)和为了避免覆盖新值,是因为如果每个点都同时向左向右迁移,会相互覆盖。
第五章 举个栗子:方腔流。有错误的地方我做了标记。
call的使用还是要注意输入顺序的。比如collesion(f,feq,rho,w,cy,cx,u,v,omega,n,m),括号里面的引用变量的顺序,子函数和主函数中必须保持顺序一致。
! D2Q9,书P141. 等温不可压缩,lid-driven cavity
!英文版: 《Lattice Boltzmann Method: Fundamentals and Engineering Applications with Computer Codes》
!设置参数
parameter (n=100,m=100) !设置格子数
real f(0:8,0:n,0:m) !分布函数
real feq(0:8,0:n,0:m),rho(0:n,0:m) !局部平衡分布函数
real w(0:8),cx(0:8) ,cy(0:8) !0~8,共九个方向的权重因子w(0:8);沿着格子迁移方向的单位矢量c,分别具有xy方向的单位矢量的分量。
real u(0:n,0:m),v(0:n,0:m) !xy方向速度
integer i
open(2,file='velocity100points.txt') !.xls也可以
open(3,file='uvely.txt')
open(4,file='vvelx.txt')
open(8,file='timeu.txt')
!----------
uo=0.10 !初始速度
sumvelo=0.00
rhoo=5.00 !密度
dx=1.0
dy=dx
dt=1.0
alpha=0.01 !黏度,在传热中是扩散系数
Re=uo*m/alpha !雷诺数<