| 查看: 917 | 回复: 15 | |||
[交流]
陶老师数值传热学4.8节长方形通道对流换热相关问题
|
|||
|
fRe结果跟书上差不多,但是Nu差别好大,有大神帮我看看嘛 #include <math.h> #include <stdio.h> #define NT 70 void main() { /*定义变量*/ int N,M,i,j,Iter; double W[NT][NT],W0[NT][NT],sita[NT][NT],sita0[NT][NT],T[NT][NT],De,Re,Nu; double dltx,dlty,dx,dy,Wm,D,x,y,a,b; double Eps,DT,DTmax,SD; double ap,aw,ae,as,an,JF,b1,b2,JA,ap1; FILE*fp; /*读入参数*/ printf("请输入x方向节点数N y方向节点数M\n" ;scanf("%d%d",&N,&M); printf("请输入界面长度a 界面宽度b\n" ;scanf("%lf%lf",&a,&b); /*已知参数*/ SD=0; JF=0; dltx=a; dlty=b; De=2*dltx*dlty/(dltx+dlty); D=a;/*特征尺寸*/ N; M; Eps=1.e-6;/*计算精度*/ /*基本参数*/ dx=dltx/(N-1); dy=dlty/(M-1); ae=aw=dy/dx; an=as=dx/dy; /*速度边界条件处理*/ /*固体表面速度为0值*/ for(j=0;j<M;j++) { W[0][j]=0; W[N-1][j]=0; } for(i=1;i<N-1;i++) { W[0]=0; W[M-1]=0; } /*速度场赋初值*/ for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { W[j]=0.00008; W0[j]=W[j];/*对上一次迭代值赋值*/ } Iter=0; /*Gauss-Seidel迭代计算速度*/ loop1: for(j=1;j<M-1;j++) { for(i=1;i<N-1;i++) { ap=ae+aw+an+as; b1=(dx*dy)/(D*D); W[j]=ae/ap*W[i+1][j]+aw/ap*W[i-1][j]+an/ap*W[j+1]+as/ap*W[j-1]+b1/ap; } } /*计算两次迭代最大误差*/ Iter=Iter+1; DTmax=0.0; for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { DT=fabs(W[j]-W0[j]); W0[j]=W[j]; if(DT>DTmax) DTmax=DT; } if(DTmax>Eps) goto loop1; for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { SD+=W[j]*dx*dy; } Wm=SD/(a*b); printf("无量纲速度平均值:\n" ;printf("Wm=%5.6f\n",Wm); /*边界条件处理*/ /*固体表面无量纲为0,取T=JA*sita进行迭代求JA*/ for(j=0;j<M;j++) { sita[0][j]=0; sita[N-1][j]=0; } for(i=1;i<N-1;i++) { sita[0]=0; sita[M-1]=0; } /*sita场赋初值*/ for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { sita[j]=0.003; sita0[j]=sita[j];/*对上一次迭代值赋值*/ } Iter=0; /*Gauss-Seidel迭代计算*/ loop2: for(j=1;j<M-1;j++) { for(i=1;i<N-1;i++) { JF+=W[j]*sita[j]; } } JA=a*b/JF/Wm; for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { b2=dx*dy*JA*W[j]/(D*D*Wm); ap1=ap-b2; sita[j]=ae/ap1*sita[i+1][j]+aw/ap1*sita[i-1][j]+an/ap1*sita[j+1]+as/ap1*sita[j-1]; } /*计算两次迭代最大误差*/ Iter=Iter+1; DTmax=0.0; for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { DT=fabs(sita[j]-sita0[j]); sita0[j]=sita[j]; if(DT>DTmax) DTmax=DT; } if(DTmax>Eps) goto loop2; /*Re计算*/ printf("Re数为:\n" ;Re=2*(De/D)*(De/D)/Wm; printf("%5.6f\n",Re); /*Nu计算*/ printf("Nu数为:\n" ;Nu=0.25*(De/D)*(De/D)*JA; printf("%5.6f\n",Nu); for(j=1;j<M-1;j++) for(i=1;i<N-1;i++) { T[j]=JA*sita[j]; } fp=fopen("result.dat","w" ;printf("无量纲温度:\n" ;for(j=M-1;j>=0;j--) { for(i=0;i<N;i++) { fprintf(fp,"%5.6f",T[j]); } printf("\n" ;} fclose(fp); } 发自小木虫IOS客户端 |
» 猜你喜欢
有多少人是今天查系统知道结果的?
已经有17人回复
售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急
已经有3人回复
基金不中,共勉
已经有5人回复
看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉……
已经有3人回复
国自然面上复盘~欢迎讨论
已经有5人回复
我不理解!
已经有23人回复
2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战
已经有10人回复
系统查不到
已经有10人回复
怎么查啊
已经有5人回复
范进中举一文的中心思想
已经有10人回复
» 本主题相关价值贴推荐,对您同样有帮助:
DNS学习记录
已经有16人回复
【讨论】做(计算流体力学和计算传热学)相关的请进
已经有37人回复
简单回复
2017-04-11 22:11
回复
我原是我以为(金币+1): 谢谢参与
这身白衣裙3楼
2017-04-11 22:18
回复
我原是我以为(金币+1): 谢谢参与
n 发自小木虫Android客户端
纳米材料7534楼
2017-04-11 22:21
回复
我原是我以为(金币+1): 谢谢参与
我原是我以为5楼
2017-04-12 19:43
回复
下载电子书6楼
2017-04-12 19:48
回复
我原是我以为(金币+1): 谢谢参与
。。。 发自小木虫Android客户端
tzynew7楼
2017-04-12 19:55
回复
我原是我以为(金币+1): 谢谢参与
2017-04-12 20:00
回复
我原是我以为(金币+1): 谢谢参与
xhmaohan9楼
2017-04-12 20:03
回复
江南的竹10楼
2017-04-12 20:08
回复
我原是我以为(金币+1): 谢谢参与
。 发自小木虫Android客户端
41588116811楼
2017-04-12 20:12
回复
hydzp12楼
2017-04-12 20:42
回复
2017-04-12 21:13
回复
我原是我以为(金币+1): 谢谢参与
skyish14楼
2017-04-12 21:21
回复
我原是我以为(金币+1): 谢谢参与
一 发自小木虫IOS客户端
guanlianwu15楼
2017-04-12 21:32
回复
我原是我以为(金币+1): 谢谢参与
假大空16楼
2017-04-12 21:59
回复
我原是我以为(金币+1): 谢谢参与









;
回复此楼
投票: