Abstract
Advection equations appear often in large-scale mathematical models arising in many fields of science and engineering. The Crank-Nicolson scheme can successfully be used in the numerical treatment of such equations. The accuracy of the numerical solution can sometimes be increased substantially by applying the Richardson Extrapolation. Two theorems related to the accuracy of the calculations will be formulated and proved in this paper. The usefulness of the combination consisting of the Crank-Nicolson scheme and the Richardson Extrapolation will be illustrated by numerical examples.
1. Statement of the Problem
Consider the following advection equation: It will be assumed that is a given function. The physical meaning of this function depends on the area in which (1.1) arises. For example, in fluid dynamics applications it can be interpreted as fluid velocity, while in atmospheric modelling represents the wind velocity.
Equation (1.1) must always be considered together with appropriate initial and boundary conditions.
The well-known Crank-Nicolson scheme (see, e.g., [1, page 63]) can be used in the numerical treatment of (1.1). The computations are carried out by the following formula: when the Crank-Nicolson scheme is used. The quantity is defined by where and the increments and of the spatial and time variables are introduced by using two equidistant grids: It should be possible to vary the increments and (e.g., and must be allowed when the convergent rates are to be studied). It will be assumed that the ratio remains constant when the increments are varied. This implies a requirement that if, for example, is halved then is also halved. More precisely, it will be assumed that if an arbitrary pair of increments is replaced with another pair , then the following relationship holds: where is a constant which does not depend on increments. The requirement to keep constant is very reasonable.
Assume that is the exact solution of (1.1) at an arbitrary grid-point belonging to the set defined by the two grids (1.4) and (1.5). Then the values ( and ) calculated by (1.2) are approximations of the exact solution at the grid-points . Our major task in the following part of this paper will be to show how the accuracy of the approximations can be improved by using additionally the Richardson Extrapolation.
The application of the Richardson Extrapolation, when an arbitrary advection equation (not only the particular equation which was introduced in the beginning of this section) is treated by any numerical method, will be described in Section 2. The error constants in the leading terms of the numerical error for the Crank-Nicolson scheme will be calculated in Section 3. The order of accuracy of the combination of the Crank-Nicolson scheme and the Richardson Extrapolation will be established in Section 4. Numerical results will be presented in Section 5 to demonstrate the applicability of the theorems proved in Sections 3 and 4. Several concluding remarks will be given and discussed in Section 6.
2. Application of the Richardson Extrapolation
Assume that a one-dimensional hyperbolic equation similar to (1.1) is treated by an arbitrary numerical method, which is of order with regard to the two independent variables and . Let be the set of approximations of the solution of (1.1) calculated for at all grid-points , , of (1.4) by using the numerical method chosen and consider the corresponding approximations calculated at the previous time-step, that is, for . Introduce vectors , , and , the components of which are , , and , respectively. Since the order of the numerical method is assumed to be with regard both to and to , we can write where and are some quantities, which do not depend on and on . It is convenient to rewrite the last equality in the following form: where If and are sufficiently small, then the sum will be a good approximation of the errors in the calculated values of the numerical solution . If the relationship (1.6) is satisfied and if and are sufficiently small, then will also be a good approximation of the error of the numerical solution . This means that if we succeed to eliminate the term in (2.2), then we shall obtain approximations of order . The Richardson Extrapolation can be applied in the attempt to achieve such an improvement of the accuracy. In order to apply the Richardson Extrapolation, it is necessary to introduce an additional grid: Assume that approximations (calculated at the grid-points of for ) are available and perform two small steps with a stepsize to compute . Use only the components with even indices , to form vector . The following equality holds for this vector: where the quantity is defined as in (2.3).
Now, it is possible to eliminate the quantity from (2.2) and (2.5). This can successfully be done in the following way:remove the last two terms in (2.2) and (2.5),multiply (2.5) by ,subtract (2.2) from the modified equality (2.5).
The result is Denote It is clear that the approximation , being of order , will in general be more accurate than both and when and are sufficiently small. The device used to construct the approximation is often called Richardson Extrapolation (it was introduced in [2]; see also [3–7]). Assume that the partial derivatives of the unknown function up to order exist and are continuous. Then one should expect (2.7) to produce more accurate results than those obtained by the underlying numerical method.
Remark 2.1. The rest terms in the formulae given in this section will in general depend on both and . However, the application of the relationship (1.6) gives , and this justifies the use only of in all rest terms in this section. This approach will also be used in the remaining part of this paper.
Remark 2.2. No specific assumptions about the particular partial differential equation or about the numerical method used to solve it were made in this section. This was done in order to demonstrate how general the idea, on which the Richardson Extrapolation is based, is. It must be emphasized, however, that in the following part of this paper it will be assumed that (a) equation (1.1) is solved under the assumptions made in the previous section and (b) the underlying numerical algorithm applied to handle it numerically will always be the second-order Crank-Nicolson scheme.
3. Error Constants of the Leading Terms of the Numerical Error for the Crank-Nicolson Scheme
Consider formula (1.2). Following [8], we shall replace the approximations with the corresponding exact values of the solution of (1.1). The result is The following theorem can be proved by using this notation in the following theorem.
Theorem 3.1. The quantity can be written (assuming that all involved derivatives exist and are continuous) as
Proof. Use Taylor expansions around the point, where as in Section 1, of the functions in two variables involved in (3.1) and keep the terms containing . After some rather long but quite straight-forward transformations, (3.2) will be obtained.
Theorem 3.1 ensures that the Crank-Nicolson scheme is a second-order numerical method, which is, of course, well known. It is much more important that (a) it provides the leading terms of the error of this method (which are needed in the proof of Theorem 4.1) and (b) it shows that there are no fourth-order terms in the expression for the numerical error.
4. Order of Accuracy of the Combination Consisting of the Crank-Nicolson Scheme and the Richardson Extrapolation
After presenting some preliminary results connected to (a) the problem solved, (b) the Crank-Nicolson scheme, and (c) the Richardson Extrapolation, everything is now prepared for the proof that the use of the combination of the Crank-Nicolson scheme and the Richardson Extrapolation leads to a fourth-order numerical method when the problem (1.1) is solved. More precisely, the following theorem holds.
Theorem 4.1. The combination of the Crank-Nicolson scheme and the Richardson Extrapolation is a fourth-order numerical method when all derivatives of the solution up to order four exist and are continuous.
Proof. Assume that all approximations at time-step have already been found. Then the Richardson Extrapolation is carried out by using the Crank-Nicolson scheme to perform one large time-step with stepsize and two small time-steps with stepsize . The major part of the computations during the large time-step is carried out by using the formula:
The major part of the computations during the two small time-steps is based on the use of the following two formulas:
Let us start with (4.1). Equality (3.1) will be obtained when all approximate values in (4.1) are replaced with the corresponding values of the exact solution. This means that the assertion of Theorem 3.1, equality (3.2), holds for the large time-step.
The treatment of the two small time-steps is more complicated. Combining (4.2) leads to the formula:
Replace all approximate values participating in (4.3) with the corresponding exact values of the solution to obtain an expression for the local approximation error in the form:
where
Our aim is to derive an expression for .
First, we consider the terms participating in . We use Taylor expansions of the involved functions around the point and apply a similar transformation as in the proof of Theorem 3.1. In this way, we can obtain the following relation:
We repeat the same kind of transformations also when is considered. Now we apply Taylor expansions around the point of the involved functions. Then we obtain
The following result can be found by combining (4.6) and (4.7):
Now, by expanding all terms in the right-hand side of (4.8) around the point and after some very long but straight-forward transformations, we obtain
It should be noted here that a detailed derivation of the important relationship (4.9) can be found in [9].Since the order of the Crank-Nicolson scheme is , it is clear that the improved approximate solution by the Richardson Extrapolation at time-step is obtained bymultiplying the result obtained at the end of the second small time-step by ,multiplying the result obtained at the end of the large time-step by , subtracting the two results obtained in (a) and (b).Performing operations (a)–(c) will give
It is immediately seen that the first six terms in the right-hand side of (4.10) vanish. Therefore, the order of accuracy of the combined numerical method (the Crank-Nicolson scheme + the Richardson Extrapolation) is four, which completes the proof of the theorem.
It should once again be emphasized that a full proof of Theorem 4.1, containing all needed details, can be found in [9].
5. Numerical Experiments
In this section, it will be shown that the following two statements are true:(a)if the solution is continuously differentiable up to order two, then the direct application of the Crank-Nicolson scheme gives second-order accuracy;(b)if the solution is continuously differentiable up to order four, then the combined method consisting of the Crank-Nicolson scheme and the Richardson Extrapolation behaves as a fourth-order numerical algorithm.
Furthermore, we shall also demonstrate the fact that if the above requirements are not satisfied, then neither the direct use of the Crank-Nicolson scheme leads to second-order accuracy nor the combined method based on the combination of the Crank-Nicolson scheme with the Richardson Extrapolation behaves as a fourth-order numerical algorithm.
5.1. Organization of the Computations
It is convenient for the purposes in this paper, but not necessary, to divide the time-interval [a,b] into 24 equal subintervals and to call each of these subintervals “hour”. By this convention, the length of the time-interval becomes 24 hours in all three examples given in this section; and we shall study the size of the numerical errors at the end of every hour.
In each experiment, the first run is performed by using and . Ten additional runs are performed after the first one. When a run is finished, both and are halved (this means that and are doubled) and a new run is started. Thus, in the eleventh run we have and which means that systems of linear algebraic equations, each of them containing equations, are to be solved.
Note too, that the ratio is kept constant, that is, the requirement (1.6) is satisfied, when the two increments and are varied in this way.
We are mainly interested in the behavior of the numerical error. As mentioned above, this error is evaluated at the end of every hour (i.e., 24 times in each run) and at the grid-points of the coarsest spatial grid, in the following way. Assume that run number , is to be carried out and let . Then the error made at the end of hour is calculated by using the following formula: where and are the calculated value and the exact solution at the end of hour and at the grid-points of the coarsest grid (i.e., for ). In the three experiments presented in this section, the exact solution is known.
The global error made during the computations is estimated by using the following formula: It is necessary to point out here that the numerical values of the unknown function, which are improved by the Richardson Extrapolation, that is, by applying (2.7) with , are available only on the coarser spatial grid (1.4). It is necessary to get appropriate approximations for all values on the finer spatial grid (2.4). Several devices for obtaining such approximations have been suggested and tested in [10]. It was shown there that the application of third-order interpolation polynomials gives best results. This device has been used also in the present work.
5.2. Construction of a Test Problem with Steep Gradients of the Unknown Function
Assume that the spatial and the time intervals are given by and consider a function defined by Let the initial condition be given by The exact solution of the Test Problem, which is defined as above, is The Test Problem introduced in this subsection was run both by using the Crank-Nicolson scheme directly and by applying the combination of this scheme and the Richardson Extrapolation. Numerical results are presented in Table 1.
The following conclusions can be drawn by studying the results presented in Table 1.(i)The direct application of the Crank-Nicolson scheme leads to quadratic convergence of the accuracy of the numerical results (i.e., halving the increments and leads to a decrease of the error by a factor of four). This behaviour should be expected according to Theorem 3.1.(ii)The combination of the Crank-Nicolson scheme and the Richardson Extrapolation behaves in general as a numerical method of order four (or, in other words, halving the increments and leads to a decrease of the error by a factor of sixteen). This behaviour should also be expected (according to Theorem 4.1).(iii)At the end of the computations with the combined numerical method (the Crank-Nicolson scheme + the Richardson Extrapolation), the convergence rate deteriorates. Two facts are very important when this happens: (a) the computed solution is already very accurate and (b) the rounding errors start to affect the calculated results.
In Figure 1, plots are given showing (a) the initial values, (b) the solution in the middle of the time interval (i.e., after 12 hours), and (c) the solution at the end of the time interval for the test problem defined by (5.3)–(5.5).
(a)
(b)
(c)
Remark 5.1. A similar test-example was used in [11]. It should also be noted that a very similar advection module is a part of the large-scale air pollution model UNI-DEM ([12–14]) and the quantities used in (5.3)–(5.5) are either the same or very similar to the corresponding quantities in this model. Note too that the values of the unknown function are of the same order of magnitude as the ozone concentrations in the atmosphere when these are measured in (number of molecules)/(cubic centimetre).
5.3. Construction of an Oscillatory Test Problem
Define the spatial and time intervals by Consider a function defined by Let the initial values be defined by The exact solution of the test problem defined by (5.7)–(5.9) is: As in Section 5.2, the test problem introduced above was run both by using the Crank-Nicolson scheme directly and by applying the combination of this scheme and the Richardson Extrapolation. Numerical results are presented in Table 2.
The conclusions, which can be drawn from the results presented in Table 2, are quite similar to those given in Section 5.2. However, for the oscillatory test problem, the actual convergence rate achieved in the runs is less than four (greater than three in the beginning and after that equal to or less than three). It is not very clear what the reason for this behaviour is. Perhaps, the interpolation rule used to improve the precision of the values on the finer spatial grid (see Section 5.1 and [10]) is not sufficiently accurate for this example when grid-points near the boundary are treated. Nevertheless, it is clearly seen that the achieved accuracy is nearly the same as the accuracy achieved in the solution of the previous test problem (compare Table 1 with Table 2).
In Figure 2, plots are given showing (a) the initial values, (b) the solution in the middle of the time interval (i.e., after 12 hours), and (c) the solution at the end of the time interval for the test problem studied in this subsection.
(a)
(b)
(c)
5.4. Construction of a Test Problem with Discontinuities
Assume that the spatial interval, the time-interval, and function are defined as in Section 5.2, that is, by (5.3) and (5.4), and introduce initial values by The exact solution of the test problem defined as above is given by (5.6).
As in the previous two sub-sections, the test problem introduced above was run both by using the Crank-Nicolson scheme directly and by applying the combination of this scheme and the Richardson Extrapolation. Numerical results are presented in Table 3.
Two major conclusions can be drawn from the results presented in Table 3: (a) neither the direct Crank-Nicolson scheme nor the combination of the Crank-Nicolson scheme with the Richardson Extrapolation gives the prescribed by the theory accuracy (orders two and four, resp.) and (b) also in this case, that is, in the presence of discontinuities, the combination of the Crank-Nicolson scheme and the Richardson Extrapolation is considerably more accurate than the direct application of the Crank-Nicolson scheme.
In Figure 3, plots are given showing (a) the initial values, (b) the solution in the middle of the time interval (i.e., after 12 hours), and (c) the solution at the end of the time interval for the test problem studied in this subsection.
(a)
(b)
(c)
6. Concluding Remarks
Several conclusions can be drawn by using the theorems proved in Sections 3 and 4 as well as the numerical results presented in Section 6.
The most important conclusion is related to the accuracy of the computed results. The accuracy can be improved considerably if the Crank-Nicolson scheme is combined with the Richardson Extrapolation. However, this effect will be achieved only when the solution is continuously differentiable up to order four and when the boundary conditions needed in the actual computations are sufficiently accurate.
It is highly desirable to investigate carefully the performance of the combined method in the cases where some derivatives of the solution are discontinuous, the solution is highly oscillatory, the problem is stiff (which will normally cause stability problems).
These important topics will be studied in the near future.
Some assumptions were made in order to prove the two theorems. It is worthwhile to investigate carefully the possibilities for removing these assumptions or for relaxing them.
Acknowledgments
The Centre for Supercomputing at the Technical University of Denmark gave us access to several powerful computers for running the experiments related to this study. The European Union and the European Social Fund have provided financial support to the project under the Grant agreement no. TÁMOP 4.2.1./B-09/1/KMR-2010-0003. The National Science Fund of Bulgaria supported partly the research of I. Dimov and T. Ostromsky under Grant DTK 02/44 /2009/ and the research of K. Georgiev under Grant DO 02-147/08.