热传导方程初边值问题的三次样条解
Cubic Spline Solution to Initial Boundary Value Problems of Heat Transfer Equations

作者: 刘 丹 , 王天军 :河南科技大学数学与统计学院,河南 洛阳;

关键词: 热传导方程初边值问题Legendre-Gauss-Lobatto节点含参数的三次样条函数Heat Transfer Equation Initial Boundary Value Problems Legendre-Gauss-Lobatto Nodes Parametric Cubic Spline Function

摘要:
本文利用Legendre-Gauss-Lobatto节点为配置点,构造含参数的三次样条函数来数值求解带Dirichlet边界条件的热传导方程。其中,空间方向用含参数的三次样条函数离散,选取适当的参数值以提高数值误差的精度;时间方向用Crank-Nicolson格式离散,构造算法格式。并给出相应的算法格式和数值算例,表明该算法格式的有效性和高精度。

Abstract: In order to investigate the numerical solution approximated to the exact solution of the initial boundary value problems of the heat transfer equations, the cubic spline solution is given here. Using the parametric cubic spline function based on Legendre-Gauss-Lobatto node for the numerical solution of Dirichlet boundary value problems of the heat transfer equations, the spatial direction is discretized by cubic spline function with parameters, and the parameters are appropriately chosen to improve accuracy of numerical errors and use the Crank-Nicolson format to construct the algorithm scheme in the time direction. Finally, the algorithm and numerical examples are given to demonstrate the high efficiency and accuracy of the proposed algorithm.

1. 引言

求解热传导方程初边值问题的精确解,通常用分离变量法 [1] 。但是寻求精确解往往比较困难,因此,一般是寻求逼近精确解的数值解。文献 [2] 中关于如何用差分法来求解热传导方程初值以及初边值问题的数值解有详细介绍;文献 [3] [4] 是用Lagrange插值来求解非线性热传导方程数值解;文献 [5] [6] [7] 则是用谱方法来逼近求解一些热传导方程:文献 [5] 用Cheyshev谱配置法来求解热传导方程初边值问题;文献 [6] 用Laguerre拟谱方法来求解半无界非线性热传导方程问题;文献 [7] 用Legendre-Hermite混合谱方法数值求解无穷带状区域上的各向异性线性热传导方程。最近,有作者用含参数的三次样条插值来求解常微分方程 [8] [9] [10] ,但是还未曾有人将其用来求解偏微分方程,本文用含参数三次样条插值求线性热传导方程的数值解,通过适当选取参数提高数值误差精度。

2. 算法格式

2.1. Legendre-Gauss-Lobatto节点

n次Legendre多项式的定义如下:

L n ( t ) = ( 1 ) n 2 n n ! d n ( ( 1 t 2 ) n ) d t n , n = 0 , 1 , , t [ 1 , 1 ] .

选取 t k ( 0 k n ) 为多项式 ( 1 t 2 ) t L n ( t ) n + 1 个互异的零点,也即为Legendre-Gauss-Lobatto节点。

以Legendre-Gauss-Lobatto节点为配置点来构造含参数三次样条函数,然后用含参数的三次样条函数来逼近求解热传导方程初边值问题。

2.2. 含参数的三次样条函数

使用变量变换 x = x ( t ) t [ 1 , 1 ] ,将求解区间 [ a , b ] 映射到区间 [ 1 , 1 ] 。并将区间 [ a , b ] 划分成n个小的子区间 [ x i , x i + 1 ] , x i = x ( t i ) , h i + 1 = x i + 1 x i , a = x 0 < < x i < < x n = b , i = 0 , 1 , , n 1

一般来说,对函数 u ( x ) 在插值节点 x k ( 0 k n ) 处进行插值形成的含参三次样条插值函数的好坏程度,即 S ( x , ξ ) ( S ( x , ξ ) C 2 [ a , b ] ) 逼近函数 u ( x ) 的好坏程度,取决于参数 ξ ( ξ > 0 ) 的适当选取以及当参数 ξ 0 时三次样条函数在区间 [ a , b ] 上的改变程度。

该样条函数 S ( x , ξ ) = S ( x ) 在区间 [ x i , x i + 1 ] 上满足以下的微分方程 [9] :

S ( x ) + ξ S ( x ) = ( S ( x i ) + ξ S ( x i ) ) x i + 1 x h i + 1 + ( S ( x i + 1 ) + ξ S ( x i + 1 ) ) x x i h i + 1 , i = 0 , 1 , , n 1. (1)

公式(1)是一类二阶常系数非齐次常微分方程。它的通解与相对应的齐次方程的通解以及它自己本身的一个特解有关。

显然,与公式(1)相对应的齐次方程的通解如下:

S ( x ) = C 1 cos ξ x + C 2 sin ξ x .

同时,有公式(1)的一个特解如下:

S * ( x ) = ( S ( x i ) + ξ S ( x i ) ) x i + 1 x ξ h i + 1 + ( S ( x i + 1 ) + ξ S ( x i + 1 ) ) x x i ξ h i + 1 .

ω i + 1 = h i + 1 ξ 1 / 2 ,再由插值条件: S ( x i ) = u i , S ( x i + 1 ) = u i + 1 ,则可以得到公式(1)的通解,如下:

S ( x ) = h i + 1 2 ω i + 1 2 sin ω i + 1 [ S ( x i + 1 ) sin ( ω i + 1 ( x x i ) h i + 1 ) + S ( x i ) sin ( ω i + 1 ( x i + 1 x ) h i + 1 ) ] + h i + 1 2 ω i + 1 2 [ x x i h i + 1 ( S ( x i + 1 ) + ω i + 1 2 h i + 1 2 S ( x i + 1 ) ) + x i + 1 x h i + 1 ( S ( x i ) + ω i + 1 2 h i + 1 2 S ( x i ) ) ] . (2)

对公式(2)两端进行求导并令 x = x i ,则有:

S ( x i + 0 ) = S ( x i + 1 ) S ( x i ) cos ω i + 1 ξ 1 / 2 sin ω i + 1 + S ( x i + 1 ) S ( x i ) ξ h i + 1 + S ( x i + 1 ) S ( x i ) h i + 1 ;

x [ x i 1 , x i ] 时,有 h i = x i x i 1 ω i = h i ξ 1 / 2 。类似上面步骤,可以得到:

S ( x i 0 ) = S ( x i ) cos ω i S ( x i 1 ) ξ 1 / 2 sin ω i + S ( x i ) S ( x i 1 ) ξ h i + S ( x i ) S ( x i 1 ) h i .

S ( x ) 在节点 x i 处的连续性条件,可以得到:

α i M i 1 + ( β i + 1 + β i ) M i + α i + 1 M i + 1 = u i + 1 h i + 1 ( 1 h i + 1 + 1 h i ) u i + u i 1 h i , i = 1 , , n 1. (3)

其中:

α i = h i ( ω i csc ω i 1 ) ω i 2 = 1 ξ 1 / 2 sin ω i 1 ξ h i , S ( x i ) = u i ;

β i = h i ( 1 ω i cot ω i ) ω i 2 = 1 ξ h i cot ω i ξ 1 / 2 , S ( x i ) = M i .

2.3. 热传导方程算法格式

带Dirichlet边界条件热传导方程:

{ u t = u x x f ( x , t ) , 0 < x < l , t > 0 ; u | t = 0 = φ ( x ) , 0 x l ; u | x = 0 = μ ( t ) , u | x = l = v ( t ) , t > 0. (4)

用三次样条函数 S ( x ) ( x [ 0 , l ] ) 来逼近方程(4)的解,由(4)式可得:

u i ( t ) t = 2 u i ( t ) x 2 f i ( t ) = M i ( t ) f i ( t ) , i = 1 , 2 , , n 1.

其中: f i ( t ) = f ( x i , t ) ; u i ( t ) = u ( x i , t ) ; M i ( t ) = u x x ( x i , t ) , i = 0 , 1 , , n

考虑 u i ( t ) t 前面的系数,有:

M i = q i u i ( t ) t + f i ( t ) . (5)

u i ( t ) t u i ( t ) ,并将(5)代入(3)中得到:

( α i q i 1 u i 1 + ( β i + β i + 1 ) q i u i + α i + 1 q i + 1 u i + 1 ) + ( α i f i 1 + ( β i + β i + 1 ) f i + α i + 1 f i + 1 ) = u i 1 h i ( 1 h i + 1 h i + 1 ) u i + u i + 1 h i + 1 , i = 1 , 2 , , n 1. (6)

由(4)中给出的边界条件,处理得: u 0 ( t ) = μ ( t ) , u n ( t ) = v ( t ) ,则(6)可写成如下形式:

( ( β 1 + β 2 ) q 1 u 1 + α 2 q 2 u 2 ) + ( α 1 f 0 + ( β 1 + β 2 ) f 1 + α 2 f 2 + α 1 q 0 u 0 u 0 h 1 ) = ( 1 h 1 + 1 h 2 ) u 1 + u 2 h 2 , i = 1 ; (7)

( α i q i 1 u i 1 + ( β i + β i + 1 ) q i u i + α i + 1 q i + 1 u i + 1 ) + ( α i f i 1 + ( β i + β i + 1 ) f i + α i + 1 f i + 1 ) = u i 1 h i ( 1 h i + 1 h i + 1 ) u i + u i + 1 h i + 1 , i = 2 , , n 2 ; (8)

( α n 1 q n 2 u n 2 + ( β n 1 + β n ) q n 1 u n 1 ) + ( α n 1 f n 2 + ( β n 1 + β n ) f n 1 + α n f n + α n q n u n u n h n ) = u n 2 h n 1 ( 1 h n + 1 h n 1 ) u n 1 , i = n 1. (9)

由(4)的初值条件: u ( x , 0 ) = ϕ ( x ) ( 0 x l ) ,得: u ( x k , 0 ) = ϕ ( x k ) , k = 0 , 1 , , n

为方便处理,记: X ( t ) = ( u 1 ( t ) , u 2 ( t ) , , u n 1 ( t ) ) T X 0 = ( ϕ ( x 1 ) , ϕ ( x 2 ) , , ϕ ( x n 1 ) ) T

A = [ q 1 ( β 1 + β 2 ) q 2 α 2 q 1 α 2 q 2 ( β 2 + β 3 ) q 3 α 3 q n 3 α n 2 q n 2 ( β n 2 + β n 1 ) q n 1 α n 1 q n 2 α n 1 q n 1 ( β n 1 + β n ) ] ;

B = [ ( 1 h 1 + 1 h 2 ) 1 h 2 1 h 2 ( 1 h 2 + 1 h 3 ) 1 h 3 1 h n 2 ( 1 h n 2 + 1 h n 1 ) 1 h n 1 1 h n 1 ( 1 h n 1 + 1 h n ) ] ;

F ( t ) = [ α 1 f 0 + ( β 1 + β 2 ) f 1 + α 2 f 2 + α 1 q 0 u 0 u 0 h 1 α 2 f 1 + ( β 2 + β 3 ) f 2 + α 3 f 3 α i f i 1 + ( β i + β i + 1 ) f i + α i + 1 f i + 1 α n 2 f n 3 + ( β n 2 + β n 1 ) f n 2 + α n 1 f n 1 α n 1 f n 2 + ( β n 1 + β n ) f n 1 + α n f n + α n q n u n u n h n ] .

有了以上的符号说明,则(7)~(9)可以写成如下形式:

{ A d X ( t ) d t = B X ( t ) F ( t ) , t > 0 ; X ( 0 ) = X 0 . (10)

3. 数值例子

用式(10)求解式(4),在时间方向用步长为 τ 的Crank-Nicolson格式离散,则:

{ ( I ( τ 2 ) A 1 B ) X ( t + τ ) = ( I + ( τ 2 ) A 1 B ) X ( t ) ( τ 2 ) A 1 ( F ( t ) + F ( t + τ ) ) , t = 0 , τ , 2 τ , , T τ ; X ( 0 ) = X 0 .

用如下定义的 L -范数来度量误差:

E N , τ , ξ = max 0 m N | u ( x m , t ) u N ( x m , t ) | .

E 1 N , τ , ξ = max 0 m N | u ( x m , t ) u N ( x m , t ) | .

E 2 N , τ , ξ = max 0 m N | u ( x m , t ) u N ( x m , t ) | .

其中 E N , τ , ξ 为三次样条误差, E 1 N , τ , ξ 为一阶导数误差, E 2 N , τ , ξ 为二阶导数误差。下面给出一些数值结果,以验证该格式的有效性和高精度。

例1:考虑以下微分方程:

{ u t = u x x 7 e 2 x 3 t , 0 < x < 1 , 0 < t < 1 ; u | t = 0 = e 2 x , 0 x 1 ; u | x = 0 = e 3 t , u | x = 1 = e 3 t + 2 , 0 < t < 1. (11)

现有微分方程(11)的一个精确解: u = e 2 x 3 t

当三次样条参数 ξ 变化时,图1给出 L -范数 E N , τ , ξ 的常用对数 log 10 E N , τ , ξ 及不同 log 10 N 之间的关系,

其中 τ 取值为0.001。可以看到数值误差随N的增加而快速衰减,当参数 ξ 取0.1时,可以获得较好的数

值结果。在图2中,给出 T = 1 时数值误差常用对数 log 10 E N , τ , ξ 随N的增加及不同的 τ 的变化情况。可以

看到,随着 τ 的减小,数值误差随N的增加而快速衰减,这表明计算格式的高精度和稳定性。

Figure 1. log 10 E N , τ , ξ : τ = 0.001

图1. log 10 E N , τ , ξ : τ = 0.001

Figure 2. log 10 E N , τ , ξ : ξ = 0.1 , T = 1

图2. log 10 E N , τ , ξ : ξ = 0.1 , T = 1

图3给出了一阶导数误差,图4给出二阶导数误差,其中 ξ = 0.1 , τ = 0.001 。可以看到,用三次样条函数来逼近求解方程(11)时,其一阶导数和二阶导数也分别收敛于精确解的一阶导数与二阶导数,并且具有很好的收敛速度。

Figure 3. log 10 E 1 N , τ , ξ : ξ = 0.1 , τ = 0.001

图3. log 10 E 1 N , τ , ξ : ξ = 0.1 , τ = 0.001

Figure 4. log 10 E 2 N , τ , ξ : ξ = 0.1 , τ = 0.001

图4. log 10 E 2 N , τ , ξ : ξ = 0.1 , τ = 0.001

例2:考虑以下微分方程:

{ u t = u x x 2 sin ( x ) e 3 t , 0 < x < π 2 , 0 < t < 1 ; u | t = 0 = sin x , 0 x π 2 ; u | x = 0 = 0 , u | x = π / 2 = e 3 t , 0 < t < 1. (12)

现有微分方程(12)的一个精确解: u = sin ( x ) e 3 t

图5给出 τ 取值为0.0001时 log 10 E N , τ , ξ log 10 N 之间的关系。可以看到数值误差随N的增加而快速衰减,而当参数 ξ 取0.6时,获得较好的数值结果。在图6中,T取值为1:随着 τ 的减小,数值误差随N的增加而快速衰减,这表明计算格式的高精度和稳定性。图7图8分别给出了一阶导数误差、二阶导数误差,其中 ξ = 0.6 , τ = 0.0001 。同样可以看到,用三次样条函数来逼近求解方程(12)时,其一阶导数和二阶导数也分别收敛于精确解的一阶导数与二阶导数,并且具有很好的收敛速度。

Figure 5. log 10 E N , τ , ξ : τ = 0.0001

图5. log 10 E N , τ , ξ : τ = 0.0001

Figure 6. log 10 E N , τ , ξ : ξ = 0.6 , T = 1

图6. log 10 E N , τ , ξ : ξ = 0.6 , T = 1

Figure 7. log 10 E 1 N , τ , ξ : ξ = 0.6 , τ = 0.0001

图7. log 10 E 1 N , τ , ξ : ξ = 0.6 , τ = 0.0001

Figure 8. log 10 E 2 N , τ , ξ : ξ = 0.6 , τ = 0.0001

图8. log 10 E 2 N , τ , ξ : ξ = 0.6 , τ = 0.0001

4. 结论

本文利用含参数的三次样条插值函数来逼近热传导方程精确解。以Legendre-Gauss-Lobatto节点为配置点,先构造含参数的三次样条插值来对空间进行离散,再在时间方向上应用步长为 τ 的Crank-Nicolson格式,然后得到带Dirichlet边界条件热传导方程的数值解。由数值实验得到的结果来看,提出的算法不仅具有一定的有效性和高精度,并且对于精确解的导数也有很好的逼近效果。

致谢

首先,我要感谢基金项目:国家自然科学基金项目(11371123)!最后,对于师姐柴果、师妹马亚楠以及实验室的同学们表示感谢!谢谢你们对我的支持和帮助!

基金项目

国家自然科学基金项目(11371123)。

文章引用: 刘 丹 , 王天军 (2019) 热传导方程初边值问题的三次样条解。 应用数学进展, 8, 1375-1383. doi: 10.12677/AAM.2019.88161

参考文献

[1] 谷超豪, 李大潜, 陈恕行, 等. 数学物理方程[M]. 第三版. 北京: 高等教育出版社, 2002: 51-55.

[2] 李荣华, 刘播. 微分方程数值解法[M]. 第四版. 北京: 高等教育出版社, 2009: 107-145.

[3] 王天军, 贾丽蕊. 非线性热传导方程的Lagrange插值逼近[J]. 河南科技大学学报(自然科学版), 2011, 32(2): 68-71.

[4] 王天军, 李清, 殷艳红. 非线性热传导方程混合问题的插值逼近[J]. 航空计算技术, 2012, 42(2): 1-3.

[5] 杨继明. 热传导方程初边值问题的谱方法[J]. 湖南工程学院学报(自然科学版), 2007, 17(2): 71-73.

[6] 王天军. 半无界非线性热传导方程的Laguerre拟谱方法[J]. 应用数学与计算数学学报, 2013, 27(1): 9-15.

[7] Guo, B.Y. and Wang, T.J. (2006) Mixed Legendre-Hermite Spectral Method for Heat Transfer in an Infinite Plate. Computers & Mathematics with Applications, 51, 587-602.
https://doi.org/10.1016/j.camwa.2006.03.004

[8] Arshad, K. (2004) Parametric Cubic Spline Solution of Two Point Boundary Value Problems. Applied Mathematics & Computation, 154, 175-182.
https://doi.org/10.1016/S0096-3003(03)00701-X

[9] Wang, T.J., Zhou, Q.X. and Cui, T.T. (2015) Cubic Spline Solution for a Class of Boundary Value Problems Using Spectral Collocation Method. International Conference on Advanced Mechatronic Systems, Beijing, 22-24.
https://doi.org/10.1109/ICAMechS.2015.7287095

[10] 柴果, 王天军. 非线性常微分方程边值问题的三次样条解[J]. 黑龙江大学自然科学报, 2017, 34(5): 544-548.

分享
Top