二维导热物体温度场的数值模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
金属凝固过程计算机模拟题目:二维导热物体温度场的数值模拟
Solidworks十字接头的传热分析
作者:张杰
学号:S2*******
学院:北京有色金属研究总院
专业:材料科学与工程
成绩:
2015 年12 月
二维导热物体温度场的数值模拟
图1 二维均质物体的网格划分
用有限差分法模拟二维导热物体的温度场,首先将二维物体划分为如图1所示的网格,x ∆与y ∆可以是不变的常量,即等步长,也可以是变量(即在区域内的不同处是不同的),即变步长。如果区域内各点处的温度梯度相差很大,则在温度变化剧烈处,网格布得密些,在温度变化不剧烈处,网格布得疏些。至于网格多少,步长取多少为宜,要根据计算精度与计算工作量等因素而定。
在有限的区域内,将二维不稳定导热方程式应用于节点
,)i j (可写成: ,2222 ,i j
P
P
p i j T T T C x y ρλτ⎛⎫∂∂∂=+ ⎪∂∂∂⎝⎭
,1 , ,()i j
P P P
i j i j
T T T οτττ+-∂⎛⎫=
+∆ ⎪∂∆⎝⎭ ()
, 1 , , 1 ,22
2()i j P P P P
i j i j i j T T T T x x x ο+--+∂⎛⎫
=+∆ ⎪∂⎝⎭∆ () , ,1 , ,122
2()i j
P
P P P
i j i j i j T T T T y y y ο+--+⎛⎫∂=+∆ ⎪∂∆⎝⎭τ∆、x ∆、y ∆ 当τ∆、x ∆、y ∆较小时,忽略()οτ∆、2()x ο∆、2
()y ο∆项。当x y ∆=∆时,
即x 、y 方向网格划分步长相等。最后得到节点
,)i j (的差分方程: ()1 , ,0 1 , 1 , ,1 ,1 ,4P P P P P P P
i j i j i j i j i j i j i j T T F T T T T T ++-+-=++++-
式中:()
02
p F C x λτ
ρ∆=
∆。
假设边界为对流和辐射边界,对流用以下公式计算:
()()
,1 , ,0 1 , ,1 ,1 ,24P
c f i j P P P P P P i j i j i j i j i j i j p a T T T T F T T T T C x
τρ+-+-∆-=+++-+
∆
MATLAB 编程模拟
clc; clear;
format long %% 参数输入
moni_canshu=xlsread('模拟参数输入.xlsx',1,'B2:B11'); %读取excel 中的模拟参数 s=moni_canshu(1); %几何尺寸,m t0=moni_canshu(2); %初始温度,℃
tf=moni_canshu(3); %辐射(空气)边界,℃ rou=moni_canshu(4); %密度,kg/m3
lamda=moni_canshu(5); %导热系数,w/(m ℃) Cp=moni_canshu(6); %比热,J/(kg ℃)
n=moni_canshu(7); %工件节点数,个<1000 dt=60*moni_canshu(8); %时间步长,min to s m=moni_canshu(9); %时间步数,个<100 dx=s/(n-1);%计算dx
f0=lamda*dt/(rou*Cp*dx*dx);%计算f0 %% 初始参数矩阵,初始温度 for iii=1:n for jjj=1:n
Told(iii,jjj)=t0; end end
Told(1,:)=tf; Told(n,:)=tf; Told(:,1)=tf;
Told(:,n)=tf;
%% 写文件表头
xlswrite('data.xlsx',{['坐标位置']},'sheet1','A1');
asc=97;
for ii=1:n
biaotou1={['第' num2str(ii) '点']};
asc=asc+1;
xlswrite('data.xlsx',biaotou1,'sheet1',[char(asc) '1']);
xlswrite('data.xlsx',biaotou1,'sheet1',['A' num2str(ii+1)]);
end
%% 模拟运算
for jj=1:2
copyfile('data.xlsx','data1.xlsx')
Tnew(1,1:n)=tf;
Tnew(n,1:n)=tf;
Tnew(1:n,1)=tf;
Tnew(1:n,n)=tf;
for i=2:n-1
for j=2:n-1
Tnew(i,j)=Told(i,j)+f0*(Told(i-1,j)-4*Told(i,j)+Told(i+1,j)+Told(i,j-1)+Told(i,j+1)); end
end
Told=Tnew;
pcolor(Told);%绘图
shading interp
colormap(jet)
pause(0.1)
saveas(gcf,['第' num2str(jj*0.1) 's温度图像.jpg']);
xlswrite('data1.xlsx',Told,'sheet1','B2');
copyfile('data1.xlsx',['第' num2str(jj*0.1) 's数据.xlsx'])
delete('data1.xlsx');
end