当求解对流占优扩散问题时,采用传统的二次拉格朗日插值的特征差分法,会出现数值振荡,且不满足质量守恒。结合算子分裂,本质非震荡和MMOCAA质量校正,提出了求解对流扩散方程的非震荡的守恒特征差分法。首先采用局部一维(LOD)法把一个二维偏微分方程分裂成x方向和y方向的两个一维的偏微分方程组;其次在每个方向上利用二阶本质非振荡和MMOCAA格式进行数值计算。数值实验验证格式满足非震荡和质量守恒,能够有效地解决大型对流占优扩散问题。 The characteristic difference method based on quadratic Lagrange interpolation is used to solve the convection dominated diffusion problem, but there will be a larger numerical oscillation and not conservative. Combining the operator splitting, non-oscillatory and mass correction methods, the non-oscillation conservative characteristic difference methods are proposed to solve the convection diffusion equations. Firstly, the partial differential equations in two dimensions are splitting into two one-dimensional partial differential equations along the x-direction and the y-direction, respectively. Secondly, the second-order essentially non-oscillation and MMOCAA schemes are presented to compute the equations. By the numerical results, it shows that the scheme not only meets non-oscillatory and mass conservation, but also effectively solves the convection-dominant diffusion problems.
王钱钱,李琳,赵玉庆,周忠国*
山东农业大学信息科学与工程学院应用数学系,山东 泰安
收稿日期:2018年10月28日;录用日期:2018年11月19日;发布日期:2018年11月26日
当求解对流占优扩散问题时,采用传统的二次拉格朗日插值的特征差分法,会出现数值振荡,且不满足质量守恒。结合算子分裂,本质非震荡和MMOCAA质量校正,提出了求解对流扩散方程的非震荡的守恒特征差分法。首先采用局部一维(LOD)法把一个二维偏微分方程分裂成x方向和y方向的两个一维的偏微分方程组;其次在每个方向上利用二阶本质非振荡和MMOCAA格式进行数值计算。数值实验验证格式满足非震荡和质量守恒,能够有效地解决大型对流占优扩散问题。
关键词 :对流扩散方程,算子分裂,特征差分法,本质非振荡插值,MMOCAA格式
Copyright © 2018 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
对流扩散方程 [
考虑到实际研究问题的规模大,计算时间长和计算存储量大的问题,算子分裂和区域分解算法 [
结合算子分裂,二阶本质非震荡和质量校正法,本文提出了求解对流扩散方程的守恒特征法。在每个时间步,算法分三步,第一步,利用LOD算子分裂将方程分解成沿x方向和y方向的两个一维的偏微分方程组。第二步,在每个方向上,结合二阶本质非振荡和特征差分法,构造特征差分法。第三步,引入保守的MMOCAA格式,提出本质非振荡守恒特征差分格式。最后,通过数值实验验证格式质量守恒。
对于伴有物质输运、气溶胶运动和分子扩散的物理过程以及粘性流体的流动等流体运动现象,都可用如下的数学模型表述。
{ ∂ c ∂ t + ∇ ( u c − D ∇ c ) = f , ( x , y ) ∈ Ω , t ∈ [ 0 , T ] , c ( x , y , t ) = 0 , ( x , y ) ∈ ∂ Ω , t ∈ [ 0 , T ] , c 0 ( x , y ) = c 0 , ( x , y ) ∈ Ω . (2.1)
其中有限区域 c = c ( x , y , t ) 是流体的浓度, ∂ Ω 为区域的边界,其中D, u 分别表示扩散系数和速度场,不失一般性,假设它们均是常数,即 u = ( u 1 , u 2 ) , D = ( D 1 , D 2 ) 。
利用LOD算子分裂,将对流扩散方程分别沿x方向和y方向进行分解,得到如下的方程组:
{ ∂ c ∂ t + ∂ ∂ x ( u 1 c − D 1 ∂ c ∂ x ) = f ∂ c ∂ t + ∂ ∂ y ( u 2 c − D 2 ∂ c ∂ y ) = 0 (2.2)
分裂后的两个一维偏微分方程,若利用时间一阶格式和空间二阶修正迎风格式离散,截断误差可以达到 O ( h 2 + Δ t ) ,且每个方向的方程可用追赶法求解。考虑到二阶修正迎风格式尽管可避免数值震荡,但在一定程度上带来了数值弥散,尤其在高对流占优扩散问题时,弥散现象变得更加明显。接下来,将结合特征差分和二阶本质非震荡法,解决对流扩散问题。
为了有效解决对流占优问题,第一步,分别对每个方向的方程采用特征线法处理,构造本质非振荡特征差分格式;第二步,加入质量校正项,引入保守的MMOCAA格式,得到校正后的本质非振荡守恒特征差分格式,并表示为矩阵形式;第三步,对于方程右端的未知项用本质非振荡插值求解,使其转化为已知项;第四步,利用追赶法 [
Step 1:沿x方向
∂ c ∂ t + ∂ ∂ x ( u 1 c − D 1 ∂ c ∂ x ) = f , (3.1)
采用特征线法
∂ c ∂ τ 1 = ∂ c ∂ t cos α + ∂ c ∂ x cos β . (3.2)
τ 1 为x方向特征线, β 和 α 分别为特征线与x和t方向的夹角,则
{ cos α = 1 1 + u 1 2 cos β = u 1 1 + u 1 2
代入(3.2)得
∂ c ∂ t 1 1 + u 1 2 + ∂ c ∂ x u 1 1 + u 1 2 = ∂ c ∂ τ 1 .
方程两边同乘 1 + u 1 2 ,代入(3.2)式,得
∂ c ∂ τ 1 1 + u 1 2 − D 1 ∂ 2 c ∂ x 2 = f ,
离散上式,得
C i j n − 1 2 − C ¯ i j n − 1 Δ t − D 1 C i + 1 , j n − 1 2 − 2 C i j n − 1 2 + C i − 1 , j n − 1 2 h 2 = f i j . (3.3)
{ C i j } 表示 { c i j } 的数值解, { C ¯ i j } 将在后面给出。
Step 2:沿y方向
∂ c ∂ t + ∂ ∂ y ( u 2 c − D 2 ∂ c ∂ y ) = 0 ,
令
∂ c ∂ τ 2 = ∂ c ∂ t cos ϕ + ∂ c ∂ y cos φ ,
其中 τ 2 是y方向的特征线, φ , ϕ 分别为特征线与y,t方向夹角,离散化,得
C i j n − C ¯ i j n − 1 2 Δ t − D 2 C i , j + 1 n − 2 C i j n + C i , j − 1 n h 2 = 0 ,
其中, { C i j } 表示 { c i j } 的数值解, { C ¯ i j n − 1 } 将在后面给出。而此时数值格式质量不守恒。
为解决格式质量不守恒问题,结合MMOCAA格式,现提出守恒的特征差分格式。
(1-a) 沿x方向,令
C ¯ i j n − 1 = I 1 C i j n − 1 ( x ¯ i ) , λ 1 = − u 1 Δ t h , x ¯ i = x i − u 1 Δ t .
不失一般性,我们假定 Δ t = O ( h 2 ) ,即点 x ¯ i 落在 x i − 1 和 x i + 1 之间。
(1-b) 引入三个质量通量: t = t n − 1 时的初始质量通量
R n − 1 = ∑ i = 1 N ∑ j = 1 N C i j n − 1 h 2 .
中间质量通量
R ¯ n − 1 = ∑ i = 1 N ∑ j = 1 N C ¯ i j n − 1 h 2 .
改进的质量通量
R ˜ n − 1 = ∑ i = 1 N ∑ j = 1 N C ˜ i j n − 1 h 2 .
其中,
C ˜ i j n − 1 = { max ( I 1 C i j n − 1 ( x ˜ i + ) , I 1 C i j n − 1 ( x ˜ i − ) ) , R n − 1 > R ¯ n − 1 , min ( I 1 C i j n − 1 ( x ˜ i + ) , I 1 C i j n − 1 ( x ˜ i − ) ) , R n − 1 ≤ R ¯ n − 1 ,
x ˜ i + = x ¯ i + δ 1 , x ˜ i − = x ¯ i − δ 1 , δ 1 = r 1 u 1 ( Δ t ) 2 , r 1 = D 1 Δ t h 2 且 0 < r 1 < 2 。
(1-c) 质量扰动参数 θ 1 的确定
如果 R ¯ n − 1 = R ˜ n − 1 ≠ R n − 1 ,在这个时间步长内,误差是允许接收的。当 R ¯ n − 1 ≠ R ˜ n − 1 时, θ 1 被确定为
R n − 1 = θ 1 R ¯ n − 1 + ( 1 − θ 1 ) R ˜ n − 1 .
(1-d) 定义 { C ^ i j n − 1 }
C ^ i j n − 1 = θ 1 C ¯ i j n − 1 + ( 1 − θ 1 ) C ˜ i j n − 1 .
它是容易验证格式沿x方向满足质量守恒
(1-e) 计算 { C i j n − 1 2 } 。
加入质量校正后,(3.3)式变成
C i j n − 1 2 − C ^ i j n − 1 Δ t − D 1 C i + 1 , j n − 1 2 − 2 C i j n − 1 2 + C i − 1 , j n − 1 2 h 2 = f i j . (3.4)
两边同乘 Δ t ,令 r 1 = D 1 Δ t h 2 则
C i j n − 1 2 − C ^ i j n − 1 − r 1 ( C i + 1 , j n − 1 2 − 2 C i j n − 1 2 + C i − 1 , j n − 1 2 ) = f i j Δ t .
化简得
− r 1 C i + 1 , j n − 1 2 + ( 2 r 1 + 1 ) C i j n − 1 2 − r 1 C i − 1 , j n − 1 2 = f i j Δ t + C ^ i j n − 1 . (3.5)
( 2 r 1 + 1 − r 1 − r 1 2 r 1 + 1 − r 1 ⋱ ⋱ ⋱ ⋱ ⋱ − r 1 − r 1 2 r 1 + 1 ) ( c 1 c 2 ⋮ c N − 1 c N ) = ( F 1 F 2 ⋮ F N − 1 F N )
记为
A C = F
其中系数矩
A = ( 2 r 1 + 1 − r 1 − r 1 2 r 1 + 1 − r 1 ⋱ ⋱ ⋱ ⋱ ⋱ − r 1 − r 1 2 r 1 + 1 )
因为 2 r 1 + 1 > | r 1 | + | r 1 | ,所以系数矩阵A是一个严格对角占优的三对角矩阵。
(2-a) 沿y方向,
C ¯ i j n − 1 2 = I 2 C i j n − 1 2 ( y ¯ j ) , λ 2 = − u 2 Δ t h ,
假定 Δ t = O ( h 2 ) , y ¯ j ∈ [ y j − 1 , y j + 1 ] 。
(2-b) 质量通量。 t = t n − 1 2 时的质量通量
R n − 1 2 = ∑ i = 1 N ∑ j = 1 N C i j n − 1 2 h 2 .
中间质量通量
R ¯ n − 1 2 = ∑ i = 1 N ∑ j = 1 N C ¯ i j n − 1 2 h 2 .
改进的质量通量
R ˜ n − 1 2 = ∑ i = 1 N ∑ j = 1 N C ˜ i j n − 1 2 h 2 .
其中,
C ˜ i j n − 1 2 = { max ( I 2 C i j n − 1 2 ( y ˜ j + ) , I 2 C i j n − 1 2 ( y ˜ j − ) ) , R n − 1 2 > R ¯ n − 1 2 , min ( I 2 C i j n − 1 2 ( y ˜ j + ) , I 2 C i j n − 1 2 ( y ˜ j − ) ) , R n − 1 2 ≤ R ¯ n − 1 2 ,
y ˜ j + = y ¯ j + η 2 , y ˜ j − = y ¯ j − η 2 其中, η 2 = r 2 u 2 ( Δ t ) 2 。
(2-c) θ 2 的确定
如果 R ¯ n − 1 2 = R ˜ n − 1 2 ≠ R n − 1 2 ,误差可以接收。
当 R ¯ n − 1 2 ≠ R ˜ n − 1 2 时, θ 2 被确定为
R n − 1 2 = θ 2 R ¯ n − 1 2 + ( 1 − θ 2 ) R ˜ n − 1 2 .
(2-d) 计算 { C i j n } 。定义 { C ^ i j n − 1 2 } 满足
C ^ i j n − 1 2 = θ 2 C ¯ i j n − 1 2 + ( 1 − θ 2 ) C ˜ i j n − 1 2 .
(3.4)式加入质量校正后,得
C i j n − C ^ i j n − 1 2 Δ t − D 2 C i , j + 1 n − 2 C i j n + C i , j − 1 n h 2 = 0 , (3.6)
令 r 2 = D 2 Δ t h 2 ,得
− r 2 C i j n + ( 2 r 2 + 1 ) C i j n − r 2 C i , j − 1 n = C ^ i j n − 1 2 . (3.7)
表示成矩阵形式,即
B C = F
由于A,B均为严格对角占优三对角矩阵,故采用追赶法求解。
本部分给出 { C ¯ i j n − 1 , C ˜ i j n − 1 , C ¯ i j n − 1 2 , C ˜ i j n − 1 2 } 的计算方法。为了避免数值震荡,欲通过比较两个二阶差商的绝对值,选择绝对值相对较小的方法给出(文献 [
1) 当 u 1 为正数时,
(1-1) 当 | C i − 2 , j n − 1 − 2 C i − 1 , j n − 1 + C i j n − 1 | > | C i + 1 , j n − 1 − 2 C i j n − 1 + C i − 1 , j n − 1 | 时,利用牛顿插值得
C ¯ i j n − 1 = C i j n − 1 + C i j n − 1 − C i − 1 , j n − 1 h ( x ¯ i − x i ) + C i + 1 , j n − 1 − 2 C i j n − 1 + C i − 1 , j n − 1 2 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) = 1 2 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) C i + 1 , j n − 1 + [ 1 + 1 h ( x ¯ i − x i ) − 1 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) ] C i j n − 1 + [ − 1 h ( x ¯ i − x i ) + 1 2 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) ] C i − 1 , j n − 1 = ( h − u 1 Δ t ) ( − u 1 Δ t ) 2 h 2 C i + 1 , j n − 1 + ( 1 − 1 h u 1 Δ t − 1 h 2 ( h − u 1 Δ t ) ( − u 1 Δ t ) ) C i j n − 1 + ( 1 h u 1 Δ t + ( h − u 1 Δ t ) ( − u 1 Δ t ) 2 h 2 ) C i − 1 , j n − 1 (3.8)
同理
C ˜ i j n − 1 = C i j n − 1 + C i j n − 1 − C i − 1 , j n − 1 h ( x ˜ i − x i ) + C i + 1 , j n − 1 − 2 C i j n − 1 + C i − 1 , j n − 1 2 h 2 ( x ˜ i − x i − 1 ) ( x ˜ i − x i ) .
令
k 1 = 1 h 2 ( h − u 1 Δ t + δ 1 ) ( − u 1 Δ t + δ 1 ) , k 2 = 1 h ( − u 1 Δ t + δ 1 ) , k 3 = 1 h 2 ( h − u 1 Δ t − δ 1 ) ( − u 1 Δ t − δ 1 ) , k 4 = 1 h ( − u 1 Δ t − δ 1 ) .
由上式计算可得,当 x ˜ i + = x ¯ i + δ 1 时,
C ˜ i j n − 1 , + = k 1 2 C i + 1 , j n − 1 + ( 1 + k 2 − k 1 ) C i j n − 1 + ( − k 2 + k 1 2 ) C i − 1 , j n − 1 .
当 x ˜ i − = x ¯ i − δ 1 时,
C ˜ i j n − 1 , − = k 3 2 C i + 1 , j n − 1 + ( 1 + k 4 − k 3 ) C i j n − 1 + ( − k 4 + k 3 2 ) C i − 1 , j n − 1 .
当 R n − 1 > R ¯ n − 1 时, C ˜ i j n − 1 = max { C ˜ i j n − 1 , + , C ˜ i j n − 1 , − } , R n − 1 ≤ R ¯ n − 1 时, C ˜ i j n − 1 = min { C ˜ i j n − 1 , + , C ˜ i j n − 1 , − } 。
(1-2) 当 | C i − 2 , j n − 1 − 2 C i − 1 , j n − 1 + C i j n − 1 | ≤ | C i + 1 , j n − 1 − 2 C i j n − 1 + C i − 1 , j n − 1 | 时,得
C ¯ i j n − 1 = C i j n − 1 + C i j n − 1 − C i − 1 , j n − 1 h ( x ¯ i − x i ) + C i j n − 1 − 2 C i − 1 , j n − 1 + C i − 2 , j n − 1 2 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) = [ 1 + 1 h ( x ¯ i − x i ) + 1 2 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) ] C i j n − 1 + 1 2 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) C i − 2 , j n − 1 − [ 1 h ( x ¯ i − x i ) + 1 h 2 ( x ¯ i − x i − 1 ) ( x ¯ i − x i ) ] C i − 1 , j n − 1 = ( 1 − 1 h u 1 Δ t + 1 2 h 2 ( h − u 1 Δ t ) ( − u 1 Δ t ) ) C i j n − 1 + ( h − u 1 Δ t ) ( − u 1 Δ t ) 2 h 2 C i − 2 , j n − 1 − ( − 1 h u 1 Δ t + ( h − u 1 Δ t ) ( − u 1 Δ t ) h 2 ) C i − 1 , j n − 1 (3.9)
C ˜ i j n − 1 = C i j n − 1 + C i j n − 1 − C i − 1 , j n − 1 h ( x ˜ i − x i ) + C i j n − 1 − 2 C i − 1 , j n − 1 + C i − 2 , j n − 1 2 h 2 ( x ˜ i − x i − 1 ) ( x ˜ i − x i )
由上式计算可得,当 x ˜ i + = x ¯ i + δ 1 时,
C ˜ i j n − 1 , + = ( 1 + k 2 + k 1 2 ) C i j n − 1 + k 1 2 C i − 2 , j n − 1 − ( k 1 + k 2 ) C i − 1 , j n − 1 .
当 x ˜ i − = x ¯ i − δ 1 时,
C ˜ i j n − 1 , − = ( 1 + k 4 + k 3 2 ) C i j n − 1 + k 3 2 C i − 2 , j n − 1 − ( k 3 + k 4 ) C i − 1 , j n − 1 .
当 R n − 1 > R ¯ n − 1 时, C ˜ i j n − 1 = max ( C ˜ i j n − 1 , + , C ˜ i j n − 1 , − )
当 R n − 1 ≤ R ¯ n − 1 时, C ˜ i j n − 1 = min ( C ˜ i j n − 1 , + , C ˜ i j n − 1 , − )
2) 当 u 1 为负数时,利用牛顿插值, p 1 = 1 h 2 ( − h − u 1 Δ t + δ 1 ) ( − u 1 Δ t + δ 1 ) ,
p 2 = 1 h ( − u 1 Δ t + δ 1 ) , p 3 = 1 h 2 ( − h − u 1 Δ t − δ 1 ) ( − u 1 Δ t − δ 1 ) , p 4 = 1 h ( − u 1 Δ t − δ 1 )
(2-1) | C i − 1 , j n − 1 − 2 C i j n − 1 + C i + 1 , j n − 1 | > | C i j n − 1 − 2 C i + 1 , j n − 1 + C i + 2 , j n − 1 | 时,得
C ¯ i j n − 1 = C i j n − 1 + C i j n − 1 − C i + 1 , j n − 1 − h ( x ¯ i − x i ) + C i j n − 1 − 2 C i + 1 , j n − 1 + C i + 2 , j n − 1 2 h 2 ( x ¯ i − x i ) ( x ¯ i − x i + 1 ) = ( − h − u 1 Δ t ) ( − u 1 Δ t ) 2 h 2 C i + 2 , j n − 1 + ( 1 + 1 h u 1 Δ t + 1 2 h 2 ( − h − u 1 Δ t ) ( − u 1 Δ t ) ) C i j n − 1 + ( − 1 h u 1 Δ t − ( − h − u 1 Δ t ) ( − u 1 Δ t ) h 2 ) C i + 1 , j n − 1
C ¯ i j n − 1 = C i j n − 1 + C i j n − 1 − C i + 1 , j n − 1 − h ( x ˜ i − x i ) + C i j n − 1 − 2 C i + 1 , j n − 1 + C i + 2 , j n − 1 2 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) = 1 2 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) C i + 2 , j n − 1 + [ 1 − 1 h ( x ˜ i − x i ) + 1 2 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) ] C i j n − 1 + [ 1 h ( x ˜ i − x i ) − 1 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) ] C i + 1 , j n − 1
由上式计算可得,当 x ˜ i + = x ¯ i + δ 1 时,
C ˜ i j n − 1 , + = ( 1 + p 2 + p 1 2 ) C i j n − 1 + p 1 2 C i + 2 , j n − 1 + ( p 2 − p 1 ) C i + 1 , j n − 1 .
当 x ˜ i − = x ¯ i − δ 1 时,
C ˜ i j n − 1 , − = ( 1 + p 4 + p 3 2 ) C i j n − 1 + p 3 2 C i + 2 , j n − 1 + ( p 4 − p 3 ) C i + 1 , j n − 1 .
当 R n − 1 > R ¯ n − 1 时, C ˜ i j n − 1 = max { C ˜ i j n − 1 , + , C ˜ i j n − 1 , − } , R n − 1 ≤ R ¯ n − 1 时, C ˜ i j n − 1 = min { C ˜ i j n − 1 , + , C ˜ i j n − 1 , − }
(2-2) | C i − 1 , j n − 1 − 2 C i j n − 1 + C i + 1 , j n − 1 | ≤ | C i j n − 1 − 2 C i + 1 , j n − 1 + C i + 2 , j n − 1 | 时,得
C ¯ i j n − 1 = C i j n − 1 + C i j n − 1 − C i + 1 , j n − 1 − h ( x ¯ i − x i ) + C i − 1 j n − 1 − 2 C i , j n − 1 + C i + 1 , j n − 1 2 h 2 ( x ¯ i − x i ) ( x ¯ i − x i + 1 ) = ( 1 + 1 h u 1 Δ t + 1 h 2 ( − h − u 1 Δ t ) ( − u 1 Δ t ) ) C i j n − 1 + ( − h − u 1 Δ t ) ( − u 1 Δ t ) 2 h 2 C i − 1 , j n − 1 + ( − 1 h u 1 Δ t + ( − h − u 1 Δ t ) ( − u 1 Δ t ) 2 h 2 ) C i + 1 , j n − 1
C ˜ i j n − 1 = C i j n − 1 + C i j n − 1 − C i + 1 , j n − 1 − h ( x ˜ i − x i ) + C i − 1 , j n − 1 − 2 C i j n − 1 + C i + 1 , j n − 1 2 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) = [ 1 − 1 h ( x ˜ i − x i ) + 1 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) ] C i j n − 1 + 1 2 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) C i − 1 , j n − 1 + [ 1 h ( x ˜ i − x i ) + 1 2 h 2 ( x ˜ i − x i ) ( x ˜ i − x i + 1 ) ] C i + 1 , j n − 1
计算可得,当 x ˜ i + = x ¯ i + δ 1 时,
C ˜ i j n − 1 , + = ( 1 − p 2 + p 1 ) C i j n − 1 + p 1 2 C i − 1 , j n − 1 + ( p 2 + p 1 2 ) C i + 1 , j n − 1 .
当 x ˜ i − = x ¯ i − δ 1 时,
C ˜ i j n − 1 , − = ( 1 − p 4 + p 3 ) C i j n − 1 + p 3 2 C i − 1 , j n − 1 + ( p 4 + p 3 2 ) C i + 1 , j n − 1 .
当 R n − 1 > R ¯ n − 1 时, C ˜ i j n − 1 = max { C ˜ i j n − 1 , + , C ˜ i j n − 1 , − } , R n − 1 ≤ R ¯ n − 1 时, C ˜ i j n − 1 = min { C ˜ i j n − 1 , + , C ˜ i j n − 1 , − } 。
同理,可得沿y方向。
方程(1)中的速度场系数 u 1 = u 2 = 0.5 ,扩散系数 d 1 = d 2 = 0.02 ,有限区域 Ω = [ 0 , 5 ] × [ 0 , 5 ] ,时间剖分 Δ t = 1 100 和空间剖分 h = 1 10 。假定有初始时刻浓度只在 ( 5 3 , 5 3 ) , ( 5 3 , 10 3 ) , ( 10 3 , 5 3 ) 和 ( 10 3 , 10 3 ) 位置为1,其他位置浓度值为0。假定右端项 f = 0 。
图1~图6展示了浓度在不同时刻的表面图和等值线图,由于对流项的存在,浓度会随着时间,沿着对角线方向行进,同时,由于扩散项的存在,浓度会不断的减小,这与物理现象相吻合。因此,我们的格式可很好地描述对流扩散问题,而且我们空间步长比较大时( h = 0.1 ),没有出现数值震荡问题。
验证格式的质量误差,令时间剖分 Δ t = 0.01 和空间步长分别取 h = 0.1 , 0.05 , 0.02 , 0.01 。并与文献 [
图1. T = 0.0 s时刻浓度表面图和等值线图
图2. T = 0.1 s时刻浓度表面图和等值线图
图3. T = 0.2 s时刻浓度表面图和等值线图
图4. T = 0.5 s时刻浓度表面图和等值线图
图5. T = 0.8 s时刻浓度表面图和等值线图
图6. T = 1.0 s时刻浓度表面图和等值线图
h t | 0.1 | 0.05 | 0.02 | 0.01 | |
---|---|---|---|---|---|
t = 0.1 | 文献 [ | 0.0183 | 0.0046 | 7.1782E−04 | 1.8503E−04 |
本文 | 2.9116E−14 | 1.5318E−15 | 1.9516E−17 | 1.8865E−17 | |
t = 0.2 | 文献 [ | 0.024 | 0.0046 | 7.1997E−04 | 1.8516E−04 |
本文 | 5.9057E−14 | 1.6098E−15 | 7.1557E−17 | 3.8272E−17 | |
t = 0.5 | 文献 [ | 0.0204 | 0.0047 | 7.2160E−04 | 1.8523E−04 |
本文 | 1.5028E−11 | 1.8180E−15 | 2.5370E−17 | 2.9545E−17 | |
t = 1 | 文献 [ | 0.0206 | 0.0047 | 7.2228E−04 | 1.8523E−04 |
本文 | 2.1037E−07 | 1.4909E−09 | 2.8009E−11 | 5.2204E−12 |
表1. 不同时刻的质量误差
由表1中数据,可知在加入质量校正前,格式质量之差数值比较大,当加入质量校正后,格式质量之差可以达到 10 − 11 ,可以认为是质量守恒的。
国家自然科学基金资助项目(61703250, 61503227),山东自然科学基金资助项目(ZR2017BA029, ZR2017BF002)。
王钱钱,李 琳,赵玉庆,周忠国. 对流扩散方程的非振荡守恒特征差分法Non Oscillation Conservative Characteristic Difference Method for Solving Convection Diffusion Equations[J]. 应用数学进展, 2018, 07(11): 1446-1457. https://doi.org/10.12677/AAM.2018.711169