Matlab实现玻尔兹曼晶格模拟.doc_第1页
Matlab实现玻尔兹曼晶格模拟.doc_第2页
Matlab实现玻尔兹曼晶格模拟.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab实现格子玻尔兹曼方法(Lattice Boltzmann Method,LBM)模拟clear% GENERAL FLOW CONSTANTSlx = 250;ly = 51;obst_x = lx/5+1; % position of the cylinder; (exactobst_y = ly/2+1; % y-symmetry is avoided)obst_r = ly/10+1; % radius of the cylinderuMax = 0.02; % maximum velocity of Poiseuille inflowRe = 100; % Reynolds numbernu = uMax * 2.*obst_r / Re; % kinematic viscosityomega = 1. / (3*nu+1./2.); % relaxation parametermaxT = 400000; % total number of iterationstPlot = 5; % cycles% D2Q9 LATTICE CONSTANTSt = 4/9, 1/9,1/9,1/9,1/9, 1/36,1/36,1/36,1/36;cx = 0, 1, 0, -1, 0, 1, -1, -1, 1;cy = 0, 0, 1, 0, -1, 1, 1, -1, -1;opp = 1, 4, 5, 2, 3, 8, 9, 6, 7;col = 2:(ly-1);y,x = meshgrid(1:ly,1:lx);obst = (x-obst_x).2 + (y-obst_y).2 fIn(i) = t(i)fIn = reshape( t * ones(1,lx*ly), 9, lx, ly);% MAIN LOOP (TIME CYCLES)for cycle = 1:maxT % MACROSCOPIC VARIABLES rho = sum(fIn); ux = reshape ( . (cx * reshape(fIn,9,lx*ly), 1,lx,ly) ./rho; uy = reshape ( . (cy * reshape(fIn,9,lx*ly), 1,lx,ly) ./rho; % MACROSCOPIC (DIRICHLET) BOUNDARY CONDITIONS % Inlet: Poiseuille profile L = ly-2; y = col-1.5; ux(:,1,col) = 4 * uMax / (L*L) * (y.*L-y.*y); uy(:,1,col) = 0; rho(:,1,col) = 1 ./ (1-ux(:,1,col) .* ( . sum(fIn(1,3,5,1,col) + . 2*sum(fIn(4,7,8,1,col) ); % Outlet: Zero gradient on rho/ux rho(:,lx,col) = rho(:,lx-1,col); uy(:,lx,col) = 0; ux(:,lx,col) = ux(:,lx-1,col); % COLLISION STEP for i=1:9 cu = 3*(cx(i)*ux+cy(i)*uy); fEq(i,:,:) = rho .* t(i) .* . ( 1 + cu + 1/2*(cu.*cu) . - 3/2*(ux.2+uy.2) ); fOut(i,:,:) = fIn(i,:,:) - . omega .* (fIn(i,:,:)-fEq(i,:,:); end % MICROSCOPIC BOUNDARY CONDITIONS for i=1:9 % Left boundary fOut(i,1,col) = fEq(i,1,col) + . 18*t(i)*cx(i)*cy(i)* ( fIn(8,1,col) - . fIn(7,1,col)-fEq(8,1,col)+fEq(7,1,col) ); % Right boundary fOut(i,lx,col) = fEq(i,lx,col) + . 18*t(i)*cx(i)*cy(i)* ( fIn(6,lx,col) - . fIn(9,lx,col)-fEq(6,lx,col)+fEq(9,lx,col) ); % Bounce back region fOut(i,bbRegion) = fIn(opp(i),bbRegion); end % STREAMING STEP for i=1:9 fIn(i,:,:) = . circshift(fOut(i,:,:), 0,cx(i),cy(i); end % VISUALIZATION if (mod(cycle,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论