本文给出数值求解非线性色散偏微分方程K(n, n)的一种方法。空间离散基于局部间断Petrov-Galerkin方法,时间离散基于三阶TVD Runge-Kutta方法。通过数值模拟试验证明该方法达到了最优收敛阶,能够较好地模拟紧孤子传播和碰撞等复杂波的相互作用。 In this paper, a numerical scheme is presented to solve the nonlinear dispersive K(n, n) equations. Spatial discretization is based on the local discontinuous Petrov-Galerkin method and temporal discretization is based on the third order accurate TVD Runge-Kutta scheme. Testing cases show that the present scheme achieves the optimal convergence order and complex wave interaction can be simulated well.
本文给出数值求解非线性色散偏微分方程K(n, n)的一种方法。空间离散基于局部间断Petrov-Galerkin方法,时间离散基于三阶TVD Runge-Kutta方法。通过数值模拟试验证明该方法达到了最优收敛阶,能够较好地模拟紧孤子传播和碰撞等复杂波的相互作用。
非线性色散偏微分方程,局部间断Petrov-Galerkin方法,紧孤子
Shengjie Su, Wei Gao
School of Mathematical Sciences, Inner Mongolia University, Hohhot Inner Mongolia
Received: Nov. 15th, 2020; accepted: Nov. 25th, 2020; published: Dec. 2nd, 2020
In this paper, a numerical scheme is presented to solve the nonlinear dispersive K(n, n) equations. Spatial discretization is based on the local discontinuous Petrov-Galerkin method and temporal discretization is based on the third order accurate TVD Runge-Kutta scheme. Testing cases show that the present scheme achieves the optimal convergence order and complex wave interaction can be simulated well.
Keywords:Nonlinear Dispersive Equations, Local Discontinuous Petrov-Galerkin Method, Compacton
Copyright © 2020 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
非线性色散方程K(m,n)
u t + ( u m ) x + ( u n ) x x x = 0 , m ≥ 0 , 1 < n ≤ 3
此方程最早由Rosenau等 [
紧孤子的常见数值模拟方法之一为谱方法 [
基于间断Galerkin方法 [
非线性色散方程
{ u t + ( u n ) x + ( u n ) x x x = 0 , a ≤ x ≤ b , 0 < t ≤ T u ( x , 0 ) = u 0 ( x ) (1)
通过引入辅助变量可将方程(1)改写成一阶方程组
{ u t + ( v + p ) x = 0 p − q x = 0 q − v x = 0 v − u n = 0 a ≤ x ≤ b , 0 < t ≤ T (2)
首先对求解区域 [ a , b ] 进行剖分, a = x − 1 / 2 < x 1 / 2 < ⋯ < x N − 1 / 2 = b , 其中 x j − 1 / 2 ( 0 ≤ j ≤ N ) 为求解区间的剖分节点,并定义控制单元 I j = ( x j − 1 / 2 , x j + 1 / 2 ) ,且
x j = ( x j − 1 / 2 + x j + 1 / 2 ) / 2 , Δ x j = x j + 1 / 2 − x j − 1 / 2 , f j − 1 / 2 + = lim x → x j − 1 / 2 + f ( x ) , f j − 1/2 − = lim x → x j − 1 / 2 − f ( x ) , h = max 0 ≤ j ≤ N Δ x j
选取控制单元
I j 1 = ( x j − 1 / 2 , x j − 1 / 2 + 1 4 Δ x ) , I j 2 = ( x j − 1 / 2 + 1 4 Δ x , x j + 1 / 2 − 1 4 Δ x ) , I j 3 = ( x j + 1 / 2 − 1 4 Δ x , x j + 1 / 2 )
I j 上的试探函数空间 V h 相应基函数为
φ j ( 0 ) ( ξ ) = 2 ξ ( ξ − 1 2 ) , φ j ( 1 ) ( ξ ) = − 4 ( ξ − 1 2 ) ( ξ + 1 2 ) , φ j ( 2 ) ( ξ ) = 2 ξ ( ξ + 1 2 )
因此单元形状函数可以表示为 u h ( x , t ) = ∑ l = 0 2 u j l φ j ( l ) ( ξ ) ,其中 ξ = x − x j h 。
对于LDPG而言,控制单元 I j 1 , I j 2 , I j 3 上检验函数是一个分段常数函数
ψ j l = { 1 , ∀ x ∈ I j l 0 , otherwise , l = 1 , 2 , 3
将方程组(2)两边同时乘以检验函数 ψ j l ,并在 I j l 上积分, l = 1 , 2 , 3 ,可以得到
∫ I j l u t ψ j l d x + ∫ I j l ( v + p ) x ψ j l d x = 0 (3)
∫ I j l p ψ j l d x + ∫ I j l q x ψ j l d x = 0 (4)
∫ I j l q ψ j l d x + ∫ I j l v x ψ j l d x = 0 (5)
检验函数用相应基函数代替, v , p , q , u 用 v h , p h , q h , u h ∈ V h 代替得到
∫ I j l ( u h ) t d x + ∫ I j l ( v h + p h ) x d x = 0 (6)
∫ I j l p h d x + ∫ I j l ( q h ) x d x = 0 (7)
∫ I j l p h d x + ∫ I j l ( q h ) x d x = 0 (8)
利用积分公式得
( d u j 0 d t d u j 1 d t d u j 2 d t ) = A − 1 ( − [ ( v h + p h ) j − 1 / 2 + 1 / 4 Δ x − ( v ˜ h + p ^ h ) j − 1 / 2 ] − [ ( v h + p h ) j + 1 / 2 − 1 / 4 Δ x − ( v h + p h ) j − 1 / 2 + 1 / 4 Δ x ] − [ ( v ˜ h + p ^ h ) j + 1 / 2 − ( v h + p h ) j − 1 / 2 + 1 / 4 Δ x ] ) (9)
( p j 0 p j 1 p j 2 ) = A − 1 ( ( q h ) j − 1 / 2 + 1 / 4 Δ x − ( q ^ h ) j − 1 / 2 ( q h ) j + 1 / 2 − 1 / 4 Δ x − ( q h ) j − 1 / 2 + 1 / 4 Δ x ( q ^ h ) j + 1 / 2 − ( q h ) j + 1 / 2 − 1 / 4 Δ x ) (10)
( q j 0 q j 1 q j 2 ) = A − 1 ( ( v h ) j − 1 / 2 + 1 / 4 Δ x − ( v ^ h ) j − 1 / 2 ( v h ) j + 1 / 2 − 1 / 4 Δ x − ( v h ) j − 1 / 2 + 1 / 4 Δ x ( v ^ h ) j + 1 / 2 − ( v h ) j + 1 / 2 − 1 / 4 Δ x ) (11)
其中
A = ( 1 6 5 48 − 1 48 1 48 11 24 1 48 − 1 48 5 48 − 1 6 ) , A − 1 = ( 19 3 − 5 3 1 − 1 3 7 3 − 1 3 1 − 5 3 19 3 )
空间离散完毕,可得常微分方程组
{ d u h d t = A − 1 G ( v h , p h ) p h = A − 1 G ( q h ) q h = A − 1 G ( v h )
上式中 p ^ , q ^ , v ^ 为数值流通量,在这里使用“交替型数值流通量” [
p ^ h = p h + , q ^ h = q h + , v ^ h = v h −
若n为偶数,数值流通量做如下选取
p ^ h = p h + , v ^ h = v h + q ^ h = { q h + , if ( u h + ) n − 1 + ( u h − ) n − 1 ≥ 0 q h − , otherwise
流通量 v ˜ h 为局部Lax-Friedrichs数值流通量
f ^ ( u − , u + ) = 1 2 [ f ( u − ) + f ( u + ) − α ( u + − u − ) ]
其中
α = max u ∈ Ω | f ′ ( u ) | , Ω = [ min ( u − , u + ) , max ( u − , u + ) ]
经过空间离散后的常微分方程组,利用三阶TVD Runge-Kutta方法来求解。令
d U h d t = L h ( U h , t )
其中
L h ( U h , t ) = A − 1 G ( V h , P h )
则有
{ u ( 1 ) = u n + Δ t L ( u n , t n ) u ( 2 ) = 3 4 u n + 1 4 ( u ( 1 ) + Δ t L ( u ( 1 ) , t n + Δ t ) ) u n + 1 = 1 3 + 2 3 ( u ( 2 ) + Δ t L ( u ( 2 ) , t n + Δ t ) )
u t + u x x x = 0 , 0 ≤ x ≤ 2 π , 0 < t ≤ T (12)
u ( x , 0 ) = sin ( x ) , 0 ≤ x ≤ 2 π (13)
边界条件
u ( 0 , t ) = sin ( t ) , u ( 2 π , t ) = sin ( 2 π + t )
表1. 例1分别使用 P 1 , P 2 元在t = 1时的精度及误差
Table1. L 1 , L 2 and L ∞ errors at time=1 with P 1 and P 2 for case 1
g r i d L 1 o r d e r L 2 o r d e r L ∞ o r d e r P 1 20 2.6509 × 10 − 2 1.1732 × 10 − 2 6.5971 × 10 − 3 40 6.6391 × 10 − 3 1.9975 2.9480 × 10 − 3 1.9926 1.6030 × 10 − 3 2.0405 80 1.6569 × 10 − 3 2.2024 7.3735 × 10 − 4 1.9993 3.8496 × 10 − 4 2.0580 160 4.1352 × 10 − 4 2.0025 1.8429 × 10 − 4 2.0003 9.7907 × 10 − 5 1.9752 P 2 10 4.2531 × 10 − 3 3.3619 × 10 − 3 1.2432 × 10 − 3 20 5.0078 × 10 − 4 3.0862 4.0071 × 10 − 4 3.0686 1.4864 × 10 − 4 3.0641 40 6.1521 × 10 − 5 3.0250 4.9254 × 10 − 5 3.0242 1.8913 × 10 − 5 2.9743 80 7.6752 × 10 − 6 3.0028 6.1174 × 10 − 6 3.0093 2.4109 × 10 − 6 2.9717
u t + ( u 3 ) x + ( u 3 ) x x x = 0 (14)
初始条件
u 0 = { 2 cos ( x 5 ) x ∈ [ − 2.5 π , 2.5 π ] 0 else where (15)
模拟结果如下图1,我们选取200个单元格以及 P 2 元LDPG与LDG方法进行比较。
从图像可以看出,随着时间推移,一列紧孤子从初始波形分裂出来向右移动,在初始波形的左侧出现了高频震荡,这说明使用局部间断Petrov-Galerkin方法可以同时捕捉到尖锐的界面和高频振荡,这在伪谱方法中是无法实现的,证实了LDPG的稳定性和精度。
使用初始条件
u 0 = { 3 2 cos ( x 6 ) x ∈ [ − 3 π , 3 π ] 0 else where (16)
图1. K(3, 3)方程(14)使用初值(15)在不同时刻的解
也观察到类似的振荡情况,如图2:
图2. K(3, 3)方程(14)使用初值(16)在不同时刻的解
u t + ( u 2 ) x + ( u 2 ) x x x = 0 (17)
初始条件
u 0 = { 4 3 cos 2 ( x 8 ) x ∈ [ − 4 π , 4 π ] 0 else where (18)
图3. K(3, 3)方程(14)使用初值(15)在不同时刻的解
如图3我们依旧选取200个单元格以及 P 2 元来模拟不同时刻紧孤子碰撞情况,并与LDG方法模拟情况作对比。
本文利用局部间断Petrov-Galerkin方法对非线性色散方程K(n, n)进行了数值求解,分别模拟了n为奇数和偶数两种紧孤子运动状态。根据n的奇偶性选取适当的数值流通量以得到更稳定的数值格式。数值实验证明,该方法的数值结果可以精准的描述紧孤子演化过程,对于求解更复杂的高阶方程具有较好参考意义。
内蒙古大学科研发展基金(21100-5187133);内蒙古自治区人才开发基金项目(12000-1300020240)。
苏晟洁,高 巍. 非线性色散方程的局部间断Petrov-Galerkin 方法A Local Discontinuous Petrov-Galerkin Method for Nonlinear Dispersive Equations[J]. 流体动力学, 2020, 08(04): 53-61. https://doi.org/10.12677/IJFD.2020.84006
https://doi.org/10.1016/S0375-9601(00)00577-6
https://doi.org/10.1103/PhysRevLett.70.564
https://doi.org/10.1006/jcph.1995.1161
https://doi.org/10.1016/S0378-4754(98)00132-3
https://doi.org/10.1006/jcph.2001.6803
https://doi.org/10.1023/A:1015106210404
https://doi.org/10.1137/S0036142901390378
https://doi.org/10.1016/j.jcp.2003.11.013
https://doi.org/10.1051/m2an/1991250303371
https://doi.org/10.2307/2008474
https://doi.org/10.1016/0021-9991(89)90183-6
https://doi.org/10.2307/2008501
https://doi.org/10.1006/jcph.1998.5892
https://doi.org/10.1201/9781482270211
https://doi.org/10.1080/01495728008961767
https://doi.org/10.3934/nhm.2006.1.689
https://doi.org/10.1088/1674-1056/22/5/050206