欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

c语言求解热传导方程,二维稳态导热问题的数值解法.docx

发布时间:2025/4/5 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c语言求解热传导方程,二维稳态导热问题的数值解法.docx 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

核科学与技术学院

《传热学》

二维稳态导热问题的

数值解法作业

姓名:罗晓

学号: 2014151214

班级:任课教师:李磊,张智刚

哈尔滨工程大学

核科学与技术学院

2016 年 11月 28 日

1

问题重述:

第一题:

如图所示,一个无限长矩形柱体,其横截面的边长分别为

L1 和

L2,常物性。该问题可视为二维稳态导热问题, 边界条件如图中所示,

其中 L1

, 2

w1

℃, w2

℃, λ

=0.6m L =0.4m

T =60

T

=20

=200 W/(mK)

1)

编写程序求解二维导热方程。

2)

绘制 x=L1/2 和 y=L2/2 处的温度场,并与解析解进行比较。已

知矩形内的温度场的解析解为:

t x, y

t w1

tw2 sin x L1

sh y

L1 。

sh L2

L1

第二题

将第一题中 y

L2 处的边界条件变为 t tw 2 ,其他条件不变。

1) 编写程序求解二维导热方程并计算从

y=0 处导入的热量 2 。

当 L2 L1 时,该二维导热问题可简化为一维导热问题。 在一维的近

似下,试计算从 y=0 处导入的热量 1 ,并比较不同 L2/L1 下 2 1 的比值。由该问题的解析解可知:

L /L

1

0.007

0.01

0.05

0.08

0.1

2

2

1

0.9987

0.9912

0.956

0.93

0.912

解:(第一题第一问)

对于此问题, 由于可以视为二维稳态导热问题,由二维稳态热传导

2

2t

2 t

0

基本方程:

2

y2

x

用数值法对该区域进行节点划分(如下图所示):x 方向上一共划分M

个节点, y 方向上一共划分N 个节点。

可以将以上方程改为:

tm 1,nt m 1,n

2tm,n

tm,n 1

tm, n 1

2tm,n

0

x2

y2

如果我们取

x

y

则有: tm,n

t m 1,n

tm 1,n

t m 1,n

tm 1,n

4

考虑到节点位置的特殊性,我们在此将节点的种类进行如下划分,并

给出节点的离散方程。

节点类别下标变化范围离散方程

am=M;

t M ,ntw1

n=1,2,3,4.........N-1;

bm=0,1,2,3,4,.......M;tm, N tw1 t w2 sin( x / L1)

3

n=N;

c

m=1,2,3,4.......

M-1;

n=1,2,3,4.........

N-1;

d

m=0;

n=1,2,3,4........

N-1;

e

m=0,1,2,3.........

M;

n=0;

t m 1, n

tm 1, n

t m 1, n

tm 1, n

t m , n

4

t1,ntw1

tm,1tw1

由于本题中 L1/L2=3/2, 我们取节点 M=61,N=41 ,则一共可得到61*41

个内节点。

我们采用两种方法进行编程如下:

编写程序如下进行迭代计算(注:所用软件为 Matlab2014a,下同)。

编程源代码见 附录一 :

得到的温度分布如下图所示:

采用 C 语言进行编程(编程软件为 visual studio community2015 ,下同)

4

编程源代码见 附录二 ;

迭代初值为 0.000000,

迭代次数为 1326,

得到结果见 附件一;

第一题第二问 :

在 第 一 问 C 程 序 得 到 的 结 果 中 查 找 (m=40;1=0,1,2,....40) 和

m=1,1,2.....60;n=20)时的温度值,就可得到 x=L1/2 和 y=L2/2 处的温度

离散点的值,见 附件二。

按 照 理 论 值 , y=L2/2

时,温度场的解析解为

sh

y

L1

t x, yt w1 tw2 sin x L1 sh

L

2

L

tw1 tw2 sin x L1 5.01835

1

将解析法的值与迭代法的值做差得到温度误差,用matlab 画图,程

序见附录三 :

结果如下:

5

同理可得 x=L1/2 时解析法的值与迭代法的值做差得到的温度误差的

拟合曲线如下(编程见附录四 ):

由此可见迭代法求解的温度场和解析解之间还存在一定的误差,不过

温度场的总体趋势还是相同的。

第二题第一问

编程方法和第一题第一问类似,只需改变一个边界条件。

这里我们采用matlb 编写程序(编程源代码见附录五);:

6

从从 y=0 处导入的热量

2 可以看成是从 n=1 到 n=2 节点传入的热量,

(假设矩形柱体的高度为 1m)

t 1 , 2

t 1 ,1

t 2 , 2

总结

以上是生活随笔为你收集整理的c语言求解热传导方程,二维稳态导热问题的数值解法.docx的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。