01 LBM D1Q2模型实现


01 LBM D1Q2模型实现

这个是学习格子玻尔兹曼方法最初练习的案例。

只有通过程序实现才能理解到复杂的机制背后的道理,没有实操就是纸上谈兵。

%% LBM Code for 1-D, diffusion problems, D1Q2
%
clc;clear;
m = 100;
fo=0:m; f1=0:m; f2=0:m;rho=0:m;feq=0:m;x=0:m;
dt=1;dx=1;
csq = dx*dx/(dt*dt);
alpha = 0.25;
omega = 1/(alpha/(dt*csq)+0.5);
mstep=200;twall=1;
%Initial condition
rho=rho*0;
f1=0.5*rho;f2=0.5*rho; 
for kk=1:mstep
    rho = f1+f2;
    feq = 0.5*rho;
    f1 = (1-omega)*f1+omega*feq;
    f2 = (1-omega)*f2+omega*feq;
    for ii=1:m-1
        f1(m-ii+1) = f1(m-ii);
        f2(ii) = f2(ii+1);
    end
    f1(1)=twall-f2(1);
    f1(m+1)=f1(m);
    f2(m+1)=f2(m);
end
plot(rho(1:30),'bo');
xlabel('x');
ylabel('T');

包括了分布函数初始化、宏观量求解、求平衡态分布函数、碰撞、迁移、边界条件、输出等步骤,是LBM最基本的实现框架。

D1Q2模型类似于一维随机行走。

相关