传热学上机实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

heat_out = heat_out + λ*(A[i][4] - 0); } printf("墙外侧导入热量为 heat_in=%6.2fW\n", heat_in * 4); printf("墙内侧导出温度为 heat_out=%6.2fW\n", heat_out * 4); printf(" 相对误差为: %4.2f%%\n", 100 * 2 * (heat_in - heat_out) / (heat_in + heat_out)); return 0; }
T(i−1,j)−T(i,j) Δx
+λΔy
T(i+1,j)−T(i,j) Δx
+λΔx
T(i,j−1)−T(i,j) Δy
+λΔx
T(i,j+1)−T(i,j) Δy
=0
下端绝热节点: 2λΔy
T(i−1,j)−T(i,j) Δx
+λΔx
T(i,j−1)−T(i,j) Δy
+λΔx
T(i,j+1)−T(i,j) Δy
五, 实验结果
六, 结论
我个人觉得, 这个计算机实验整体难度不是很大.我觉得最麻烦的有两点。 第 一, 再编写到高斯迭代计算那一块如果捋不清所有的关系和比较对象就很容易陷 入到死胡同里;第二,在写数学表达的时候因为要用到很多类似于λ、Δ和分数线 这样的特殊符号,导致整个步骤在这里慢了很多。但是,这次训练也给我带来了 很多的益处, 首先, 通过自己计算机模拟实验数据和当时实验室用电模拟法做实 验得到的数据进行对比, 就很容易知道自己在做实验的时候那个数据读得有问题, 最重要的是完全理解为什么可以用电来模拟热;其次,因为在编写程序过程中要 用到很多特殊的语句和算法, 我就必须要不断地上网查找或者查书,这在无形中 为我复习了一遍 C 语言的知识;最后,在编写过程中,不断地加深了对导热方程 式的理解。
传热量则可以通过分别通过墙外表层和墙内表层的传热来计算,并且可以 通过比较两次算得的传热量来检验计算的误差范围。 理论上墙外表层和内表层的 传热量应该是相同的。
15
Φin =∑ λ ∗ Δx ∗
0 15
30−T(0,y) Δy T(4,y)−0 Δy
11 0 11 6
+∑ λ ∗ Δy ∗
30−T(x,0) Δx T(x,5)−0 Δx
传热学数值模拟实验报告
——墙角导热问题计算机分析计算
学院:能源与动力学院 班级:核工程 A61 姓名:吕佳辉 学号:2160302050 指导老师:吴一宁 日期:2018-11-12
一, 物理问题
现在有一个这样的物理模型,用某种材料做成中空的矩形,墙的厚度是相同 的,并且沿高度方向可以看作是温度保持不变的。 且已知墙的参数:L1=2.2m,L2=3.0m,L3=2.0m,L4=1.2m。 就由两种情形: (1)墙外表面的温度和墙内表面的温度分别是某一个定值。 其中: 墙角材料的导热系数为:λ = 0.53 W/(m*K); 墙角外表温度 T1= 30 ℃,内表面温度 T2= 0 ℃; (2)墙外侧和墙内侧分别是某一已知的热流密度。 其中: 墙角的外表面与周围的流体的对流换热系数为 : h1= 10.6 W/(m2*K), 流体温度 T1= 30 ℃; 墙角的内表面与周围的流体的对流换热系数为 : h2= 3.975 W/(m2*K), 流体温度 T2= 10 ℃;
Φout =∑ λ ∗ Δx ∗
6
+∑ λ ∗ Δy ∗
Φin = Φout
三, 区域离散
将 1/4 墙角进行离散化,划分成 12*16 个点阵,其中表征墙角温度的点共 132 个点,可以分成 2 类点。 第一种:位于中心位置的节点,由四周四个节点传递热量并达到热平衡状态; 第二种, 位于最右边和最下边的绝热节点,放在整个墙角中也可以看作是由周围 四个节点传递热量并达到热平衡,其中两个点的温度是相同的(因为沿着绝热线源自文库对称) 。 内节点: λΔy
������2 ������ ������2 ������
T(x,5)= 0
������������(������,15) ������������ ������������(11,������) ������������
6<= x <= 11 0<= x <= 5 0<= x <= 5
=0 =0
(该图来源于教材习题)
二, 数学描写
显然墙角是中心对称的,因此可以只取墙角的 1/4 作为研究对象,该问题就 是二维、稳态、无内热源的导热问题,则 控制方程:������������ 2 + ������������ 2 = 0 边界条件:T(0,y)= 30 T(x,0)= 30 T(5,y)= 0 0<= y <= 15 0<= x <= 11 6<= y <= 15
for (j = 0; j < 16; j++) { A[0][j] = 30; } for (i = 0; i <= 11; i++) { A[i][0] = 30; } for (j = 5; j < 16; j++) { A[5][j] = 0; } for (j = 5; j <= 12; j++) { A[j][5] = 0; } for (i = 0; i < 12; i++) { for (j = 0; j < 16;j++) B[i][j] = A[i][j]; } printf("将误差最大值设为 0.01\n"); while (fault >= 0.01) { fault = 1; for (i = 1; i < 15; i++) { for (j = 1; j < 5; j++) { A[j][i] = 0.25*(A[j][i - 1] + A[j][i + 1] + A[j - 1][i] + A[j + 1][i]); fault = fabs(A[j][i] - B[j][i]); } } for (i = 5; i < 11; i++) { for (j = 1; j < 5; j++) { A[i][j] = 0.25*(A[i][j - 1] + A[i][j + 1] + A[i - 1][j] + A[i + 1][j]); fault = fabs(A[i][j] - B[i][j]); } } for (j = 1; j < 5; j++) {
=0
右端绝热节点: λΔy
T(i−1,j)−T(i,j) Δx
+λΔy
T(i+1,j)−T(i,j) Δx
+2λΔx
T(i,j−1)−T(i,j) Δy
=0
边界条件: 第一类边界条件:外表面和内表面的温度分别为 30℃和 0℃,
四, 编写程序
#include<stdio.h> #include<math.h> #define λ 0.53 int main() { printf("* * * * * * * * * * * * * * * * * * 传热学计算机模拟实验报告 * * * * * * * * * * * * * * * * * *\n"); int i, j; double A[12][16] = {0}; double B[12][16]; double fault = 1; double heat_in = 0; double heat_out = 0; printf("假定墙外侧导入的热量为 heat_in\n"); printf("假定墙内侧导出的热量为 heat_iout\n");
A[11][j] = 0.25*(A[11][j - 1] + A[11][j + 1] + 2 * A[10][j]); fault = fabs(A[i][j] - B[i][j]); } for (i = 1; i < 5; i++) { A[i][15] = 0.25*(A[i + 1][15] + A[i - 1][15] + 2 * A[i][14]); fault = fabs(A[i][j] - B[i][j]); } for (i = 0; i < 16; i++) { for (j = 0; j < 12; j++) B[j][i] = A[j][i]; } } for (i = 0; i < 6; i++) { for (j = 0; j < 15; j++) { printf("%6.2f", A[i][j]); } printf("%6.2f\n", A[i][15]); } for (i = 6; i < 12; i++) { for (j = 0; j < 5; j++) { printf("%6.2f", A[i][j]); } printf("%6.2f\n", A[i][5]); } for (i = 1; i <= 15; i++) { heat_in = heat_in + λ*(30 - A[1][i]); } for (i = 1; i <= 11; i++) { heat_in = heat_in + λ*(30 - A[i][1]); } for (i = 5; i <= 15; i++) { heat_out = heat_out + λ*(A[4][i] - 0); } for (i = 5; i <= 11; i++) {
相关文档
最新文档