高级检索
王鹏飞, 李建平, 黄刚. 高阶Runge-Kutta-Li算法对二维线性平流方程的计算检验[J]. 气候与环境研究, 2019, 24(4): 417-429. DOI: 10.3878/j.issn.1006-9585.2019.18169
引用本文: 王鹏飞, 李建平, 黄刚. 高阶Runge-Kutta-Li算法对二维线性平流方程的计算检验[J]. 气候与环境研究, 2019, 24(4): 417-429. DOI: 10.3878/j.issn.1006-9585.2019.18169
WANG Pengfei, LI Jianping, and HUANG Gang. High Order Runge-Kutta-Li Scheme to Solve Two-dimensional Linear Advection Equations[J]. Climatic and Environmental Research, 2019, 24(4): 417-429. DOI: 10.3878/j.issn.1006-9585.2019.18169
Citation: WANG Pengfei, LI Jianping, and HUANG Gang. High Order Runge-Kutta-Li Scheme to Solve Two-dimensional Linear Advection Equations[J]. Climatic and Environmental Research, 2019, 24(4): 417-429. DOI: 10.3878/j.issn.1006-9585.2019.18169

高阶Runge-Kutta-Li算法对二维线性平流方程的计算检验

High Order Runge-Kutta-Li Scheme to Solve Two-dimensional Linear Advection Equations

  • 摘要: 利用高阶Li空间微分方案(Li, 2005),实现了时间积分为3~6阶Runge-Kutta-Li(RKL)格式的求解算法。二维线性平流方程的试验结果表明:在计算稳定的条件下,各阶算法的计算误差随时间的推移基本上是线性增加的。非转动背景场的平流算例中(高斯型的初值),高阶RKL算法可以取得较好的计算效果。与3、4、5、6阶RK算法配合的Li空间差分方案有效阶数可以达到5、7、9、10阶。RK 算法的阶数为5(6)阶时,总误差控制在10-7(10-8)以内。随RK阶数增加Li微分的有效阶数有增加趋势,且总误差逐渐减小。定常转速的背景场算例中(偏心的高斯型初值),当RK阶数为3时,最优空间差分阶数为10;相应的阶数为4、5、6时对应的空间最优阶为16,22,22,总计算误差可以控制在10-15~10-16。随着精度的提高,误差的绝对值减小很迅速,说明算法是非常有效的。对于圆锥型初值(定常转速的背景场),4、5、6阶RK算法和3阶算法的效果差不多。高阶算法对此类具有导数不连续点的算例,效果不如高斯初始场好,结果不能保持正定,有些地方误差出现下冲和上翘。随着空间差分精度的提高,非正定的解数量和数值减小,误差的绝对值减小,说明了算法在一定程度上是有效的,但并不适合追求极高的算法阶数。这与谱方法中的导数不连续问题有些相似,误差的产生主要源于导数的不连续性,差分类方法仅能获得与导数连续性阶数相当的算法精度。各种算例中,采用恰当的边界条件是必要的,例如旋转背景场算例,比较适合使用无穷远边界条件,否则会出现计算不稳定或无法将计算误差控制到较小的范围内。

     

    Abstract: In this study, aiming to take full advantages of Li’s high-order spatial differential method (Li, 2005), we implement the hybrid Runge-Kutta-Li (RKL) scheme to solve a two-dimensional (2D) linear advection equation. The results indicate that the computation error increased linearly with time. The experiments with a no-rotate background field of the Gaussian initial values by RKL scheme could obtain a precise result. The effective spatial orders were 5, 7, 9, and 10, corresponding to temporal orders of 3, 4, 5, and 6, respectively. The fifth- (sixth-) order Runge-Kutta (RK) integration scheme with the ninth- (tenth-) order Li’s difference scheme in spatial direction controlled the error within 10-7(10-8). The effective order of Li’s scheme (Li, 2005) tended to increase with the increase in the RK order, and the total error gradually decreased.Another rotated background field integrated from an eccentric Gaussian-type initial featured similar results. The effective spatial order was 10 when a third-order RK scheme was applied, and they increased to 16, 22, and 22 when the order of RK scheme changed to 4, 5, and 6, respectively. The computation error could be controlled within 10-15-10-16, and the peak of Gaussian initial values were well maintained. The error decreased sharply while the order of RKL scheme increased, which indicates that the RKL is very effective to deal with such problem. The experiments of RKL scheme to solve a cone initial case (with rotated background filed) indicate that the fourth, fifth, and sixth RK integration obtained almost the same precision result as the third-order RK scheme. The high-order scheme was not as effective as it was for the Gaussian initial condition when it addressed a problem that had discontinuous derivates. The computed solution was not positive in the whole grids, and in some places, the error was downward, while it was upward in some other places. The increase of spatial order could make the error smaller, but the error descent was not very sharp. This result suggests that the high-order spatial difference scheme has some benefits, but we should not expect that an ultra-high-order scheme will lead to an ultra-high precise result. This phenomenon reveals that the high-order scheme is limited by the continuous property of the initial condition, and as a result, the error order is directly proportional to the order of derivates of the initial condition. The proper boundary conditions are important for the above computation cases when the RKL scheme is applied. For instance, in the computation of the rotated background cases, the value outside the grid box tends to 0 at , which is a feasible boundary condition. An improper boundary condition may cause the computation to be unstable, or the error cannot be controlled to an acceptable range.

     

/

返回文章
返回