二维导热物体温度场的数值模拟.docx
《二维导热物体温度场的数值模拟.docx》由会员分享,可在线阅读,更多相关《二维导热物体温度场的数值模拟.docx(11页珍藏版)》请在冰豆网上搜索。
![二维导热物体温度场的数值模拟.docx](https://file1.bdocx.com/fileroot1/2023-1/29/90ad2fd0-2eca-43ed-9b20-602db450a72f/90ad2fd0-2eca-43ed-9b20-602db450a72f1.gif)
二维导热物体温度场的数值模拟
二维导热物体温度场的数值模拟
班级:
能动b21
姓名:
王浩德
学号:
2120301076
物理问题:
一个长方形截面的冷空气通道的尺寸如图1所示。
假设在垂直于纸面的方向上冷空气及通道墙壁的温度变化很小,可以忽略。
试用数值方法计算下列两种情况下通道壁面中的温度分布及每米长度上通过壁面的冷量损失:
(1).内、外壁分别维持在0摄氏度及30摄氏度;
(2).内、外壁与流体发生对流传热,且已知:
(由于本人实验做的是对流边界条件,专门编写了第三类的程序,第一类边界条件参考的是别人的程序,节点设计有所不同)
T1=30,h1=10(实验值是10.34)
T2=10,h2=4
(实验值是3.93)
(图1)
(图2)
分析问题:
因为截面材料均匀,且边界条件对称,故截面上的温度分布也对称,可去1/4的截面如图2,进行分析。
本题采用数值法求解,将截面上的点进行划分,如图3所示,网格的交点为所选取的节点。
图3
0.53
程序内容:
(1)
PROGRAMMAIN
IMPLICITNONE
INTEGER:
:
I,J,K
REAL:
:
V=0.53,TF1=10,TF2=30
REAL:
:
M1=0,M2=0,N1=0,N2=0,Q1=0,Q2=0
REAL:
:
T(16,12)=0!
初设节点温度均为0摄氏度
!
设置内壁温度为10摄氏度
DOI=6,16
T(I,6)=TF1
ENDDO
DOJ=6,12
T(6,J)=TF1
ENDDO
!
设置外壁温度为30摄氏度
DOI=1,16
T(I,1)=TF2
ENDDO
DOJ=1,12
T(1,J)=TF2
ENDDO
!
设置其他节点
DOK=1,1000
!
设置内部节点
DOI=2,5
DOJ=2,11
T(I,J)=(T(I-1,J)+T(I+1,J)+T(I,J-1)+T(I,J+1))/4
ENDDO
ENDDO
DOI=6,15
DOJ=2,5
T(I,J)=(T(I-1,J)+T(I+1,J)+T(I,J-1)+T(I,J+1))/4
ENDDO
ENDDO
!
设置对称线上的节点
DOJ=2,5
T(16,J)=(2*T(15,J)+T(16,J-1)+T(16,J+1))/4
ENDDO
DOI=2,5
T(I,12)=(2*T(I,11)+T(I-1,12)+T(I+1,12))/4
ENDDO
ENDDO
DOI=1,16
DOJ=1,12
WRITE(*,*)I,J,T(I,J)
OPEN(1,FILE='T01.txt')
WRITE(1,*)T(I,J)
ENDDO
ENDDO
DOJ=6,11
M1=M1+V*(T(5,J)-T(6,J))
ENDDO
DOI=6,15
M2=M2+V*(T(I,5)-T(I,6))
ENDDO
Q1=0.5*V*(T(5,12)-T(6,12))+0.5*V*(T(16,5)-T(16,6))+M1+M2!
内壁面能放出的热量
DOJ=2,11
N1=N1+V*(T(1,J)-T(2,J))
ENDDO
DOI=2,15
N2=N2+V*(T(I,1)-T(I,2))
ENDDO
Q2=0.5*V*(T(1,12)-T(2,12))+0.5*V*(T(16,1)-T(16,2))+N1+N2!
外壁面能吸收的热量
WRITE(*,*)"Q1=",Q1,"Q2=",Q2,"冷量损失为:
",(Q1+Q2)/2
ENDPROGRAMMAIN
(2)programmain
implicitnone
realh1,h2,lenda,tf1,tf2
realt(16,12)
integeri,j,x
h1=10.34
h2=3.93
lenda=0.53
tf1=30
tf2=10
h1=h1/10!
注:
由于下面未算节点长度,在次进行修正
h2=h2/10
open(01,file='CH.dat')
!
zhengtifuchuzhi
doj=1,12,1
doi=1,16,1
t(i,j)=10
enddo
enddo
dox=1,1000000
doj=2,11,1
!
duiyudi1liejcong2dao11------------------------------------------------------1
t(1,j)=1./(h1+2*lenda)*(h1*tf1+lenda/2*t(1,j+1)+lenda/2*t(1,j-1)+lenda*t(2,j))
enddo
!
duiyuwaijiaodiant(1,12)---------------------------------------------------------2
t(1,12)=1./(h1+lenda)*(h1*tf1+lenda/2*(t(2,12)+t(1,11)))
doi=2,15,1
!
duiyudi12hangicong2dao15----------------------------------------------------3
t(i,12)=1./(h1+2*lenda)*(lenda/2*(t(i-1,12)+t(i+1,12))+lenda*t(i,11)+h1*tf1)
enddo
doi=7,15,1
!
duiyudi7hangicong7dao15-----------------------------------------------------4
t(i,7)=1./(h2+2*lenda)*(lenda*t(i,8)+lenda/2*(t(i-1,7)+t(i+1,7))+h2*tf2)
enddo
doj=2,6,1
!
duiyudi6liejcong2dao6-------------------------------------------------------5
t(6,j)=1./(h2+2*lenda)*(lenda*t(5,j)+lenda/2*(t(6,j+1)+t(6,j-1))+h2*tf2)
enddo
!
duiyuneijiaodiant(6,7)----------------------------------------------------------6
t(6,7)=1./(3*lenda+h2)*(lenda*(t(6,8)+t(5,7))+lenda/2*(t(7,7)+t(6,6))+h2*tf2)
doi=2,5,1
!
duiyudi1hangicong2dao5------------------------------------------------------7
t(i,1)=1./4*(t(i-1,1)+t(i,2)+t(i+1,1)+t(i,2))
enddo
doj=8,11,1
!
duiyudi16liejcong8dao11------------------------------------------------------8
t(16,j)=1./4*(t(15,j)+t(15,j)+t(16,j+1)+t(16,j-1))
enddo
!
duiyujiediant(1,1)----------------------------------------------------------------9
t(1,1)=1./(2*lenda+h1)*(lenda*(t(2,1)+t(1,2))+h1*tf1)
!
duiyujiediant(6,1)-----------------------------------------------------------------10
t(6,1)=1./(2*lenda+h2)*(lenda*(t(6,2)+t(5,1))+h2*tf2)
!
duiyujiediant(16,7)----------------------------------------------------------------11
t(16,7)=1./(2*lenda+h2)*(lenda*(t(16,8)+t(15,7))+h2*tf2)
!
duiyujiediant(16,12)--------------------------------------------------------------12
t(16,12)=1./(2*lenda+h1)*(lenda*(t(16,11)+t(15,12))+h1*tf1)
doj=2,7,1
doi=2,5,1
!
duiyuniebujiedian------------------------------------------------------------------13
t(i,j)=1./4*(t(i-1,j)+t(i+1,j)+t(i,j+1)+t(i,j-1))
enddo
enddo
doj=8,11,1
doi=2,15,1
!
duiyuniebujiedian------------------------------------------------------------------14
t(i,j)=1./4*(t(i-1,j)+t(i+1,j)+t(i,j+1)+t(i,j-1))
enddo
enddo
enddo
print*,t
doj=1,12
doi=1,16
write(01,*)i,j,t(i,j)1!
用于导出数据方便作图
enddo
enddo
close(01)
doi=2,11
q1=q1+10.34*0.1*(30-t(1,i))
enddo
q1=q1+10.34*0.05*(30-t(1,1))
doi=2,15
q1=q1+10.34*0.1*(30-t(i,12))
enddo
q1=q1+10.34*0.05*(30-t(16,12))
q1=q1+10.34*0.1*(30-t(1,12))
print*,q1
doi=2,6
q2=q2+3.93*0.1*(t(6,i)-10)
enddo
doi=7,15
q2=q2+3.93*0.1*(t(i,7)-10)
enddo
q2=q2+3.93*0.1*(t(6,7)-10)
q2=q2+3.93*0.05*(t(6,1)-10)
q2=q2+3.93*0.05*(t(16,7)-10)
print*,q2
q=(q1+q2)/2
print*,q
Endprogram
由于有4个部分,所以总热量是q=28.24457*4=112.97828w
编程思路:
对整个区域进行节点离散化,写出各个节点与周围节点的关系式,然后进行迭代,直到前后两次算出来的结果相差符合误差要求为止(本实验中循环次数足够多后数值基本不变,故没有设计判断的部分)。
然后,根据温差算出传热量。
结果讨论:
数值模拟计算出的图形基本与真实实验做出来的一样。
传热量也基本一致。
在编程中由于未注意节点单位长度的单位,导致程序出错,最后进过改进得出正确答案。