Runge-Kutta法在瞬态温度场的应用

   Runge-Kutta法在瞬态温度场的应用 刘洋11,孙旭曙21,黄叶宁31

1.三峡大学水利与环境学院 湖北 宜昌 443002)

摘要:对瞬态温度场求解常用差分法,但差分法会随着迭代过程而出现震荡,精度下降,效率不高,而Runge-Kutta法是一种特殊的单步法,精度高,效率高,广泛应用于求解常微分问题。本文用MATLAB对瞬态温度场分布问题求解的Crank-Nicholson法和Runge-Kutta法进行编程及实现,通过结果对比发现,Runge-Kutta法的计算精度不仅比Crank-Nicholson法高,且模拟效率也较后者的有显著提高,其中模拟效率提高幅度最大,达到35%。

关键词:瞬态温度场;Runge-Kutta法;Crank-Nicholson法.

0引 言

对大体积混凝土和冻土等对温度敏感材料研究,要求解温度分布问题。而瞬态温度问题求解方法[1-3],一般用有限差分法推求某个时间时温度场方程。但有限差分法进行时间域离散时,数值解会在迭代过程出现震荡情况,导致数值解精度下降。对有限差分法解的震荡问题,林金木[4]应用障碍迭代法在实数子空间求解瞬态温度场,提高了解的精度,但较难找出带约束的定解条件;而本文用另外一种新方法(Runge-Kutta法),李元清[5]针对柴油机瞬态温度场问题,提出一种改进的Crank-Nicholson,但是这种方法在实际运用中局限性大。

而本文用一种新的方法[6](Runge-Kutta),并借助MATLAB分别编写三阶Runge-Kutta法和两点循环的Crank-Nicholson法的有限元程序。且对单元热容矩阵进行处理,用集中质量矩阵代替单元热容矩阵。通过两种方法说明,Runge-Kutta相对于Crank-Nicholson 求解瞬态温度场方程的优Runge-Kutta法处理瞬态温度场问题的理论提供依据

1 数学模型及有限元求解方程

1.1 数学模型

考虑多孔介质的各向同性忽略水汽迁移、热量对流的情况下,,饱和土壤的二维温度场方程为

                                (1)

边界条件(Dirichlet条件):                                  (2)

式中T为温度;为初始边界温度;C为体积热容量,取; 为导热系数,取

1.2瞬态温度场数值方法

瞬态温度场数值方法,在空间域上用伽辽金法,在时间域上用Runge-Kutta。下面介绍这两种方法。

首先伽辽金法对温度场方程1进行空间域离散可得:

                       (3)

其中:单元热容矩阵

单元热传导矩阵

单元温度荷载列阵

将方程(3)的左项移右边为:                 4                    

直接求大型矩阵困难,这里用到集中质量矩阵[2]。假定单元的质量集中在结点上,那么单元热容矩阵转换的单元集中质量矩阵是对角线矩阵,且该质量矩阵理论上是正定的

将单元热容矩阵转换为单元集中质量矩阵方法如下:

   (5)

因此,单元热容矩阵的逆为

接下来,用三阶Runge-Kutta[11] 对式(4)进行时间域离散。 

时,温度为时,温度为,其中可由插值公式(6)和7)表示

   (6)

(7)

式中:时间步长为,它等于差值;

那么,温度求解方程为                        (8)

2 二维稳定温度场解析解

矩形区域内,两边(始终保持0度,另外两边()的温度分别为

     (      (9)

                     (10)

 ,                             (11)

应用分离变量法[7]

                                        (12)

其中为常数因此可得两个常微分方程

                                                (13)

由齐次边界条件(11)

首先求解常微分方程边值问题

                 的非零解       (14)

1)当问题(14)没有非平凡解。

(2)当问题14)有非平凡解。此时,对应的

接下来考虑方程                                (15)

代入方程15)可得:                      (16)

其通解为 n=1,2,3,…                         (17)   

这样就得出方程(9)满足齐次边界条件(11)的一系列特解

     n=1,2,3,…            (18)

由于方程(9)和边界条件(11)是齐次的,因此

                               (19)

仍满足方程(13)和齐次边界条件(15)

再应用非齐次边界条件

                       

则有关系式                   

                     

                    

利用傅里叶系数公式得

                                            (20)

                                      (21)

联立式(20)(21)

      (22)

                       (23)

因此满足方程(9)(10)(11)的通解为

            (24)

a=1,b=2,, 带入式(24),此时稳定温度场解析解为

      (25)

3 结果分析

瞬态温度场达到稳定(300次迭代)时,Crank-Nicholson法和Runge-Kutta法两种数值方法得出模拟值与解析值进行对比分析

温度场分布结果如图1,图23所示。

                 

图1 温度等值线图(解析解)     图2 温度等值线图(C-N法)        3 温度等值线图(R-K法)

123可知:数值解温度分布情况和解析解温度分布相同的。说明Crank-Nicholson法有限程序和Runge-Kutta法有限程序是正确的,且和解析值是完全吻合。

接下来取若干节点进行温度对比分析,具体见表1

1  300次迭代两种数值方法模拟结果

节点坐标

解析解

Crank-Nicholson

Runge-Kutta

相对误差

x(m)

y(m)

1

2

3

1-2/1

1-3/1

0.8

0.2

-3.3566

-3.4117

-3.3383

-1.64%

0.55%

0.8

0.4

-1.7743

-1.8174

-1.7782

-2.43%

-0.22%

0.8

0.8

-0.5008

-0.5155

-0.5071

-2.94%

-1.25%

0.8

1.2

-0.1416

-0.1468

-0.1447

-3.73%

-2.23%

0.8

1.6

-0.0373

-0.0390

-0.0384

-4.57%

-3.10%

1可知,瞬态温度场运行到稳定时,数值解与解析解的误差都在5%以内,但相对于Crank-NicholsonRunge-Kutta法得的节点温度精度更高,且提高2%左右

最后,对两种数值方法进行运算效率对比,见表2

2  300次迭代两种数值运算时间对比

数值方法

Crank-Nicholson

Runge-Kutta

运算时间(s

1.531s

0.991s

从表2中可知:瞬态温度场运算到稳定时,Crank-Nicholson法编写MATLAB程序运算时长为1.531s,而Runge-Kutta法编写MATLAB程序运算时长为0.991s,时长缩短0.54s,计算效率提高35%。显然,相比Crank-Nicholson法Runge-Kutta法大幅度提高运算效率,节省了数值模拟时间。

4 结  

对瞬态温度场进行数值模拟,用Crank-Nicholson法和Runge-kutta法进行时间域离散,对两者运行结果和运算时间对比分析发现:(1)Runge-Kutta法用于处理瞬态温度场分布问题,结果非常满意。(2)不管是精度,还是运算效率Runge-kutta法都有明显提高。(3)用集中质量矩阵取代单元热容矩阵,结果较好。

参考文献

[1]孔祥谦.有限元法在传热学中的应用.北京:科学出版社,1986.

[2]王勖成编著.有限单元法[M].北京:清华大学出版社,2003.

[3]R.Glowinski. Lectures on Numerical Methods for Non-linear Variational Problems. New York: Springer-Verlag, 1980.

[4]林金木.瞬态温度场的新解法[D].湖南:湖南大学学报,1996.

[5]李元清,高世义.有限元求解瞬态温度场的新方法.北京:内燃机学报,1990.

[6] 秦军.Runge-Kutta法在求解微分方程模型中的应用[D].合肥:安徽大学,2010

[7]吴崇试.数学物理方法[M].北京:北京大学出版社,2003,12.

微信二维码
扫码添加微信咨询
QQ客服:1663286777
电话:137-1883-9017
收到信息将及时回复