C++LBM頂蓋驅(qū)動(dòng)流_第1頁(yè)
C++LBM頂蓋驅(qū)動(dòng)流_第2頁(yè)
C++LBM頂蓋驅(qū)動(dòng)流_第3頁(yè)
C++LBM頂蓋驅(qū)動(dòng)流_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、這一段代碼源自何雅玲的格子BOLTZMANN法的理論及應(yīng)用其后面源代碼,經(jīng)過(guò)調(diào)試可用,輸出文件可以導(dǎo)入到 TECPLO中。使用時(shí),在 VISUAL STUDIO中新建一個(gè) C+工程,代碼賦 值進(jìn)去調(diào)試即可。#include#include#include #include #include #include #include using namespace std;const int Q=9;/D2Q9 模型const int NX=256;/X 方向const int NY=256;/Y 方向const double U=0.1;/ 頂蓋速度int eQ2=0,0,1,0,0,1,-1,0,

2、0,-1,1,1,-1,1,-1,-1,1,-1;double wQ=4.0/9,1.0/9,1.0/9,1.0/9,1.0/9,1.0/36,1.0/36,1.0/36,1.0/36;double rhoNX+1NY+1,uNX+1NY+12,u0NX+1NY+12,fNX+1NY+1Q,FNX+1NY+1Q; int i,j,k,ip,jp,n;double c,Re,dx,dy,Lx,Ly,dt,rho0,P0,tau_f,niu,error;void init();double feq( int k, double rho, double u2);void evolution();vo

3、id output( int m);void Error();int main()using namespacestd;init();for (n=0;n+)evolution();if (n%100=0)Error();cout The nth computation result: endl The u,v of point(NX/2,NY/2) is: setprecision(6)uNX/2NY/20, uNX/2NY/21endl;cout The max relative error of uvis: setiosflags(ios:scientific)error=1000)if

4、 (n%1000=0) output(n);if (error1.0e-6) break ;return 0;void init()dx=1.0;dy=1.0;Lx=dx* double (NY);Ly=dy* double (NX);dt=dx;c=dx/dt; /1.0rho0=1.0;Re=1000;niu=U*Lx/Re;tau_f=3.0*niu+0.5;std:cout tau_f= tau_fendl;for (i=0;i=NX;i+) / 初始化for (j=0;j=NY;j+)uij0=0;uij1=0;rhoij=rho0;uiNY0=U;for (k=0;kQ;k+)fi

5、jk=feq(k,rhoij,uij);double feq( int k, double rho, double u2)double eu,uv,feq;eu=(ek0*u0+ek1*u1);uv=(u0*u0+u1*u1);feq=wk*rho*(1.0+3.0*eu+4.5*eu*eu-1.5*uv); return feq;void evolution()for (i=1;iNY;i+) / 演化for (j=1;jNY;j+)for (k=0;kQ;k+)ip=i-ek0;jp=j-ek1;Fijk=fipjpk+(feq(k,rhoipjp,uipjp)-fipjpk)/tau_f

6、;for (i=1;iNX;i+) / 計(jì)算宏觀量for (j=1;jNY;j+)u0ij0=uij0;u0ij1=uij1;rhoij=0;uij0=0;uij1=0;for (k=0;kQ;k+)fijk=Fijk;rhoij+=fijk;uij0+=ek0*fijk;uij1+=ek1*fijk;uij0/=rhoij;uij1/=rhoij;/ 邊界處理for (j=1;jNY;j+) / 左右邊界for (k=0;kQ;k+)rhoNXj=rhoNX-1j;fNXjk=feq(k,rhoNXj,uNXj)+fNX-1jk-feq(k,rhoNX-1j,uNX-1j);rho0j=rh

7、o1j;f0jk=feq(k,rho0j,u0j)+f1jk-feq(k,rho1j,u1j);for (i=0;i=NX;i+) / 上下邊界for (k=0;kQ;k+)rhoi0=rhoi1;fi0k=feq(k,rhoi0,ui0)+fi1k-feq(k,rhoi1,ui1);rhoiNY=rhoiNY-1;uiNY0=U;fiNYk=feq(k,rhoiNY,uiNY)+fiNY-1k-feq(k,rhoiNY-1,uiNY-1);void output( int m) / 輸出ostringstream name;namecavity_ m.dat ;ofstream out(na

8、me.str().c_str();ZONEout Title=LBM Lid Driven FlownVARIABLES = X,Y,U,VnT=BOX,I= NX+1,J= NY+1,F=POINT endl;for (j=0;j=NY;j+)for (i=0;i=NX;i+)outdouble (i)/Lx double (j)/Ly uij0 uij1endl;void Error()double temp1,temp2;temp1=0;temp2=0;for (i=1;iNX;i+)for (j=1;jNY;j+) temp1 +=(uij0-u0ij0)*(uij0-u0ij0)+(uij1-u0ij1)*(uij1- u0ij1);temp2 +=(uij0*uij

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論