HarbinInstituteofTechnology传热学虚拟仿真实验报告院系:能源科学与工程学院班级:设计者:学号:指导教师:董士奎设计时间:2016.11.7传热学虚拟仿真实验报告1应用背景数值热分析在核工业、铁道、石油化工、航空航天、机械制造、能源、汽车交通、国防军工、电子、土木工程、造船、生物医学、轻工、地矿、水利、以及日用家电等各个领域都有广泛的应用。2二维导热温度场的数值模拟2.1二维稳态导热实例假设一用砖砌成的长方形截面的冷空气通道,其截面如图2.1所示,假设在垂直于纸面方向上冷空气及砖墙的温度变化很小,可以近似地予以忽略。图2.1一用砖砌成的长方形截面的冷空气通道截面2.2二维数值模拟基于模型的对称性,简化为如图所示的四分之一模型。图2.2二维数值模拟2.3建立离散方程此时对于内部节点,如图2.3:λti−1,j−tt,jΔxΔy+λti+1,j−tt,jΔxΔy+λti,j+1−tt,jΔyΔx+λti,j−1−tt,jΔyΔx=0对于平直边界上的节点,如图2.4:λti−1,j−tt,jΔxΔy+λti,j+1−tt,jΔyΔx2+λti,j−1−tt,jΔyΔx2+ΔxΔy2Φi,j¿+Δyqw=0对于外部和内部角点,如图2.5:λtm−1,n−tm,nΔxΔy2+λtm,n−1−tm,nΔyΔx2+ΔxΔy4Φm,n¿+Δx+Δy2qw=0λtm−1,n−tm,nΔxΔy+λtm,n+1−tm,nΔyΔx+λtm,n−1−tm,nΔyΔx2+λtm+1,n−tm,nΔxΔy2+3ΔxΔy4Φm,n¿+Δx+Δy2qw=0图2.3内部节点图2.4平直边界上的节点图2.5内部角点和外部角点对于对称边界(绝热边界),如图2.6:λti−1,j−tt,jΔxΔy+λti+1,j−tt,jΔxΔy+λti,j+1−tt,jΔyΔx+λti,j−1−tt,jΔyΔx=0图2.6对称边界(绝热边界)图2.7建立离散方程此时显示格式、隐式格式依次为,如图2.7:2.4C++程序2.4.1程序流程图如下图2.8所示tni+1−tniΔτ=atn+1i−2tni+tn−1iΔx2tni+1−tniΔτ=atn+1i+1−2tni+1+tn−1i+1Δx2图2.8程序流程图2.4.2程序各变量含义如下图2.9所示n_L1,n_L2,n_L3,n_L4,n_thick1,n_thick2分别为对应边的网格数。2.4.3程序#include#includeintmain(){floatL1,L2,L3,L4,thick1,thick2;/*L1外矩形宽,L2外矩形长,L3内矩形宽,L4内矩形长,thick1宽度方向厚度,thick1长度方向厚度*/intn_L1,n_L2,n_L3,n_L4,n_thick1,n_thick2;/*各边网格数*/inti,j,n,number;/*n迭代次数*/doubleeps=5.0e-6;floatdelt_y1,delt_y2,delt_x1,delt_x2;floatcond,conv_out,conv_in,tout,tin;/*cond导热系数conv_out外部对流换热系数conv_in内部对流换热系数tout外部环境温度tin内部环境温度*//*输入几何信息*/printf("请输入L1:");scanf("%f",&L1);printf("请输入L2:");scanf("%f",&L2);printf("请输入L3:");scanf("%f",&L3);printf("请输入L4:");scanf("%f",&L4);/*输入网格信息*/printf("请输入边L1网格数(<100):");scanf("%d",&n_L1);printf("请输入边L2网格数(<100):");scanf("%d",&n_L2);printf("请输入边L3网格数(<100):");scanf("%d",&n_L3);printf("请输入边L4网格数(<100):");scanf("%d",&n_L4);/*输入边界条件*/printf("请输入材料导热系数(W/(m·K):");scanf("%f",&cond);printf("请输入外部环境温度(K):");scanf("%f",&tout);printf("请输入内部环境温度(K):");scanf("%f",&tin);printf("请输入外部对流换热系数(W/(m2·K):");scanf("%f",&conv_out);printf("请输入内部对流换热系数(W/(m2·K):");scanf("%f",&conv_in);thick1=(L2-L4);thick2=(L1-L3);n_thick1=(n_L2-n_L4);n_thick2=(n_L1-n_L3);/**************网格大小*********************/delt_x1=thick1/n_thick1;delt_x2=L4/n_L4;delt_y1=thick2/n_thick2;delt_y2=L3/n_L3;/*******************************************//*节点赋初值*/doubletem0[100][100];/*节点温度tem0()上次迭代结果,tem()本次迭代结果*/doubletem[100][100];doublex[100][100];doubley[100][100];n=0;do{/*区域1内部节点温度*//*************************************************/for(i=1;i