资源描述
二维导热物体温度场的数值模拟
作者:
卢家伦
学 号:
2120301100
学院(系):
能源与动力工程学院
专业:
能源动力系统及自动化
班级:
能动B22
二维导热物体温度场的数值模拟
一:物理问题
有一个用砖砌成的长方形截面的冷空气通道,其截面尺寸和示意图如图1-1所示,假设在垂直纸面方向上冷空气及砖墙的温度变化很小,可以近似地予以忽略。在下列两种情况下试计算:(1)砖墙横截面上的温度分布;(2)垂直于纸面方向的每米长度上通过砖墙的导热量。
第一种情况:内外壁分布均匀地维持在0及30;
第二种情况:内外表面均为第三类边界条件,且已知:
砖墙的导热系数
二:数学描述
该结构的导热问题可以作为二维问题处理,并且其截面如图1-1所示,由于对称性,仅研究其1/4部分即可。
其网络节点划分如图
f a
c (m,n) b
=
n
e m d
上述问题为二维矩形域内的稳态、无内热源、常物性的导热问题,对于这样的物理问题,我们知道,描写其的微分方程即控制方程,就是导热微分方程:
第一类边界条件:内外壁分布均匀地维持在0及30;
=30
=0
第三类边界条件:内外表面均为第三类边界条件,且已知:
砖墙的导热系数
三:方程的离散
如上图所示,用一系列与坐标轴平行的网络线把求解区域划分成许多子区域,以网格线的交点作为需要确定温度值的空间位置,即节点,节点的位置已该点在两个方向上的标号m、n来表示。每一个节点都可以看成是以它为中心的小区域的代表,如上(m,n):对于(m,n)为内节点时:由热平衡法可以得到,当=时:
① 对于(m,n)为边界节点时:
l 恒温边界只需特殊考虑位于绝热平直边界上的节点:
l 对流边界分为角点、绝热边界点和对流边界点。
1.绝热边界点:
2.对流边界点:
3.外角点:
4.内角点:
四、编程思路及流程图
开始
输入已知参数
输入离散方程
输入温度初值t0(i,j)
计算新的内节点和边界点温度t(i,j)
T0=t
比较最大偏差
|t0(i, j)- t(i, j)|<e ?
否
是
计算内外边界散热量及热平衡偏差
输出内外边界散热量及热平衡偏差
画出温度场模拟图
结束
五、数值模拟结果
六、结果分析
计算外部传热量:p1 =28.2446
计算内部传热量:po =28.2445
则误差e=(p1-po)/((p1+po)/2)=3.54*10^(-6)
将数值模拟的结果与电模拟实验得出的结果相比较,发现温度场的分布相差不大,而且传热量的相对误差也很小,说明做出来的结果比较符合实际情况。另外具体关于温度场的可视化处理限于编程水平,因此结果比较简单。
七、程序代码
clear;
clc;
%给予初始矩阵,对流边界条件
t=zeros(13,17);
t2=zeros(13,17);
t3=zeros(13,17);
%初始化温度数据
for j=1:17
t(1,j)=30;
end
for i=1:13
t(i,1)=30;
end
for j=8:17
t(8,j)=10;
end
for i=8:13;
t(i,8)=10;
end
for k=1:300
%循环求解
for i=2:13
for j=2:17
t2(i,j)=t(i,j);
end
end
e=0;
%建立离散方程,写出离散点之间的关系
%外部对流边界
for i=3:12
t(i,2)=(2*t(i,3)+t(i-1,2)+t(i+1,2)+2*10.34*0.1*30/0.53)/(2*10.34*0.1/0.53+4);
end
for j=3:16
t(2,j)=(2*t(3,j)+t(2,j-1)+t(2,j+1)+2*10.34*0.1*30/0.53)/(2*10.34*0.1/0.53+4);
end
%内部对流边界
for i=8:12
t(i,7)=(2*t(i,6)+t(i-1,7)+t(i+1,7)+2*3.93*0.1*10/0.53)/(2*3.93*0.1/0.53+4);
end
for j=8:16
t(7,j)=(2*t(6,j)+t(7,j-1)+t(7,j+1)+2*3.93*0.1/0.53*10)/(2*3.93*0.1/0.53+4);
end
%对流外部脚点
t(2,2)=(t(2,3)+t(3,2)+2*10.34*0.1/0.53*30)/(2*10.34*0.1/0.53+2);
%绝热边界条件
for i=3:6
t(i,17)=(2*t(i,16)+t(i-1,17)+t(i+1,17))/4;
end
for j=3:6
t(13,j)=(2*t(12,j)+t(13,j-1)+t(13,j+1))/4;
end
%绝热和对流交界点
t(2,17)=(t(2,16)+t(3,17)+10.34*0.1/0.53*30)/(10.34*0.1/0.53+2);
t(7,17)=(t(7,16)+t(6,17)+3.93*0.1/0.53*10)/(3.93*0.1/0.53+2);
t(13,2)=(t(12,2)+t(13,3)+10.34*0.1/0.53*30)/(10.34*0.1/0.53+2);
t(13,7)=(t(13,6)+t(12,7)+3.93*0.1/0.53*10)/(3.93*0.1/0.53+2);
%内部点
for i=3:12
for j=3:6
t(i,j)=(t(i-1,j)+t(i+1,j)+t(i,j-1)+t(i,j+1))/4;
end
end
for i=3:6
for j=7:16
t(i,j)=(t(i-1,j)+t(i+1,j)+t(i,j-1)+t(i,j+1))/4;
end
end
%对流内部脚点
t(7,7)=(2*(t(6,7)+t(7,6))+t(8,7)+t(7,8)+2*3.93*0.1/0.53*10)/(2*3.93*0.1/0.53+6);
%寻找最大偏差
for i=2:13
for j=2:17
t3(i,j)=abs(t(i,j)-t2(i,j));
end
end
for i=2:13
for j=2:17
if t3(i,j)>e
e=t3(i,j);
end
end
end
%判断并即时跳出循环
if e<0.000001
m=k;
break
end
end
disp([t])
%计算外部传热量
p=0
for i=2:12
p=p+10.34*0.1*(30-t(i,2));
end
for j=3:16
p=p+10.34*0.1*(30-t(2,j));
end
p1=p+10.34*0.05*(60-t(13,2)-t(2,17))
%计算内部传热量
p2=0;
for i=7:12
p2=p2+3.93*0.1*(t(i,7)-10);
end
for j=8:16
p2=p2+3.93*0.1*(t(7,j)-10);
end
po=p2+3.93*0.05*(t(13,7)+t(7,17)-20)
t1=zeros(13,17);
%画出等温线
for i=1:13
for j=1:17
t1(i,j)=t(14-i,j);
end
end
contour(t1,30);
编程思路:
对整个区域进行节点离散化,写出各个节点与周围节点的关系式,然后进行迭代,直到前后两次算出来的结果相差符合误差要求为止,最后输出离散点温度矩阵,画出等温线。然后,根据温差算出传热量。
展开阅读全文