二维导热物体温度场的数值模拟.docx
- 文档编号:9276417
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:15
- 大小:164.05KB
二维导热物体温度场的数值模拟.docx
《二维导热物体温度场的数值模拟.docx》由会员分享,可在线阅读,更多相关《二维导热物体温度场的数值模拟.docx(15页珍藏版)》请在冰豆网上搜索。
二维导热物体温度场的数值模拟
传热大作业
二维导热物体温度场的数值模拟
(等温边界条件)
姓名:
班级:
学号:
墙角稳态导热数值模拟(等温条件)
一、物理问题
有一个用砖砌成的长方形截面的冷空气空道,其截面尺寸如下图所示,假设在垂直于纸面方向上冷空气及砖墙的温度变化很小,可以近似地予以忽略。
在下列两种情况下试计算:
(1)砖墙横截面上的温度分布;
(2)垂直于纸面方向的每米长度上通过砖墙的导热量.外矩形长为3。
0m,宽为2.2m;内矩形长为2.0m,宽为1。
2m。
第一种情况:
内外壁分别均匀地维持在0℃及30℃;
第二种情况:
内外表面均为第三类边界条件,且已知:
外壁:
30℃ ,h1=10W/m2·℃,
内壁:
10℃ ,h2= 4 W/m2·℃
砖墙的导热系数λ=0。
53 W/m·℃
由于对称性,仅研究1/4部分即可。
二、数学描写
对于二维稳态导热问题,描写物体温度分布的微分方程为拉普拉斯方程
这是描写实验情景的控制方程.
三、方程离散
用一系列与坐标轴平行的网格线把求解区域划分成许多子区域,以网格线的交点作为确定温度值的空间位置,即节点.每一个节点都可以看成是以它为中心的一个小区域的代表。
由于对称性,仅研究1/4部分即可。
依照实验时得点划分网格:
建立节点物理量的代数方程
对于内部节点,由∆x=∆y,有
由于本实验为恒壁温,不涉及对流,故内角点,边界点代数方程与该式相同。
设立迭代初场,求解代数方程组。
图中,除边界上各节点温度为已知且不变外,其余各节点均需建立类似3中的离散方程,构成一个封闭的代数方程组。
以
为场的初始温度,代入方程组迭代,直至相邻两次内外传热值之差小于0.01,认为已达到迭代收敛。
四、编程及结果
1)源程序
#include h〉 #include intmain() { intk=0,n=0; doublet[16][12]={0},s[16][12]={0}; doubleepsilon=0.001; doublelambda=0。 53,error=0; doubledaore_in=0,daore_out=0,daore=0; FILE*fp; fp=fopen("data3”,”w”); for(inti=0;i〈=15;i++) for(intj=0;j<=11;j++) { if((i==0)||(j==0))s[i][j]=30; if(i==5) if(j>=5&&j<=11)s[i][j]=0; if(j==5) if(i〉=5&&i〈=15)s[i][j]=0; } for(inti=0;i<=15;i++) for(intj=0;j<=11;j++) t[i][j]=s[i][j]; n=1; while(n〉0) { n=0; for(intj=1;j<=4;j++) t[15][j]=0.25*(2*t[14][j]+t[15][j—1]+t[15][j+1]); for(inti=1;i<=4;i++) t[i][11]=0。 25*(2*t[i][10]+t[i—1][11]+t[i+1][11]); for(inti=1;i<=14;i++) for(intj=1;j〈=4;j++) t[i][j]=0。 25*(t[i+1][j]+t[i—1][j]+t[i][j+1]+t[i][j-1]); for(inti=1;i<=4;i++) for(intj=5;j<=10;j++) t[i][j]=0。 25*(t[i+1][j]+t[i-1][j]+t[i][j+1]+t[i][j-1]); for(inti=0;i<=15;i++) for(intj=0;j〈=11;j++) if(fabs(t[i][j]-s[i][j])〉epsilon) n++; for(inti=0;i〈=15;i++) for(intj=0;j<=11;j++) s[i][j]=t[i][j]; k++; //printf("%d\n”,k); } for(intj=0;j〈=5;j++) {for(inti=0;i〈=15;i++) {printf(”%4.1f”,t[i][j]); fprintf(fp,"%4.1f”,t[i][j]);} printf(”\n”); fprintf(fp,"\n"); } for(intj=6;j<=11;j++) {for(inti=0;i〈=5;i++) {printf("%4。 1f”,t[i][j]); fprintf(fp,"%4.1f”,t[i][j]);} fprintf(fp,”\n"); printf(”\n”); } for(inti=1;i<=14;i++) daore_out+=(30-t[i][1]); for(intj=1;j〈=10;j++) daore_out+=(30-t[1][j]); daore_out=4*(lambda*(daore_out+0.5*(30-t[1][11])+0。 5*(30-t[15][1]))); for(inti=5;i<=14;i++) daore_in+=t[i][4]; for(intj=5;j〈=10;j++) daore_in+=t[4][j]; daore_in=4*(lambda*(daore_in+0。 5*t[4][11]+0。 5*t[15][4])); error=abs(daore_out—daore_in)/(0.5*(daore_in+daore_out)); daore=(daore_in+daore_out)*0。 5; printf("k=%d\n内墙导热=%f\n外墙导热=%f\n平均值=%f\n偏差=%f\n",k,daore_in,daore_out,daore,error); } 2)结果截图 七.总结与讨论 1。 由实验结果可知: 等温边界下,数值解法计算结果与“二维导热物体温度场的电模拟实验“结果相似,虽然存在一定的偏差,但由于点模拟实验存在误差,而且数值解法也不可能得出温度真实值,同样存在偏差,但这并不是说数值解法没有可行性,相反,由于计算结果与电模拟实验结果极为相似,恰恰说明数值解法分析问题的可行性。 用数值解法仅用计算机模拟就能解决某些复杂的工程问题,为复杂工程问题的求解提供了极大的便利。 2.在实验中,内外边界散热量存在偏差,这在很大程度上是由于用数值计算分析问题时,采用离散平均的思想,用节点中心的温度代替节点的平均温度从而产生误差。 不断提高所划分的网格数目,实验偏差会得到不断改善。 3.通过这次的上机实验,对传热的很多问题和数值算法都有一定的加深理解和掌握,收获很多,同时对于个人的动手动脑及解决问题的能力都有一定的提高。 同样,这也反过来证实了“二维导热物体温度场的电模拟实验”的正确性和可行性。 //mm.cpp: 定¡§义°? 控? 制? 台¬¡§应®|用®? 程¨¬序¨°的Ì? 入¨? 口¨²点Ì? 。 ¡ê // #include"stdafx。 h” #include #include〈math.h〉 intmain() { intk=0,n=0; doublet[16][12]={0},s[16][12]={0}; doubleepsilon=0。 01; doublelambda=0.53,error=0; doubledaore_in=0,daore_out=0,daore=0; FILE*fp; fp=fopen(”data3”,”w”); for(inti=0;i<=15;i++) for(intj=0;j<=11;j++) { if((i==0)||(j==0))s[i][j]=30; if(i==5) if(j>=5&&j〈=11)s[i][j]=0; if(j==5) if(i〉=5&&i<=15)s[i][j]=0; } for(inti=0;i〈=15;i++) for(intj=0;j<=11;j++) t[i][j]=s[i][j]; n=1; while(n>0) { n=0; for(intj=1;j<=4;j++) t[15][j]=0。 25*(2*t[14][j]+t[15][j—1]+t[15][j+1]); for(inti=1;i〈=4;i++) t[i][11]=0。 25*(2*t[i][10]+t[i—1][11]+t[i+1][11]); for(inti=1;i〈=14;i++) for(intj=1;j〈=4;j++) t[i][j]=0.25*(t[i+1][j]+t[i-1][j]+t[i][j+1]+t[i][j-1]); for(inti=1;i〈=4;i++) for(intj=5;j<=10;j++) t[i][j]=0。 25*(t[i+1][j]+t[i-1][j]+t[i][j+1]+t[i][j-1]); for(inti=0;i〈=15;i++) for(intj=0;j〈=11;j++) if(fabs(t[i][j]—s[i][j])〉epsilon) n++; for(inti=0;i<=15;i++) for(intj=0;j<=11;j++) s[i][j]=t[i][j]; k++; //printf(”%d\n”,k); } for(intj=0;j〈=5;j++) {for(inti=0;i<=15;i++) {printf("%4.1f",t[i][j]); fprintf(fp,”%4.1f”,t[i][j]);} printf("\n”); fprintf(fp,"\n”); } for(intj=6;j〈=11;j++) {for(inti=0;i<=5;i++) {printf("%4.1f",t[i][j]); fprintf(fp,”%4。 1f",t[i][j]);} fprintf(fp,”\n”); printf(”\n"); } for(inti=1;i<=14;i++) daore_out+=(30-t[i][1]); for(intj=1;j〈=10;j++) daore_out+=(30-t[1][j]); daore_out=4*(lambda*(daore_out+0。 5*(30-t[1][11])+0。 5*(30—t[15][1]))); for(inti=5;i<=14;i++) daore_in+=t[i][4]; for(intj=5;j〈=10;j++) daore_in+=t[4][j]; daore_in=4*(lambda*(daore_in+0。 5*t[4][11]+0.5*t[15][4])); error=abs(daore_out—daore_in)/(0.5*(daore_in+daore_out)); daore=(daore_in+daore_out)*0。 5; printf(”k=%d\n内¨²墙? 导Ì? 热¨¨¨q1=%f\n外ªa墙? 导Ì? 热¨¨¨q2=%f\n平? 均¨´值¦Ìq=%f\n偏? 差? error=%f\n",k,daore_in,daore_out,daore,error); getchar(); } #include #include〈fstream> #include〈iomanip〉 usingnamespacestd; intmain() { cout〈〈setiosflags(ios: : fixed); inti,j; doubletemp,q_in,q_out,q; doubleeps=1; doubleA[16][12]; //设¦¨¨置? 迭̨¹代䨲初? 场? for(i=1;i<16;i++) {for(j=1;j<6;j++) A[i][j]=0;} for(i=1;i〈6;i++) {for(j=6;j〈12;j++) A[i][j]=0;} for(i=0;i〈16;i++) A[i][0]=30; for(j=0;j〈12;j++) A[0][j]=30; //建¡§立¢¡é迭̨¹代䨲方¤? 程¨¬组Á¨¦并¡é求¨®解a while(eps〉1。 0E-4) { for(j=1;j<5;j++) A[15][j]=(A[15][j+1]+A[15][j-1]+2*A[14][j])/4; for(i=5;i<15;i++) { for(j=1;j〈5;j++) { A[i][j]=(A[i—1][j]+A[i+1][j]+A[i][j—1]+A[i][j+1])/4; } } for(i=1;i<5;i++) { for(j=1;j<11;j++) A[i][j]=(A[i-1][j]+A[i+1][j]+A[i][j-1]+A[i][j+1])/4; } for(i=1;i<5;i++) {temp=A[i][11]; A[i][11]=(A[i+1][11-1]+A[i][11]+2*A[i][10])/4; eps=A[i][11]-temp; } } //计? 算? 墙? 体¬? 外ªa表À¨ª面? 导Ì? 热¨¨¨量¢? q_out=0; for(j=1;j〈12;i++) q_out=q_out+A[0][j]-A[1][j]; for(i=1;i〈16;j++) q_out=q_out+A[i][0]-A[i][1]; q_out=q_out+(A[0][11]—A[10][1]+A[15][0]—A[15][1])/2;q_out=q_out*0.53; //计? 算? 墙? 体¬? 内¨²表À¨ª面? 导Ì? 热¨¨¨量¢? q_in=0; for(i=5;i〈16;i++) q_in=q_in+A[i][4]—A[i][5]; for(j=5;j<12;j++) q_in=q_in+A[4][j]-A[5][j]; q_in=q_in+(A[15][4]-A[15][5]+A[4][11]-A[5][11])/2;q_in=q_in*0。 53; //计? 算? 平? 均¨´导Ì? 热¨¨¨量¢? 和¨ª相¨¤对? 误¨®差? q=(q_in+q_out)/2; eps=abs(q_in-q_out); //输º? 出? 结¨¢果? for(j=0;j<6;j++) {for(i=0;i〈16;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 导热 物体 温度场 数值 模拟