本文研究了一类半线性抛物方程的有限体积元全离散格式。首先在空间上以插值系数线性有限体积元进行半离散,得到关于时间的一阶非线性常微分方程组的初值问题,然后在时间上采用向后差分方法得到全离散格式。其次讨论了该全离散格式的稳定性和收敛性。最后给出了一个数值例子说明所研究方法的高效性。 In this paper, the fully discrete finite volume element schemes for a class of semi-linear parabolic equations are studied. Firstly, the initial value problem of the first-order nonlinear ordinary dif-ferential equations with time is obtained by interpolation coefficient finite volume element in space, and then the fully discrete scheme is obtained by backward difference method in time. Secondly, the stability and convergence of the fully discrete scheme are discussed. Finally, a numerical example is given to illustrate the efficiency of the proposed method.
熊之光,王易,马娟
湖南科技大学,数学与计算科学学院,湖南 湘潭
收稿日期:2019年9月30日;录用日期:2019年10月22日;发布日期:2019年10月29日
本文研究了一类半线性抛物方程的有限体积元全离散格式。首先在空间上以插值系数线性有限体积元进行半离散,得到关于时间的一阶非线性常微分方程组的初值问题,然后在时间上采用向后差分方法得到全离散格式。其次讨论了该全离散格式的稳定性和收敛性。最后给出了一个数值例子说明所研究方法的高效性。
关键词 :半线性抛物方程,插值系数有限体积元,全离散格式,稳定性
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
有限体积元方法(Finite Volume Method)是一种求解偏微分方程的数值方法,国内学者最早由李荣华教授提出 [
本文将把插值系数有限体积元方法推广到半线性抛物问题中。考虑如下半线性抛物方程的初边值问题的有限体积元全离散格式
{ u t − ( p ( x ) u x ) x + f ( u ) = g ( x , t ) , ( x , t ) ∈ ( a , b ) × [ 0 , T ] , u ( a , t ) = u ( b , t ) = 0 , t ∈ [ 0 , T ] , u ( x , 0 ) = φ ( x ) , x ∈ [ a , b ] , (1.1)
其中 p ( x ) , f ( s ) , g ( x , t ) 为充分光滑函数,且 f ′ ( s ) > 0 。本文将作如下安排:第2节构造出有限体积元的全离散格式,先在空间方向上进行半离散,再在时间方向上分别采用向前差分法、向后差分法得到两种全离散格式。第3节针对本文所给的问题得到的两种全离散格式,讨论其稳定性并给出证明。第4节给出两个数值例子以说明该方法的有效性。
问题(1.1)的变分形式为,对每一个t,寻求 u ( x , t ) ∈ H 0 1 ( I ) ,使得
{ ( u t , v ) + a ( u , v ) + ( f ( u ) , v ) − ( g , v ) = 0 , ∀ v ∈ H 0 1 ( I ) , u ( x , 0 ) = φ ( x ) , (2.1)
其中 H 0 1 ( I ) = { v ( x , t ) | v ( x , t ) ∈ H 1 ( I ) , I = [ a , b ] , v ( a , t ) = v ( b , t ) = 0 } , t ∈ [ 0 , T ] ,
a ( u , v ) = ∫ a b p u x v x d x . (2.2)
对区间 I = [ a , b ] 作如下剖分:
设单元 I j = [ x j − 1 , x j ] ,每个单元的中点记为 x j − 1 / 2 = ( x j + x j − 1 ) / 2 ,步长 , h = max 1 ≤ j ≤ n h j ,
并假设剖分 J h 是拟一致的,即存在常数 C > 0 使得 h ≤ C h j ,另外设 I 0 ∗ = [ x 0 , x 1 / 2 ] , I i ∗ = [ x i − 1 / 2 , x i + 1 / 2 ] ( i = 1 , 2 , ⋯ , n − 1 ) , I n ∗ = [ x n − 1 / 2 , x n ] ,那么所有的 I i ∗ ( i = 0 , 1 , ⋯ , n ) 构成 J h 的对偶剖分 J h * ,每个 I i ∗ ( i = 0 , 1 , ⋯ , n ) 也称为体积控制元.设基于剖分 J h 的试探函数空间为 U h = { u | u ∈ C ( I ) , u 在 每 个 单 元 为 线 性 多 项 式 } , 对每个t, u ( x , t ) 在节点 x j 上的基函数为:
ϕ j ( x ) = { x − x j − 1 h j , x ∈ I j , x j + 1 − x h j + 1 , x ∈ I j + 1 , 0 , 其 他 , j = 1 , 2 , ⋯ , n − 1 ,
设基于对偶剖分 J h * 的函数空间 V h 的为分片常数空间,对每个t, u ( x , t ) 在节点 x j 上的基函数为:
φ j ( x ) = { 1 , x ∈ I j ∗ , 0 , 其 他 , j = 1 , 2 , ⋯ , n − 1 ,
对每个t,我们再定义插值算子 I h : C ( I ) → U h , v ( x , t ) ↦ ∑ j = 1 n − 1 v ( x j , t ) ϕ j ( x ) ,和插值算子 I h * : C ( I ) → V h , v ( x , t ) ↦ ∑ j = 1 n − 1 v ( x j , t ) φ j ( x ) 。则问题(1.1)的插值系数线性有限体积元解 u h ( x , t ) ∈ U h 满足
( u h , t ( x , t ) , I h * v h ) + a ( u h ( x , t ) , I h * v h ) + ( I h f ( u h ( x , t ) ) , I h * v h ) − ( g ( x , t ) , I h * v h ) = 0 , ∀ v h ∈ U h , (2.3)
这里 u h ( x , t ) , I h f ( u h ( x , t ) ) 分别为
u h ( x , t ) = ∑ j = 1 n − 1 u h ( x j , t ) ϕ j ( x ) = ∑ j = 1 n − 1 u j ( t ) ϕ j ( x ) ,
I h f ( u h ( x , t ) ) = ∑ j = 1 n − 1 f ( u h ( x j , t ) ) ϕ j ( x ) = ∑ j = 1 n − 1 f ( u j ( t ) ) ϕ j ( x ) ,
其中 u j ( t ) = u h ( x j , t ) , f ( u j ( t ) ) = f ( u h ( x j , t ) ) 。则式(2.3)可以等价的表示为
( u h , t ( x , t ) , φ j ) + a ( u h ( x , t ) , φ j ) + ( I h f ( u h ( x , t ) ) , φ j ) − ( g ( x , t ) , φ j ) = 0 , j = 1 , 2 , ⋯ , n − 1 , (2.4)
即
∫ x j − 1 / 2 x j + 1 / 2 u h , t d x = ∫ x j − 1 / 2 x j + 1 / 2 ( p u h , x ) x d x + ∫ x j − 1 / 2 x j + 1 / 2 I h f ( u h ) d x + ∫ x j − 1 / 2 x j + 1 / 2 g ( x , t ) d x , j = 1 , 2 , ⋯ , n − 1 , (2.5)
其中 u h , t = ∂ u h ( x , t ) ∂ t , u h , x = ∂ u h ( x , t ) ∂ x 。注意到 u 0 ( t ) = u h ( a , t ) = 0 ,且 u n ( t ) = u h ( b , t ) = 0 ,(2.5)得到如下计
算格式:
{ 3 8 ( h 1 + h 2 ) u ′ 1 ( t ) + 1 8 h 2 u ′ 2 ( t ) + ( p 1 / 2 h 1 + p 3 / 2 h 2 ) u 1 ( t ) − p 3 / 2 h 2 u 2 ( t ) + 3 8 ( h 1 + h 2 ) f ( u 1 ( t ) ) + 1 8 h 2 f ( u 2 ( t ) ) = g 1 ( t ) + 1 8 h 1 f 0 , 1 8 h j u ′ j − 1 ( t ) + 3 8 ( h j + h j + 1 ) u ′ j ( t ) + 1 8 h j u ′ j + 1 ( t ) − p j − 1 / 2 h j u j − 1 ( t ) + ( p j − 1 / 2 h j + p j + 1 / 2 h j + 1 ) u j ( t ) − p j + 1 / 2 h j + 1 u j + 1 ( t ) + 1 8 h j f ( u j − 1 ( t ) ) + 3 8 ( h j + h j + 1 ) f ( u j ( t ) ) + 1 8 h j f ( u j + 1 ( t ) ) = g j ( t ) , j = 2 , ⋯ , n − 2 , 1 8 h n − 1 u ′ n − 2 ( t ) + 3 8 ( h n − 1 + h n ) u ′ n − 1 ( t ) − p n − 3 / 2 h n − 1 u n − 2 ( t ) + ( p n − 3 / 2 h n − 1 + p n − 1 / 2 h n ) u n − 1 ( t ) − 1 8 h n − 1 f ( u n − 2 ( t ) ) + 3 8 ( h n − 1 + h n ) f ( u n − 1 ( t ) ) = g n − 1 ( t ) + 1 8 h n f n , (2.11)
其中
f 0 = f ( u h ( x 0 , t ) ) = f ( u ( a , t ) ) = f ( 0 ) ,
f n = f ( u h ( x n , t ) ) = f ( u ( b , t ) ) = f ( 0 ) .
g j ( t ) = ∫ x j − 1 / 2 x j + 1 / 2 g ( x , t ) d x , j = 1 , 2 , ⋯ , n − 1 ,
如下向量记号:
u ( t ) = ( u 1 ( t ) u 2 ( t ) u 3 ( t ) ⋯ u n − 1 ( t ) ) T ,
u ˙ ( t ) = ( u ′ 1 ( t ) u ′ 2 ( t ) u ′ 3 ( t ) ⋯ u ′ n − 1 ( t ) ) T ,
F ( u ) = ( f ( u 1 ( t ) ) f ( u 2 ( t ) ) f ( u 3 ( t ) ) ⋯ f ( u n − 1 ( t ) ) ) T ,
G = ( g 1 ( t ) + 1 8 h 1 f ( 0 ) g 2 ( t ) g 3 ( t ) ⋯ g n − 1 ( t ) + 1 8 h n f ( 0 ) ) T
相应的 u ˙ ( t ) , u ( t ) 系数矩阵记为 A , B ,则式(2.11)用矩阵表示为:
A u ˙ ( t ) + B u ( t ) + A F ( u ) − G ( t ) = 0 . (2.12)
另记
则方程(1.1)在空间上用线性有限体积元方法离散,得到如下的 关于t的一阶常微分方程组
{ A u ˙ ( t ) + B u ( t ) + A F ( u ( t ) ) − G ( t ) = 0 , u ( 0 ) = α 0 . (2.13)
在式(2.13)中,由于 A 是严格对角占优矩阵,故 A 可逆,则式(2.13)可化为
(2.14)
将时间区域 J = [ 0 , T ] 分成N等分,节点为 t k = t 0 + i Δ t ,步长为 Δ t = T / N ,将式(2.14)在节点
{ u ( t k ) − u ( t k − 1 ) Δ t + A − 1 B u ( t k ) + F ( u ( t k ) ) − A − 1 G ( t k ) = 0 , u ( 0 ) = α 0 . (2.17)
即得到单步隐式格式:
{ M u ( k ) + Δ t F ( u ( k ) ) − Δ t A − 1 G = u ( k − l ) , u ( 0 ) = α 0 . (2.18)
其中 M = I + Δ t A − 1 B ,
H ( u ( k ) ) = M u ( k ) + Δ t F ( u ( k ) ) − Δ t A − 1 G ( k ) − u ( k − l ) , (2.19)
则式(2.18)可化为
利用Newton迭代法可得
u ( k ) , ( l + 1 ) = u ( k ) , ( l ) − D H − 1 ( u ( k ) , ( l ) ) H ( u ( k ) , ( l ) ) , k = 1 , 2 , 3 , ⋯ , N , (2.21)
这里的 u ( k ) , ( l ) 表示 的第l次迭代, D H ( u ( k ) , ( l ) ) 表示对矩阵
D H ( u ) = M + Δ t F ′ ( u ) , (2.22)
其中
F ′ ( u ) = [ f ′ ( u 1 ) 0 ⋯ 0 0 f ′ ( u 2 ) ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ f ′ ( u n − 1 ) ] .
利用(2.21)式,就可得到方程(1.1)的数值解。
本节讨论有限体积元全离散格式的稳定性,在这之前,先做一些准备工作。
定义3.1 设 A ∈ R n × n 的特征值为 λ i ( i = 1 , 2 , ⋯ , n ) ,称
ρ ( A ) = max 1 ≤ i ≤ n | λ i |
为 A 的谱半径。
设 x * 是方程组 x = B x + f 的精确解, x ( k ) 是其迭代解,记误差向量 e ( k ) = x ( k ) − x * ,则有
即
e ( k ) = B k e ( 0 ) , k = 0 , 1 , ⋯ , n − 1 ,
其中
lim k → ∞ e ( k ) = lim k → ∞ B k e ( 0 ) = 0.
根据文献 [
引理3.1 设矩阵 B ∈ R n × n ,则
引理3.2 对于任意的初始向量 x ( 0 ) 和右端向量f,解方程组 x = B x + f 的迭代法 x ( k + 1 ) = B x ( k ) + f 稳定的充要条件是 ρ ( B ) < 1 。
引理3.3 对于本文中的矩阵 A ,若 A = O ( h ) ,则 A − 1 = O ( h − 1 ) 。
证明 由于 A = O ( h ) ,则
| A | = O ( h n − 1 ) , | A i j | = O ( h n − 2 ) ,
其中 A i j 表示伴随矩阵
A − 1 = A * | A | = O ( h n − 2 ) O ( h n − 1 ) = O ( h − 1 ) .
引理3.3得证。
为了方便起见,引入一些记号,令 u j n 为方程(1.1)的精确解, u j ( t n ) 为方程(1.1)的半离散解, u ( x j , t n ) 为方程(1.1)的全离散解,即有限体积元方法的数值解。
有了上面的准备,下面来讨论有限体积元方法的稳定性及其证明。
本小节中考虑线性有限体积元向后差分全离散格式,由式(1.19)得向后差分全离散迭代格式为
{ M u ( k ) = u ( k − 1 ) , u ( 0 ) = α 0 , (3.5)
其中 M = I + Δ t A − 1 B .
定理3.2对方程(1.1)采用有限体积元向后差分全离散迭代格式(3.5)时,在任何剖分的情况下都是稳定的,即稳定性与时间剖分、空间剖分的密度无关。
证明 由于 A − 1 B 是正定的,因此特征值 ,从而 M = I + Δ t A − 1 B 的特征值 λ ( M ) > 1 ,即 ρ ( M ) > 1 ,亦即 ‖ M ‖ > 1 ,所以 ‖ ( M − 1 ) k ‖ < 1 ,即
ρ ( ( M − 1 ) k ) < 1 , (3.6)
由(3.5)可得 u ( k ) = M − 1 u ( k − 1 ) = ( M − 1 ) k u ( 0 ) ,所以
ε ( k ) = ( M − 1 ) k ε ( 0 ) ,
其中 ε ( k ) = u j n − u ( x j , t n ) ,
为验证半线性抛物问题的有限体积元方法的有效性,本节给出下面例子。
例 求解如下半线性抛物问题
{ u t − u x x + u 3 = g ( x , t ) , ( x , t ) ∈ ( 0 , 1 ) × [ 0 , T ] , u ( 0 , t ) = u ( 1 , t ) = 0 , t ∈ [ 0 , T ] , u ( x , 0 ) = x ( 1 − x ) , x ∈ [ 0 , 1 ] . (4.1)
这里取 g ( x , t ) = ( x 2 − x + 2 ) e − t + x 3 ( 1 − x ) 3 e − 3 t ,则其精确解为 u ( x , t ) = x ( 1 − x ) e − t 。
分别采用线性有限体积元半离散,时间向后差分全离散格式进行数值计算。依次取均匀空间步长h和均匀时间步长 Δ t 。表1给出了当 t = 1 时,网格比为 Δ t / h 3 = 1 / 10 的节点在N = 10,20,40,80的绝对误差值。其中u表示精确解, E H 1 至
u | 0.0331 | 0.0589 | 0.0773 | 0.0883 | 0.0920 | 0.0883 | 0.0773 | 0.0589 | 0.0331 |
---|---|---|---|---|---|---|---|---|---|
EH1 (*e−4) | 0.1355 | 0.2236 | 0.2766 | 0.3042 | 0.3127 | 0.3042 | 0.2766 | 0.2236 | 0.1355 |
E2 (*e−5) | 0.3385 | 0.5585 | 0.6908 | 0.7598 | 0.7810 | 0.7598 | 0.6908 | 0.5585 | 0.3385 |
E3 (*e−5) | 0.0846 | 0.1396 | 0.1727 | 0.1899 | 0.1952 | 0.1899 | 0.1727 | 0.1396 | 0.0846 |
E4 (*e−6) | 0.2115 | 0.3490 | 0.4316 | 0.4747 | 0.4880 | 0.4747 | 0.4316 | 0.3490 | 0.2115 |
表1. 问题(4.1)线性有限元时间向后差分在不同剖分下的绝对误差
N | 10 | 20 | 40 | 80 |
---|---|---|---|---|
h | 1 10 | 1 20 | 1 40 | |
Δ t | 1 100 | 1 400 | 1 6400 | |
e H 1 | 0.3127*e−4 | 0.7810*e−5 | 0.1952*e−5 | 0.4880*e−6 |
e H 2 | 0.2436*e−4 | 0.6084*e−5 | 0.1521*e−5 | 0.3802*e−6 |
表2. 问题(4.1)线性有限元时间向后差分在不同剖分下的绝对误差最大值和平均误差值
从表1,表2可以看出用线性有限元时间向后差分全离散格式求解半线性抛物问题是可靠的。它的精度不仅与剖分密度有关,还与时间和空间的相对密度有关,也就是说,当剖分密度越大,时间和空间的相对密度越大,则利用该方法的精度越高。
本文为国家自然科学基金项目(11571102)资助课题。
熊之光,王 易,马 娟. 半线性抛物问题高效有限体积元法The Efficient Finite Volume Element Methods for Semilinear Parabolic Equations[J]. 理论数学, 2019, 09(08): 961-968. https://doi.org/10.12677/PM.2019.98122