- Research
- Open Access
Numerical solution of advection–diffusion type equation by modified error correction scheme
- Soyoon Bak^{1},
- Philsu Kim^{1},
- Xiangfan Piao^{1} and
- Sunyoung Bu^{2}Email author
https://doi.org/10.1186/s13662-018-1897-z
© The Author(s) 2018
- Received: 30 November 2017
- Accepted: 19 November 2018
- Published: 23 November 2018
Abstract
In this paper, we consider a numerical solution for nonlinear advection–diffusion equation by a backward semi-Lagrangian method. The numerical method is based on the second-order backward differentiation formula for the material derivative and the fourth-order finite difference formula for the diffusion term along the characteristic curve. A modified error correction scheme is newly introduced to efficiently find the departure point of the characteristic curve. Through several numerical simulations, we demonstrate that the proposed method has second and third convergence orders in time and space, respectively, and is efficient and accurate compared to existing techniques. In addition, it is numerically shown that the proposed method has good properties in terms of energy and mass conservation.
Keywords
- Semi-Lagrangian method
- Advection–diffusion equations
- Burgers equations
1 Introduction
The nonlinear advection–diffusion type equation is one of the popular and important models describing many phenomena derived from various areas of mathematical physics and engineering fields such as gas dynamics, hydrodynamics, shock waves, heat conduction and so on. Also, the type of equation represents the Burgers equation, the heat conduction equation, the nonlinear Schrödinger equation, the Navier–Stokes equation, etc. Hence, the development of efficient and accurate algorithms for solving the equations is of great importance in the computational fluid dynamics community and has been widely studied by many researchers. To solve theses equations, there has become a great quantity of research available [1–14] in recent decades. In particular, the error correction method (ECM) [15, 16] for solving the characteristic curve in the backward semi-Lagrangian method (BSLM) [17, 18] was recently developed. This method solves a problem implicitly along the characteristic curves of fluid particles in the opposite direction with large time steps, which is the main advantage of the BSLM [17, 19]. Also, the method does not only have second and third convergence orders in time and space, respectively, but also does not have any iterative processes required to solve a nonlinear initial value problem (IVP) for departure points. To discretize the material derivative and the diffusion term along the characteristic curve in the BSLM framework, the backward difference formula (BDF2) and the fourth-order finite difference method (FDM) [20] are applied, respectively. The departure point of the characteristic curve is found by the ECM.
The aim of this article is to introduce newly a modified ECM instead of simply using the conventional ECM, motivated by the success of the ECM combined with the BSLM. To do this, we firstly present a modified Euler polygon, for the consideration of the physical domains in which the particles can move (see Sect. 3 for more information). In addition, boundary values are calculated by the same fourth-order finite difference scheme, unlike previous work that used a lower order scheme for boundary conditions. Moreover, to reduce the computational cost, the proposed scheme approximates the Jacobian value as a fixed one while maintaining the scale of the error, whereas the conventional ECM once again performs the interpolation with the derivatives of the original interpolation function. The interpolation for Jacobian in the conventional ECM required considerable computational cost since it occurs in every spatial variables at each time step. As a simple model to show this technique effectively, we apply the proposed method to the one-dimensional and the two-dimensional Burgers equations. Through several numerical simulations, it is shown that the proposed method has second temporal and third spatial convergence orders. Further, we discuss the energy and the mass conservation properties and numerically show a good performance on these properties.
The remainder of this paper is organized as follows. In Sect. 2, the BSLM based on the FDM and the BDF2 is reviewed for the Burgers equations. In Sect. 3, we introduce a modified error correction technique to solve the highly nonlinear IVP. Three test problems are numerically solved in Sect. 4 in order to demonstrate the accuracy and the efficiency of the proposed method. Finally, conclusions are given in Sect. 5.
2 Backward semi-Lagrangian method
This section aims to give brief descriptions for the BSLM based on both the FDM and the BDF2 for the one-dimensional case and the system of Burgers equations.
2.1 One-dimensional Burgers equation
For the full-discretization of (7), let \(\pi_{i}^{n+1,k}\) be an approximation of the departure position \(\pi (x_{i},t_{n+1};t_{k})\) of grid point \((t_{n+1},x_{i})\) at each time step \(t_{k}\), which are discussed in detail in Sect. 3. Because these departure points generally do not coincide with any grid points and we only know the approximate values on the grid points at \(t\leq t_{n}\), a proper interpolation method is needed. In the proposed scheme, the Hermite cubic interpolation \(I_{H}\) [23] is adopted among various interpolation schemes.
2.2 System of two-dimensional Burgers equations
3 Modified error correction method
Remark
The method discussed above for finding \(\pi_{i}^{n+1,k}\) (\(k=n,n-1\)) can be naturally extended to the case of system for the characteristic curve.
4 Numerical experiments
Example 1
Example 2
Temporal convergence rate for Example 2
h | t = 0.1 | t = 1.0 | ||||||
---|---|---|---|---|---|---|---|---|
\(\mathit {err}_{\infty }(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | \(\mathit {err}_{\infty }(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | |
ν = 0.1, \(\Delta x=\Delta y=\frac{1}{2000}\) | ||||||||
\(\frac{1}{50}\) | 3.23 × 10^{−4} | – | 2.37 × 10^{−4} | – | 5.56 × 10^{−4} | – | 5.01 × 10^{−4} | – |
\(\frac{1}{100}\) | 9.00 × 10^{−5} | 1.84 | 6.61 × 10^{−5} | 1.84 | 1.44 × 10^{−4} | 1.94 | 1.32 × 10^{−4} | 1.92 |
\(\frac{1}{200}\) | 2.38 × 10^{−5} | 1.92 | 1.74 × 10^{−5} | 1.92 | 3.68 × 10^{−5} | 1.97 | 3.39 × 10^{−5} | 1.96 |
\(\frac{1}{400}\) | 6.28 × 10^{−6} | 1.92 | 4.39 × 10^{−6} | 1.99 | 9.29 × 10^{−6} | 1.99 | 8.57 × 10^{−6} | 1.98 |
\(\frac{1}{800}\) | 1.12 × 10^{−6} | 2.49 | 1.28 × 10^{−6} | 1.78 | 2.21 × 10^{−6} | 2.07 | 2.01 × 10^{−6} | 2.09 |
ν = 0.01, \(\Delta x=\Delta y=\frac{1}{2000}\) | ||||||||
\(\frac{1}{50}\) | 5.91 × 10^{−2} | – | 3.29 × 10^{−2} | – | 3.37 × 10^{−1} | – | 7.08 × 10^{−2} | – |
\(\frac{1}{100}\) | 1.17 × 10^{−2} | 2.34 | 8.81 × 10^{−2} | 1.90 | 2.12 × 10^{−2} | 3.99 | 5.18 × 10^{−3} | 3.77 |
\(\frac{1}{200}\) | 3.16 × 10^{−3} | 1.89 | 2.68 × 10^{−3} | 1.72 | 3.81 × 10^{−3} | 2.48 | 1.08 × 10^{−3} | 2.26 |
\(\frac{1}{400}\) | 8.54 × 10^{−4} | 1.89 | 7.59 × 10^{−4} | 1.82 | 9.46 × 10^{−4} | 2.01 | 2.84 × 10^{−4} | 1.93 |
\(\frac{1}{800}\) | 2.12 × 10^{−4} | 2.01 | 1.90 × 10^{−4} | 2.00 | 2.34 × 10^{−5} | 2.02 | 7.02 × 10^{−5} | 2.01 |
Spatial convergence rate for Example 2 with fixed \(h=0.00002\)
\(M_{x}=M_{y}\) | t = 0.1 | t = 1.0 | ||||||
---|---|---|---|---|---|---|---|---|
\(\mathit {err}_{\infty }(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | \(\mathit {err}_{\infty }(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | |
ν = 0.1 | ||||||||
20 | 7.45 × 10^{−6} | – | 7.81 × 10^{−6} | – | 2.11 × 10^{−5} | – | 1.30 × 10^{−5} | – |
40 | 1.36 × 10^{−7} | 5.78 | 3.28 × 10^{−7} | 4.58 | 1.31 × 10^{−6} | 4.02 | 8.67 × 10^{−7} | 3.90 |
80 | 1.33 × 10^{−8} | 3.36 | 2.47 × 10^{−8} | 3.73 | 8.16 × 10^{−8} | 4.00 | 5.51 × 10^{−8} | 3.98 |
160 | 9.59 × 10^{−10} | 3.79 | 1.64 × 10^{−9} | 3.91 | 5.24 × 10^{−9} | 3.96 | 3.58 × 10^{−9} | 3.94 |
320 | 9.00 × 10^{−11} | 3.41 | 1.67 × 10^{−10} | 3.30 | 5.05 × 10^{−10} | 3.38 | 3.60 × 10^{−10} | 3.31 |
ν = 0.01 | ||||||||
40 | 4.04 × 10^{−2} | – | 2.16 × 10^{−2} | – | 2.63 × 10^{−2} | – | 3.13 × 10^{−3} | – |
80 | 5.90 × 10^{−4} | 6.10 | 3.84 × 10^{−4} | 5.81 | 8.02 × 10^{−4} | 5.03 | 2.07 × 10^{−4} | 3.92 |
160 | 5.06 × 10^{−5} | 3.54 | 3.00 × 10^{−5} | 3.68 | 5.51 × 10^{−5} | 3.86 | 1.35 × 10^{−5} | 3.94 |
320 | 3.18 × 10^{−6} | 3.99 | 2.08 × 10^{−6} | 3.85 | 3.39 × 10^{−6} | 4.02 | 8.58 × 10^{−7} | 3.98 |
640 | 1.98 × 10^{−7} | 4.01 | 1.33 × 10^{−7} | 3.96 | 2.28 × 10^{−7} | 3.90 | 5.99 × 10^{−8} | 3.84 |
Comparison of numerical errors obtained from the proposed method and the CSCM for Example 2
ν | CSCM | Proposed | ||||||
---|---|---|---|---|---|---|---|---|
h | M = N | \(\mathit {err}_{R2}(0.05)\) | CPU | h | \(M_{x}=M_{y}\) | \(\mathit {err}_{R2}(0.05)\) | CPU | |
1.0 | 0.005 | 6 | 3.79 × 10^{−9} | 0.0361 | 0.005 | 10 | 1.18 × 10^{−9} | 0.0061 |
0.0005 | 11 | 3.02 × 10^{−10} | 0.0370 | 0.0005 | 20 | 8.48 × 10^{−11} | 0.0189 | |
0.1 | 0.005 | 6 | 2.15 × 10^{−4} | 0.0317 | 0.005 | 20 | 6.20 × 10^{−6} | 0.0074 |
0.001 | 11 | 1.08 × 10^{−6} | 0.0343 | 0.001 | 40 | 1.94 × 10^{−7} | 0.0320 |
Example 3
Temporal convergence rates for Example 3, with \(\Delta x=\Delta y=\frac{1}{160}\) and \(\nu =0.01\)
h | t = 0.5 | t = 2.0 | ||||||
---|---|---|---|---|---|---|---|---|
u | v | u | v | |||||
\(\mathit {err}_{R2}(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | \(\mathit {err}_{R2}(t)\) | Rates | |
\(\frac{1}{80}\) | 2.50 × 10^{−4} | – | 1.67 × 10^{−4} | – | 4.28 × 10^{−4} | – | 2.38 × 10^{−4} | – |
\(\frac{1}{160}\) | 1.75 × 10^{−4} | 0.51 | 1.17 × 10^{−4} | 0.51 | 2.38 × 10^{−4} | 0.85 | 1.32 × 10^{−4} | 0.85 |
\(\frac{1}{320}\) | 9.89 × 10^{−7} | 7.47 | 6.61 × 10^{−7} | 7.47 | 8.14 × 10^{−7} | 8.19 | 4.53 × 10^{−7} | 8.19 |
\(\frac{1}{640}\) | 4.28 × 10^{−7} | 1.21 | 2.86 × 10^{−7} | 1.21 | 3.52 × 10^{−7} | 1.21 | 1.96 × 10^{−7} | 1.21 |
\(\frac{1}{1280}\) | 1.22 × 10^{−7} | 1.81 | 8.14 × 10^{−8} | 1.81 | 9.94 × 10^{−8} | 1.82 | 5.53 × 10^{−8} | 1.82 |
\(\frac{1}{2560}\) | 2.77 × 10^{−8} | 2.14 | 1.85 × 10^{−8} | 2.14 | 2.22 × 10^{−8} | 2.16 | 1.24 × 10^{−8} | 2.16 |
Comparison of numerical results for u obtained from the proposed method and the CSCM for Example 3
ν | CSCM | Proposed | ||||||
---|---|---|---|---|---|---|---|---|
h | M = N | \(\mathit {err}_{R2}(0.01)\) | CPU | h | \(M_{x} =M_{y}\) | \(\mathit {err}_{R2}(0.01)\) | CPU | |
1.0 | 0.0050 | 11 | 2.24 × 10^{−6} | 0.0956 | 0.0050 | 20 | 3.13 × 10^{−15} | 0.0063 |
0.1 | 0.0025 | 11 | 1.87 × 10^{−7} | 0.1036 | 0.0025 | 20 | 1.29 × 10^{−10} | 0.0072 |
0.01 | 0.0020 | 21 | 7.20 × 10^{−7} | 0.1026 | 0.0020 | 60 | 7.31 × 10^{−8} | 0.0205 |
0.005 | 0.0010 | 31 | 4.73 × 10^{−6} | 0.1106 | 0.0010 | 120 | 1.14 × 10^{−7} | 0.0924 |
Comparison of errors and CPUs of v via the proposed method and the original ECM for Example 3
t | ν | Original ECM | Proposed | ||
---|---|---|---|---|---|
\(\mathit {err}_{R2}(t)\) | CPU | \(\mathit {err}_{R2}(t)\) | CPU | ||
1.0 | 10^{−1} | 2.21 × 10^{−6} | 37.0937 | 2.21 × 10^{−6} | 33.9425 |
10^{−3} | 4.99 × 10^{−4} | 37.1391 | 4.70 × 10^{−4} | 34.2735 | |
2.0 | 10^{−1} | 2.03 × 10^{−6} | 74.9226 | 2.03 × 10^{−6} | 66.7614 |
10^{−3} | 4.52 × 10^{−4} | 74.1522 | 4.30 × 10^{−4} | 66.5531 | |
3.0 | 10^{−1} | 1.76 × 10^{−6} | 111.3824 | 1.76 × 10^{−6} | 100.0451 |
10^{−3} | 3.08 × 10^{−4} | 110.8592 | 3.00 × 10^{−4} | 99.9561 |
5 Conclusions
A modified error correction scheme has been developed for efficiently finding numerical solutions in the BSLM framework. Instead of using the traditional way to find the departure points of the particles, we suggest a new technique by constructing new Euler polygon in the error correction strategy, depending on the given boundary conditions. To reduce the computational cost, the proposed method approximates the Jacobian value by a fixed value while maintaining the scale of error, whereas the conventional ECM performs the interpolation with derivatives newly updated in each time integration step. Through several numerical results, the proposed method has a convergence rate of 2 in time. Also, it is shown that the proposed method obtains outstanding numerical results compared with the existing methods, and it well preserves the energy and mass.
Declarations
Funding
The first author, Bak, was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (grant number NRF-2017R1A6A3A01002341). The second author, Kim, the third author, Piao, and the corresponding author, Bu, were supported by the basic science research program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (NRF-2016R1A2B2011326, NRF-2017R1C1B1002370 and NRF-2016R1D1A1B03930734), respectively.
Authors’ contributions
All authors jointly worked on the results and they read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
- Xiu, D., Karniadakis, G.E.: A semi-Lagrangian high-order method for Navier–Stokes equations. J. Comput. Phys. 172, 658–684 (2001) MathSciNetView ArticleGoogle Scholar
- Hassanien, I.A., Salama, A.A., Hosham, H.A.: Fourth-order finite difference method for solving Burgers’ equation. Appl. Math. Comput. 170, 781–800 (2005) MathSciNetMATHGoogle Scholar
- Dehghan, M., Shokri, A.: A numerical method for two-dimensional Schrödinger equation using collocation and radial basis functions. Comput. Math. Appl. 54, 136–146 (2007) MathSciNetView ArticleGoogle Scholar
- Khater, A.H., Temsah, R.S., Hassan, M.M.: A Chebyshev spectral collocation method for solving Burgers’-types equations. J. Comput. Appl. Math. 222, 333–350 (2008) MathSciNetView ArticleGoogle Scholar
- Liao, W.: An implicit fourth-order compact finite difference scheme for one-dimensional Burgers’ equation. Appl. Math. Comput. 206, 755–764 (2008) MathSciNetMATHGoogle Scholar
- Asaithambi, A.: Numerical solution of the Burgers equation by automatic differentiation. Appl. Math. Comput. 216, 2700–2708 (2010) MathSciNetMATHGoogle Scholar
- Wang, J., Layton, A.: New numerical methods for Burgers’ equation based on semi-Lagrangian and modified equation approaches. Appl. Numer. Math. 60, 645–657 (2010) MathSciNetView ArticleGoogle Scholar
- Zhang, L., Ouyang, J., Wang, X., Zhang, X.: Variational multiscale element-free Galerkin method for 2D Burgers’ equation. J. Comput. Phys. 229, 7147–7161 (2010) MathSciNetView ArticleGoogle Scholar
- Mittal, R.C., Jain, R.K.: Numerical solutions of nonlinear Burgers’ equation with modified cubic B-splines collocation method. Appl. Math. Comput. 218, 7839–7855 (2012) MathSciNetMATHGoogle Scholar
- Arora, G., Singh, B.K.: Numerical solution of Burgers’ equation with modified cubic B-spline differential quadrature method. Appl. Math. Comput. 224, 166–177 (2013) MathSciNetMATHGoogle Scholar
- Jiwari, R., Mittal, R.C., Sharma, K.K.: A numerical scheme based on weighted average differential quadrature method for the numerical solution of Burgers’ equation. Appl. Math. Comput. 219, 6680–6691 (2013) MathSciNetMATHGoogle Scholar
- Zhang, X., Tian, H., Chen, W.: Local method of approximate particular solutions for two-dimensional unsteady Burgers’ equations. Comput. Math. Appl. 66, 2425–2432 (2014) MathSciNetView ArticleGoogle Scholar
- Shi, Y., Xu, B., Guo, Y.: Numerical solution of Korteweg–de Vries–Burgers equation by the compact-type CIP method. Adv. Differ. Equ. 2015, 353 (2015) MathSciNetView ArticleGoogle Scholar
- Bak, S., Kim, P., Kim, D.: A semi-Lagrangian approach for numerical simulation of coupled Burgers’ equations. Commun. Nonlinear Sci. Numer. Simul. 69, 31–44 (2019) View ArticleGoogle Scholar
- Kim, P., Piao, X., Kim, S.D.: An error corrected Euler method for solving stiff problems based on Chebyshev collocation. SIAM J. Numer. Anal. 49, 2211–2230 (2011) MathSciNetView ArticleGoogle Scholar
- Kim, S.D., Piao, X., Kim, P.: Convergence on error correction methods for solving initial value problem. J. Comput. Appl. Math. 236, 4448–4461 (2012) MathSciNetView ArticleGoogle Scholar
- Piao, X., Bu, S., Bak, S., Kim, P.: An iteration free backward semi-Lagrangian scheme for solving incompressible Navier–Stokes equations. J. Comput. Phys. 283, 189–204 (2015) MathSciNetView ArticleGoogle Scholar
- Piao, X., Kim, S., Kim, P., Kwon, J., Yi, D.: An interaction free backward semi-Lagrangian scheme for guiding center problem. SIAM J. Numer. Anal. 53, 619–643 (2015) MathSciNetView ArticleGoogle Scholar
- Ewing, R.E., Wang, H.: A summary of numerical methods for time-dependent advection-dominated partial differential equations. J. Comput. Appl. Math. 128, 423–445 (2001) MathSciNetView ArticleGoogle Scholar
- Fornberg, B.: Calculation of weights in finite difference formulas. SIAM Rev. 40, 685–691 (1998) MathSciNetView ArticleGoogle Scholar
- Evans, C.L.: Partial Differential Equations. Am. Math. Soc., Providence (1998) MATHGoogle Scholar
- Ladyzenskaya, O.A., Solnnikov, V.A., Uraĺceva, N.N.: Linear and Quasilinear Equations of Parabolic Type. Am. Math. Soc., Providence (1968) View ArticleGoogle Scholar
- Kim, D., Song, O., Ko, H.-S.: A semi-Lagrangian CIP fluid solver without dimensional splitting. Comput. Graph. Forum 27, 467–475 (2008) View ArticleGoogle Scholar
- Anguelov, R., Djoko, J.K., Lubuma, J.M.-S.: Energy properties preserving schemes for Burgers’ equation. Numer. Methods Partial Differ. Equ. 24, 41–59 (2008) MathSciNetView ArticleGoogle Scholar