Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Preview and Attempt of a Judicious Evaluation of Numerical Methods in Lake Dynamics

Lake dynamics is composed of convective heat and mass transfer accompanied by turbulent diffusion. Usually, the effect of convection prevails over that of diffusion. Numerical simulation of convective heat and mass transfer represents a very important area of application of computational fluid dynamics (CFD). Although CFD techniques are often useful in gaining insight into fluid dynamic processes, they have not, in the past, been generally reliable enough to be used (without experimental verification) in routine engineering design calculations where genuinely predictive capabilities are required. Of course there are exceptions, but in particular flows involving highly convective processes, have presented CFD with some of its most difficult challenges.

Successful modeling of strong convection is one of the most challenging problems in computational fluid mechanics. On the one hand, although traditional first-order finite difference methods (e.g., first-order upstream and Lax-Friedrichs schemes) are monotonic and stable, they are strongly dissipative, causing the solution to become smeared out and often grossly inaccurate. On the other hand, traditional high-order difference methods (e.g. second-order upstream, central, LaxWendroff,BeamWarming,Fromm, and third-order QUICK, QUICKEST etc.) are less dissipative, but are susceptible to numerical instabilities that cause nonphysical oscillations in regions of large gradients of the variables. The usual way to deal with these types of oscillations is to incorporate artificial diffusion into the numerical scheme. However, if this is applied uniformly over the problem domain, and enough diffusion is added to dampen spurious oscillations in regions of large gradients, then the solution is also smeared out elsewhere.

In the past forty years, a tremendous amount of research was done in developing and utilizing modern high-resolution methods for approximating solutions of hyperbolic systems of conservation laws. Among these methods, the flux corrected transport (FCT) method (Boris and Book 1973, [4]; Book et al. 1975, [2], 1981, [3]; DeVore 1991, [8]; Georghiou et al. 2000, [10]; Kuzmin et al. 2012, [19]; Patnaik et al. 1987, [31]; Zalesak 1979, [47]) and the total variation diminishing (TVD) schemes (Blazek 2001, [1]; Harten 1983, [11]; Hou et al. 2012, [12]; Kesserwani 2012, [17]; Kuzmin 2006, [18]; Jiang and Tadmor 1997, [15]; LeVeque 2002, [26]; Nessyahu and Tadmor 1990, [30]; Tai 2000, [39]; Versteeg and Malalasekera 2007, [41]; Wang et al. 2004, [44]; Wesseling 2001, [45]) are the most widely used discretization schemes of this sort.

The FCT technique is a scheme for applying artificial diffusion to the numerical solution of convectively-dominated flow problems in a spatially nonuniform way. More artificial diffusion is applied in regions of large gradients, and less in smooth regions. The solution is propagated forward in time using a spatially second-order scheme in which artificial diffusion is then added. Alternatively, often spatial first-order schemes are used in which additional diffusion is inherent. In regions where the solution is smooth, some or all of this diffusion is subsequently removed, so the solution there is basically second-order. Where the gradient is large, little or none of the diffusion is removed, so the solution in such regions is first-order. In regions of intermediate gradients, the order of the approximation of the solution depends on how much of the artificial diffusion is removed. In this way, the FCT technique prevents nonphysical extrema from being introduced into the solution. The procedure of another high-resolution TVD scheme is similar to the FCT method. These algorithms can ensure that the total variation of the variables does not increase with time, thus no spurious numerical oscillations are generated. The approximation can be of second or even third-order accuracy in the smooth parts of the solution, but only first-order near regions with large gradients.

Comparisons of some numerical advection algorithms have been performed for different test problems, see e.g. Chock (1985), [6]; Leonard (1979), [22]; Rood (1987), [35]; Tóth and Odstrčil (1996), [40]; Wang and Hutter (2001), [43]. In this chapter we intend to consider a series of the most frequently used numerical schemes, especially including high-resolution schemes. Many numerical schemes have been summarized by Leonard (1997), [24]. We test these numerical methods with respect to simple one-dimensional convectively-dominated problems. Numerical diffusivity, production of spurious oscillations, computational efficiency and suitability for grid size or magnitude of diffusion are all taken into account, thus we hope to gain some balanced view on the properties of different schemes in convection-diffusion problems. Many results shown in this chapter have been presented in Wang and Hutter (2001) [43]. A comparison of numerical schemes in simulating three-dimensional wind-induced lake circulations will be performed in the next chapter.

In Sect. 25.2 a series of numerical methods: traditional first-order upstream,LaxFriedrichs; second-order upstream, central difference,LaxWendroff,BeamWarming,Fromm, third-order QUICK, QUICKEST schemes and high-resolution flux corrected transport (FCT) and total variation diminishing (TVD) schemes are summarized. Partial descriptions of these numerical schemes are extracted from Leonard (1997), [24]. In Sect. 25.3 numerical results obtained by employing these difference schemes are compared for linear and nonlinear pure convection problems with discontinuous initial data and by a convection-diffusion problem with sinusoidally-shaped initial distribution of the variable as well as for the deformation of the temperature profiles in upwelling and downwelling areas in lakes. Some concluding remarks are given in Sect. 25.4.

2 A Series of Numerical Methods

The basic equations describing circulations in lakes or oceans, e.g. the balance equations of linear momentum, energy and tracer mass, possess the form of an advection-diffusion equation, in one-dimension

$$\begin{aligned} \displaystyle \frac{\partial u}{\partial t}+\displaystyle \frac{\partial f(u)}{\partial x}=\displaystyle \frac{\partial }{\partial x}\left( \varGamma \displaystyle \frac{\partial u}{\partial x}\right) \;\;\;\;\;\text{ or } \;\;\;\displaystyle \frac{\partial u}{\partial t}+a(u)\displaystyle \frac{\partial u}{\partial x}=\displaystyle \frac{\partial }{\partial x}\left( \varGamma \displaystyle \frac{\partial u}{\partial x}\right) \end{aligned}$$
(25.1)

together with appropriate initial and boundary conditions. Here, \(a(u) =\partial f(u)/\partial u \) is the characteristic (convective) speed depending on the variable \(u\), \(\varGamma \) may be a turbulent diffusion coefficient and \(u\) may either be the concentration of a passive tracer, the temperature, salinity or a velocity component.

It is worthwhile to mention that, depending on the values of \(a\) and \(\varGamma \), (25.1) changes its character. If \(a=0\) and \(\varGamma \ne 0\), (25.1) is parabolic; but it is hyperbolic when \(a\ne 0\) and \(\varGamma =0\). If \(a\), \(\varGamma \) are functions of \(x\) and \(t\), the character of the partial differential equation may change locally and/or with time.

The numerical treatment of the convection-diffusion equation involves specific difficulties which mainly originate from the different scales of the convective and turbulent motion. We will see that for pure diffusion (parabolic equation) or physical diffusively-dominated problems, a spatial central and temporal Euler forward difference scheme is basically suitable, but for convectively-dominated problems, difference schemes of convection terms are quite sensible to stability and accuracy. The high discretization errors of finite difference techniques lead often to physically unrealistic results. Apart from numerical instabilities, fundamental mechanical or thermodynamical principles can be violated. For instance, fronts emerging in investigated physical problems will not be sufficiently resolved due to numerical diffusion (Maier-Reimer 1973, [28]).

Integrating (25.1) over the rectangle \([x_{j-1/2},x_{j+1/2}]\times [t^n,t^{n+1}] \),

$$\begin{aligned}&\displaystyle \int _{x_{j-1/2}}^{x_{j+1/2}}u(x,t^{n+1})\text{ d }x -\displaystyle \int _{x_{j-1/2}}^{x_{j+1/2}}u(x,t^{n})\text{ d }x\nonumber \\&+\displaystyle \int _{t^n}^{t^{n+1}}f(x_{j+1/2},t)\text{ d }t -\displaystyle \int _{t^n}^{t^{n+1}}f(x_{j-1/2},t)\text{ d }t\nonumber \\&= \displaystyle \int _{t^n}^{t^{n+1}}\left( \varGamma \displaystyle \frac{\partial u}{\partial x}\right) (x_{j+1/2},t)\text{ d }t -\displaystyle \int _{t^n}^{t^{n+1}}\left( \varGamma \displaystyle \frac{\partial u}{\partial x}\right) (x_{j-1/2},t)\text{ d }t, \end{aligned}$$
(25.2)

and introducing the definitions of the spatial and temporal mean values

$$\begin{aligned}&U_j^n =\displaystyle \frac{1}{\varDelta x}\int _{x_{j-1/2}}^{x_{j+1/2}}u(x,t^{n})\text{ d }x,\nonumber \\&\mathcal{F}_{j+1/2} =\mathcal{F}(U;{j+1/2})=\displaystyle \frac{1}{\varDelta t}\int _{t^n}^{t^{n+1}}f(x_{j+1/2},t)\text{ d }t,\\&\mathcal{D}_{j+1/2} =\mathcal{D}(U;{j+1/2})=\displaystyle \frac{1}{\varDelta t}\int _{t^n}^{t^{n+1}}\left( \varGamma \displaystyle \frac{\partial u}{\partial x}\right) (x_{j+1/2},t)\text{ d }t,\nonumber \end{aligned}$$
(25.3)

a difference equation in form of

$$\begin{aligned} U_j^{n+1}=U_j^n-\frac{\varDelta t}{\varDelta x}\left\{ \mathcal{F}_{j+1/2}-\mathcal{F}_{j-1/2}\right\} +\frac{\varDelta t}{\varDelta x}\left\{ \mathcal{D}_{j+1/2}-\mathcal{D}_{j-1/2}\right\} \end{aligned}$$
(25.4)
Fig. 25.1
figure 1

Subcell interpolants: a constant; b linear; c quadratic

is obtained, in which lower case Latin subscripts \(j\) denote the grid points while upper case superscripts \(n\) indicate the time step. \(\mathcal{F}_{j\pm 1/2}\) denote the convection fluxes and \(\mathcal{D}_{j\pm 1/2}\) indicate the diffusion fluxes on the cell boundaries at \(x_{j\pm 1/2}\), respectively, which can be expressed as functions of the cell averages of the neighbouring cells. This is the reason why in (25.3)\(_{2,3}\) \(\mathcal{F}\) and \(\mathcal{D}\) show a \(U\)-dependence. These numerical fluxes may have different forms depending on the order of accuracy and types of interpolation. If the cell averages in the flux functions are taken at the time level \(t^{n}\), one obtains an explicit numerical scheme, whilst using cell averages at time \(t^{n+1}\) results in an implicit method. Note that the spatial integration means that finite-volume methods are fundamentally dealing with the evolution of cell-average values of the scalar (25.3)\(_1\), rather than nodal-point values. This distinction is not often stressed in the literature because for first- and second-order methods there is no difference between cell-average and nodal-point values. For third- and higher-order methods, however, this distinction is obvious. For example, Fig. 25.1 shows three one-dimensional control-volume cells containing the same cell-average value, \(U_j\). In Fig. 25.1a, the assumed subcell variation is piecewise constant: \(u(x)=u_j=U_j\). In panel (b) of the figure, the assumed subcell behavior is piecewise linear; again, \(u_j\) (at the center) equals \(U_j\). However, in panel (c), piecewise quadratic subcell behavior is assumed; in general, \(u_j\ne U_j\) in this case.

The most rudimentary argument about using the flux (or conservative) form (25.4) (or its differential form (25.1)\(_1\)) rather than the advective form (25.1)\(_2\) to model the transport of the physical variable is that with the flux form it is simpler to assure that the physical variable is conserved. This is particularly so for a no-flux boundary condition. It has also been argued that by using the flux form it is easier to avoid the numerical nonlinear instabilities of the type reported by Phillips (1959) [32].

It is also important to distinguish between finite-volume methods and finite-difference methods—again because for first- and second-order methods, there is an apparent similarity (although an important subtle distinction prevails as well). Finite-difference methods result from estimating the derivatives in (25.1) directly, rather than the integrated fluxes.

Fig. 25.2
figure 2

Downwind-weighted piecewise-linear subcell interpolation in the case of \(a> 0\)

2.1 Central Difference Scheme

Figure 25.2 shows the appropriate subcell interpolation for what is usually known as the second-order central scheme. However, as seen, the piecewise-linear interpolant is downwind weighted. The rule for estimating the effective face value is as follows: at a given face, establish the flow direction; in the adjacent upstream cell, use the downwind-weighted piecewise-linear interpolant through node values (\(\equiv \) cell-average values); the effective face value is chosen to be that of the subcell interpolant just upstream of the face. In the case shown in Fig. 25.2 for the right face (\(a_{j+1/2}>0\)), the subcell interpolant across cell \(j\), i.e. \(x\in (x_{j-1/2},x_{j+1/2})\)), is

$$\begin{aligned} u(x)=u_j+\left( \frac{u_{j+1}-u_j}{\varDelta x}\right) x,&\;\;&a_{j+1/2}>0. \end{aligned}$$
(25.5)

According to the natural upwind rule

$$\begin{aligned} u_{j+1/2}=\lim _{\epsilon \rightarrow 0}u(x_{j+1/2}-\epsilon )=\textstyle \frac{1}{2}\left( u_{j+1}+u_j\right) \!, \end{aligned}$$
(25.6)

i.e., a simple linear weighting of node values. The resulting face value is independent on the flow direction—the downwind bias in the subcell interpolant has cancelled the natural upwind bias. For example, if \(a_{j+1/2}\) were negative, the appropriate subcell interpolant would be that in cell \((j+1)\); but the downwind-weighted interpolant in that cell would still be the straight line passing through node-values \(u_j\) and \(u_{j+1}\), giving the same result for \(u_{j+1/2}\). One rather “unnatural” feature of this method occurs at a cell where the velocity changes sign; i.e., \(a_{j+1/2}>0\), \(a_{j-1/2}<0\). In this case, two different downwind-weighted linear interpolants are needed, simultaneously, across cell \(j\).

Fig. 25.3
figure 3

A linear spline violating the cell-average constraint

As pointed out by Leonard (1997) [24] a common misinterpretation of second-order central methods is shown in Fig. 25.3. In this case, the subcell interpolant consists of simple linear interpolation between node values (a linear spline), independent on the velocity direction. This is clearly inconsistent with the cell-average condition which requires in the case of the piecewise-linear cell interpolation.

$$\begin{aligned} U_j=u_j=\frac{1}{\varDelta x}\int _{x_{j-1/2}}^{x_{j+1/2}}u(x){\mathrm {d}\,} x, \qquad \mathrm{across~cell }~j. \end{aligned}$$
(25.7)

For diffusion terms, downwind-weighted piecewise-linear subcell interpolation leads to the classical second-order form. For (25.5),

$$\begin{aligned} \left( \displaystyle \frac{\partial u}{\partial x}\right) _{j+1/2}=\displaystyle \frac{\partial u}{\partial x}|_{x=\varDelta x/2-\epsilon }=\frac{u_{j+1}-u_j}{\varDelta x}. \end{aligned}$$
(25.8)

Again, the result is independent on the velocity direction.

In most cases of practical interest, the classical second-order central scheme for diffusion terms appears to be adequate. Figure 25.4 shows the usual way of estimating the diffusion term at nodal point \(j\) or across cell \(j\). A parabola is collocated symmetrically through three nodal points:

$$\begin{aligned} u(x)=u_j+\left( \frac{u_{j+1}-u_{j-1}}{2\varDelta x}\right) x+ \left( \frac{u_{j+1}-2u_j+ u_{j-1}}{2(\varDelta x)^2}\right) x^2. \end{aligned}$$
(25.9)

For constant \(\varGamma \), we can estimate the diffusion term in (25.1) from the second-derivate of \(u(x)\) at nodal point \(j\)

$$\begin{aligned} \varGamma \left( \displaystyle \frac{\partial ^2 u}{\partial {x}^2} \right) _j= \varGamma \left( \frac{u_{j+1}-2u_j+ u_{j-1}}{(\varDelta x)^2}\right) . \end{aligned}$$
(25.10)
Fig. 25.4
figure 4

Estimation of diffusion terms using quadratic interpolation

A central difference scheme in space for both the convection and the diffusion terms are employed in the forms of

$$\begin{aligned}&\mathcal{F}_{j+1/2}=f\left( U_{j+1/2}\right) ,\qquad \mathcal{D}_{j+1/2}=\varGamma _{j+1/2}\frac{U_{j+1}-U_{j}}{\varDelta x} \\&\text{ with } \;\; U_{j+1/2}=\textstyle \frac{1}{2}\left( U_j+U_{j+1}\right) . \nonumber \end{aligned}$$
(25.11)

The time stepping used for processes other than diffusion is the well-known leapfrog scheme (see e.g. Mesinger and Arakawa 1976, [29]). It is a temporal centred scheme. In lake dynamics, it may be used for momentum, heat and tracer advection, pressure gradient, and Coriolis terms, but not for diffusion terms. The leapfrog scheme is used only to the convection term in the convection-diffusion Eq.  (25.1), but is unsuitable for the diffusion term. An Euler forward temporal scheme regarding the diffusion term is suggested. The discretized difference equation takes the form

$$\begin{aligned} U_j^{n+1}&= U_j^{n-1}-\frac{2\varDelta t}{\varDelta x} (\mathcal{F}_{j+1/2}^{n}-\mathcal{F}_{j-1/2}^{n})\nonumber \\&\quad +\frac{2\varDelta t}{(\varDelta x)^2} \left( \varGamma _{j+1/2}^{n-1}(U_{j+1}^{n-1}-U_{j}^{n-1})- \varGamma _{j-1/2}^{n-1}(U_{j}^{n-1}-U_{j-1}^{n-1})\right) .\;\;\;\;\;\;\;\; \end{aligned}$$
(25.12)

That the discretizations of the convection and the diffusion terms are considered at different time levels is because, for a central difference scheme in space, the leap frog time step is always unstable when \(a=0\) in Eq. (25.1)\(_2\) (pure diffusion case) while the Euler forward scheme in time results in numerical instability for a pure convection problem (\(\varGamma =0\)). For details see e.g. Smith (1977) [36]. Therefore, the discretization (25.12) ensures numerical stability for the convection-diffusion problem both with dominant convection and with prevailing diffusion. However, for the difference scheme (25.12), if the grid Péclet number (or cell Reynolds number), defined by

$$\begin{aligned} \mathcal{P}e=a\varDelta x/\varGamma , \end{aligned}$$
(25.13)

exceeds the critical value \(\mathcal{P}e=2\), e.g., the convection term is dominant, and so oscillatory grid dispersion may occur, which is unphysical (Price et al. 1966, [33]). In order to avoid the above problems, \(\mathcal{P}e\) must be made smaller by using a finer spacing. This can become very costly in terms of computer time. Another remedy is to add large artificial diffusion, but that could make the original problem unrealistic.

2.2 Upstream Difference Scheme

The above mentioned numerical oscillations in CDS are due to the use of the unphysical central difference scheme for the convection term, because at any spatial point, information by convection can come only from the upstream direction of this point. In order to avoid the above problem non-centered upstream difference schemes in space for the convection term ought to be used. However, as we shall see, this introduces alternative difficulties.

Because for most flows of practical interest, the classical, second-order central scheme for diffusion terms is adequate, from now on, we will discuss various difference schemes mainly for convection terms. If one considers only the convective part of (25.1) the equation is the simplest first-order hyperbolic equation

$$\begin{aligned} \displaystyle \frac{\partial u}{\partial t}+\displaystyle \frac{\partial f(u)}{\partial x}=0 \;\;\;\;\;\text{ or } \;\;\;\displaystyle \frac{\partial u}{\partial t}+a(u)\displaystyle \frac{\partial u}{\partial x}=0, \end{aligned}$$
(25.14)

its difference equation, i.e. (25.4) with \(\mathcal{D}_{j\pm 1/2}=0\), can be written as

$$\begin{aligned} U_j^{n+1}=U_j^n-\frac{\varDelta t}{\varDelta x}\left\{ \mathcal{F}_{j+1/2}-\mathcal{F}_{j-1/2}\right\} . \end{aligned}$$
(25.15)

The hyperbolic differential Eq. (25.14) has the general solution \(u=g(x-at)\) if \(a=\text{ constant }\) where \(g(x)\) is an arbitrary differentiable function depending on the initial condition. The lines \(x-at=\text{ const }\) are called characteristics, and \(u\) is constant on these lines. With this in mind a difference scheme is constructed which depends on the slope of the characteristics, i.e. on the sign of \(a\). The new value \(U_j^{n+1}\) is computed by tracing the characteristic passing through \(U_j^{n+1}\) back to the previous time level where the solution can be computed by linear interpolation from neighbouring grid points. More details are given in Mesinger and Arakawa (1976) [29].

Fig. 25.5
figure 5

Velocity-direction-independent piecewise-constant behavior (UDS)

The most simple subcell interpolation assumes piecewise-constant behaviour, as shown in Fig. 25.5. In this case, we have \(u(x)=u_j=U_j\) across cell \(j\), with discontinuities at cell faces. At any particular face, information is coming from the upstream side of the face. With the expression of the convection flux

$$\begin{aligned} \mathcal{F}^n_{j+1/2}=\left\{ \begin{array}{ll} f(U_j^n), &{} \text{ for }\quad a_{j+1/2}^n > 0,\\ f(U_{j+1}^n), &{} \text{ for }\quad a_{j+1/2}^n < 0,\\ \end{array}\right. \end{aligned}$$
(25.16)

a first-order accurate upstream scheme of (25.14) can be written as follows (Huang 1981, [13]):

$$\begin{aligned} U_{j}^{n+1} =U_{j}^{n}-\frac{\varDelta t}{2\varDelta x}\left\{ f_{j+1}^{n}-f_{j-1}^{n} -|a_{j+1/2}^{n}|\varDelta U_{j+1/2}^{n}+|a_{j-1/2}^{n}|\varDelta U_{j-1/2}^{n}\right\} , \end{aligned}$$
(25.17)

in which \(\varDelta U_{j+1/2}^{n}=U_{j+1}^{n}-U_{j}^{n}\), \(f_j^n=f(U_j^n)\). The characteristic speed\(a_{j+1/2}^n\) is defined by using the Rankine-Hugoniot jump condition (Roe 1981, [34]).

$$\begin{aligned} a_{j+1/2}^n=\left\{ \begin{array}{ll} (f_{j+1}^n-f_j^n)/\varDelta U_{j+1/2}^{n}, \;\;\;\;\;&{} \varDelta U_{j+1/2}^{n}\ne 0,\\ a(U_j^n), &{} \varDelta U_{j+1/2}^{n} =0. \end{array}\right. \end{aligned}$$
(25.18)

The difference Eq. (25.17) can be seen as a three-point central difference approximation of (25.14) plus a numerical viscosity term, i.e., its difference form (25.15) with the fluxes at the cell interfaces

$$\begin{aligned} \mathcal{F}^n_{j+1/2}=\textstyle \frac{1}{2}\left( f_{j+1}^n+f_{j}^n-\phi ^n_{j+1/2}\right) , \phi ^n_{j+1/2}=|a_{j+1/2}^n|\varDelta U_{j+1/2}^n, \end{aligned}$$
(25.19)

which indicates that the upstream difference scheme for the convection term is equivalent to the central difference scheme for this term and an additional numerical diffusion term

$$\begin{aligned} \displaystyle \frac{\partial u}{\partial t}+a\displaystyle \frac{\partial u}{\partial x}= \displaystyle \frac{\partial }{\partial x}\left( \varGamma _{\mathrm {num}} \displaystyle \frac{\partial u}{\partial x}\right) , \;\; \text{ with } \varGamma _{\mathrm {num}}=|a|\varDelta x/2. \end{aligned}$$
(25.20)

Similar problems, e.g. oscillations in numerical solutions as discussed in the last subsection with central differences may not be encountered; thus such one-sided upstream differences are not restricted by that kind of criteria of the Péclet number (\(\mathcal{P}e<2\)) but such schemes lead to large numerical diffusion in time-dependent problems.

2.3 Lax-Friedrichs Scheme

Another example of first-order finite difference approximations is the LaxFriedrichs scheme for which (25.14) takes the form

$$\begin{aligned} U_j^{n+1}=\frac{1}{2}(U_{j+1}^n+U_{j-1}^n)-\frac{\varDelta t}{2\varDelta x} \left( f_{j+1}^n-f_{j-1}^n\right) . \end{aligned}$$
(25.21)

It can be seen as the scheme (25.15) with the fluxes

$$\begin{aligned} \mathcal{F}^n_{j+1/2}=\frac{1}{2}\left\{ f^n_{j+1}+f^n_j-\frac{\varDelta x}{\varDelta t}\left( U_{j+1}^n-U_j^n\right) \right\} \end{aligned}$$
(25.22)

at the interfaces. As in the upstream method (25.19), the LaxFriedrichs method also has a numerical dissipation term \(\phi _{j+1/2}^{\mathrm {LF}}=\frac{\varDelta x}{\varDelta t}\varDelta U_{j+1/2}^n\), corresponding to a diffusion coefficient of \(\varGamma _{\mathrm {num}}=(\varDelta x)^2/(2\varDelta t)\).

2.4 Second-Order Upstream Scheme (2UDS) and Fromm’s Method

The upstream difference scheme (25.17) possesses only first-order accuracy in space. By using Taylor series expansion in space, the value at the interface \(x_{j+1/2}\) can be written as

$$\begin{aligned} u_{j+1/2}=u(x_j+\varDelta x/2,t)=u(x_j,t)+\frac{1}{2} \varDelta x\displaystyle \frac{\partial u}{\partial x} +\frac{1}{8}(\varDelta x)^2\displaystyle \frac{\partial ^2 u}{\partial {x}^2} +\cdots . \end{aligned}$$
(25.23)

By retaining only the first two terms of (25.23) and using an upstream difference approximation for the appearing spatial derivative, (25.23) becomes

$$\begin{aligned} U_{j+1/2}^n=u_{j+1/2}^n=\textstyle \frac{3}{2}u_j^n-\textstyle \frac{1}{2}u_{j-1}^n =\textstyle \frac{3}{2}U_j^n-\textstyle \frac{1}{2}U_{j-1}^n, \;\;\; a_{j+1/2}^n>0, \end{aligned}$$
(25.24)

representing a linear extrapolation from \(u_{j-1}\) (\(=U_{j-1}\)) through \(u_{j}^n\) (\(=U_{j}^n\)), as shown in Fig. 25.6, which corresponds to an upwind-weighted piecewise-linear interpolation

$$\begin{aligned} u(x)=u_j+\left( \frac{u_{j}-u_{j-1}}{\varDelta x}\right) x,&\;\;&a_{j+1/2}>0 \end{aligned}$$
(25.25)

across cell \(j\). Similarly, if \(a_{j+1/2}^n<0\), the value at the interface is

$$\begin{aligned} U_{j+1/2}^n=\textstyle \frac{3}{2}U_{j+1}^n-\textstyle \frac{1}{2}U_{j+2}^n, \;\;\; a_{j+1/2}^n<0. \end{aligned}$$
(25.26)
Fig. 25.6
figure 6

Upwind-weighted piecewise-linear subcell interpolation (2UDS)

Relations (25.24 and 25.26) are conveniently implemented as follows

$$\begin{aligned} U_{j+1/2}^n&= \textstyle \frac{1}{2}(U_{j+1}^n+U_{j}^n)- \textstyle \frac{1}{4}(U_{j+2}^n-U_{j+1}^n-U_{j}^n+U_{j-1}^n)\nonumber \\&\quad +\textstyle \frac{1}{4}\,\text{ sgn }(a_{j+1/2}^n)(U_{j+2}^n-3U_{j+1}^n+3U_{j}^n-U_{j-1}^n). \end{aligned}$$
(25.27)

Substituting (25.27) into (25.4) with \(\mathcal{F}_{j+1/2}=f(U_{j+1/2})\), the corresponding difference equation for the upstream scheme can be obtained.

Fromm’s method (Fromm 1968, [9]) results from averaging the values of the second-order central and second-order upstream schemes. Figure 25.7 shows the basic principle of Fromm’s method. The interpolant is linear but dependent on the velocity direction. Across cell \(j\), it has the form

$$\begin{aligned} u(x)=u_j+\left( \frac{u_{j+1}-u_{j-1}}{2\varDelta x}\right) x,&\;\;&a_{j+1/2}>0. \end{aligned}$$
(25.28)

Then, the value at the interface has the form

$$\begin{aligned} U_{j+1/2}^n=\left\{ \begin{array}{ll} U_j^n+\textstyle \frac{1}{4}(U_{j+1}^n-U_{j-1}^n), &{}\quad a_{j+1/2}^n>0,\\ \\ U_{j+1}^n-\textstyle \frac{1}{4}(U_{j+2}^n-U_{j}^n), &{}\quad a_{j+1/2}^n<0. \end{array}\right. \end{aligned}$$
(25.29)

It is instructive to rewrite (25.29) as a linear interpolation plus a correction term

$$\begin{aligned} U_{j+1/2}^n=\left\{ \begin{array}{ll} \textstyle \frac{1}{2}(U_{j+1}^n+U_{j}^n)-\textstyle \frac{1}{4}(U_{j+1}^n-2U_j^n+U_{j-1}^n), &{} a_{j+1/2}^n>0, \\ \textstyle \frac{1}{2}(U_{j+1}^n+U_{j}^n)-\textstyle \frac{1}{4}(U_{j+2}^n-2U_{j+1}^n+U_{j}^n), &{} a_{j+1/2}^n<0, \end{array}\right. \end{aligned}$$
(25.30)

involving upwind-biased curvature (i.e. second-difference) terms.

Fig. 25.7
figure 7

Velocity-direction-independent piecewise-linear subcell interpolation (Fromm)

2.5 QUICK Scheme

The Quadratic Upstream Interpolation for Convective Kinematics (QUICK) scheme stems from a velocity-direction-dependent piecewise-parabolic interpolation through node points, shown in Fig. 25.8. For comparison purposes, the cell averages are taken to be the same as those in previous figures—but note that node values are slightly different. By retaining the first three terms of (25.23) and using upstream-weighted central difference approximations for the derivatives appearing there, i.e.,

$$\begin{aligned} u(x)\!=\!u_j\!+\!\left( \!\frac{u_{j+1}-u_{j-1}}{2\varDelta x}\!\right) x \!+\!\left( \!\frac{u_{j+1}-2u_{j}+u_{j-1}}{2(\varDelta x)^2}\!\right) x^2,&a_{j+1/2}>0, \end{aligned}$$
(25.31)

the estimated interface value is approximately

$$\begin{aligned} U_{j+1/2}^n=\left\{ \begin{array}{ll} U_{j}^n+\textstyle \frac{1}{4}(U_{j+1}^n-U_{j-1}^n)+ \textstyle \frac{1}{8}(U_{j+1}^n-2U_{j}^n+U_{j-1}^n) &{} \text{ for }\quad \ a_{j+1/2}^n>0,\nonumber \\ U_{j+1}^n-\textstyle \frac{1}{4}(U_{j+2}^n-U_{j}^n)+ \textstyle \frac{1}{8}(U_{j+2}^n-2U_{j+1}^n+U_{j}^n) &{} \text{ for }\quad \ a_{j+1/2}^n<0. \end{array}\right. \end{aligned}$$

The difference between the node value \(u_j\) and the cell-average value \(U_j\) is neglected.

Fig. 25.8
figure 8

Velocity-direction-dependent piecewise-quadratic subcell interpolation (QUICK)

We could generalize the CDS, (25.11), second-order upstream, (25.24), Fromm’s, (25.29), and QUICK, (25.2.5), schemes by writing

$$\begin{aligned} U_{j+1/2}^n=\textstyle \frac{1}{2}(U_{j+1}^n+U_{j}^n)- \mathcal{CF} (U_{j+1}^n-2U_{j}^n+U_{j-1}^n) \text{ for } a_{j+1/2}^n>0. \end{aligned}$$
(25.32)

and similarly for \(a_{j+1/2}^n<0\), and thus introduce a “curvature-factor” coefficient, \(\mathcal{CF}\). For the second-order central scheme, \(\mathcal{CF}=0\); for second-order upstream scheme,\(\mathcal{CF}=\textstyle \frac{1}{2}\); for Fromm’s method,\(\mathcal{CF}=\textstyle \frac{1}{4}\); and for the QUICK method,\(\mathcal{CF}=\textstyle \frac{1}{8}\). Such schemes are at least second-order accurate—and third-order accurate for \(\mathcal{CF}=\textstyle \frac{1}{8}\) (Leonard 1995, [23]).

The value at the right interface of these high-order spatial difference schemes is implemented for any sign of \(a_{j+1/2}^n\) as follows

$$\begin{aligned} U_{j+1/2}^n&= \textstyle \frac{1}{2}(U_{j+1}^n+U_{j}^n)- \textstyle \frac{1}{2}\mathcal{CF}(U_{j+2}^n-U_{j+1}^n-U_{j}^n+U_{j-1}^n)\nonumber \\&{}\quad +\textstyle \frac{1}{2}\mathcal{CF}\,\text{ sgn }(a_{j+1/2}^n)(U_{j+2}^n-3U_{j+1}^n+3U_{j}^n-U_{j-1}^n). \end{aligned}$$
(25.33)

In unsteady flows, which are primarily convective, field variations are carried along at the local fluid velocity. A better streaming estimation procedure can be used in conjunction with quadratic upstream interpolation. Such a method was developed by Leonard (1979) [22], named QUICKEST (QUICK with Estimated Streaming Terms). It is third-order accurate in space as the QUICK scheme, and second-order in time. For brevity we do not here repeat this method, but will only demonstrate some numerical results for it.

2.6 Lax-Wendroff and Beam-Warming Schemes

A wide variety of methods can be devised for convection equations by using different finite difference approximations. Most of these are based directly on finite difference approximations or Taylor series expansion in space. The LaxWendroff method (Lax and Wendroff 1960, [20]) is based on Taylor series expansion in time

$$\begin{aligned} u(x,t+\varDelta t)&= u(x,t)+\varDelta t \displaystyle \frac{\partial u}{\partial t}+\frac{1}{2}(\varDelta t)^2\displaystyle \frac{\partial ^2 u}{\partial {t}^2} +\cdots \nonumber \\&= u(x,t)-a\varDelta t \displaystyle \frac{\partial u}{\partial x}+\frac{1}{2}a^2(\varDelta t)^2\displaystyle \frac{\partial ^2 u}{\partial {x}^2} +\cdots , \end{aligned}$$
(25.34)

where in the second line the convection Eq. (25.14) has been used. The LaxWendroff method then results from retaining only the first three terms of (25.34) and using centered difference approximations for the derivatives appearing there,

$$\begin{aligned} U_j^{n+1}=U_{j}^{n}-\frac{a\varDelta t}{2\varDelta x}\left( U_{j+1}^{n}-U_{j-1}^{n}\right) +\frac{(a\varDelta t)^2}{2(\varDelta x)^2}\left( U_{j+1}^{n}-2U_j^n+U_{j-1}^{n}\right) . \end{aligned}$$
(25.35)

The BeamWarming method is a one-sided version of LaxWendroff. It is also obtained from (25.34), but now using second-order accurate one-sided approximations of the derivatives,

$$\begin{aligned} U_j^{n+1}=U_{j}^{n}-\frac{a\varDelta t}{2\varDelta x}\left( 3U_{j}^{n}-4U_{j-1}^{n} +U_{j-2}^{n}\right) +\frac{(a\varDelta t)^2}{2(\varDelta x)^2}\left( U_{j}^{n}-2U_{j-1}^n+U_{j-2}^{n}\right) . \end{aligned}$$
(25.36)

Both the LaxWendroff and the BeamWarming schemes are of second-order accuracy not only in space but also in time.

2.7 Flux Corrected Transport

As has been indicated and will also be seen in numerical results, for problems with convection terms, traditional high-order accuracy methods (e.g., CDS, 2UDS, LaxWendroff, etc) result in unexpected oscillations near zones with steep gradients in the variables, while the first-order upstream differencing scheme (UDS, LaxFriedrichs) exhibits large false diffusion. There is no way of suppressing numerical diffusion and simultaneously having the desired accuracy except by reducing the spatial grid size which causes large computer time. Therefore, it seems quite reasonable to try to add some anti-diffusion to the schemes which balances the unwanted numerical diffusion. Boris and Book (1973) [4] and Book et al. (1975) [2], (1981) [3] offer such a method and call it flux-corrected transport technique (FCT). The FCT strategy is to add as much of this anti-diffusive flux as possible without increasing the variation of the solution, to ensure at least second-order accuracy on smooth solutions and yet give well resolved, non-oscillatory discontinuities.

The method consists of the following steps: (i) one uses one of the traditional schemes (e.g. first-order UDS, LaxFriedrichs or second-order CDS, 2UDS, LaxWendroff,BeamWarming etc), and adds artificial diffusion where necessary (e.g. for second-order schemes) to assure monotonicity and, (ii) one eliminates false diffusion\(\tilde{\varGamma }\) added to high-order schemes (e.g. CDS), or which was inherent in the scheme (e.g. first-order UDS). In principle the second step is of the form

$$\begin{aligned} \displaystyle \frac{\partial u}{\partial t}=- \displaystyle \frac{\partial }{\partial x}\left( \tilde{\varGamma }\displaystyle \frac{\partial u}{\partial x}\right) ,\qquad \tilde{\varGamma }>0, \end{aligned}$$
(25.37)

where \(\tilde{\varGamma }\) denotes the diffusive coefficient which is added artificially or is inherent in the traditional schemes in the first step.

This anti-diffusion can be discretized from time level \(n\) to \(n+1\) in the form

$$\begin{aligned} U_j^{n+1}=U_j^n-\frac{\varDelta t}{(\varDelta x)^2}(\mathcal{A}_{j+1/2}^n-\mathcal{A}_{j-1/2}^n), \end{aligned}$$
(25.38)

where \(\mathcal{A}\) is the corrected anti-diffusive flux which eliminates the excessive numerical diffusion where it is possible. Since additional viscosity is typically needed only near discontinuities and large gradients, the coefficient of this anti-diffusive flux might also depend on the behaviour of the solution, being smaller near discontinuities and steep gradients than in smooth regions.

\(\mathcal{A}\) may be considered as a flux which is successively added and subtracted, thus satisfying conservation conditions. However, positiveness cannot be warranted. To achieve positiveness and avoid formation of new maxima and minima with the transported and diffused solution, a limiter for the anti-diffusive flux is introduced,

$$\begin{aligned} \mathcal{A}_{j+1/2}^n =&\,\tilde{\varGamma }_{j+1/2}^nS_{j+1/2}^n \max \left[ 0, \min \big (|U_{j+1}^n\!-\!U_{j}^n|,\right. \nonumber \\&\left. S_{j+1/2}^n(U_{j}^n\!-\!U_{j-1}^n), S_{j+1/2}^n(U_{j+2}^n\!-\!U_{j+1}^n)\big )\right] \end{aligned}$$
(25.39)

with \(S_{j+1/2}^n=\text{ sgn } (U_{j+1}^n-U_j^n)\). We can see that this correction depends also on neighbouring values, which become important in case of steep gradients. In case the minimum is equal to \(|U_{j+1}^n-U_{j}^n| \ne 0\), we have \(\mathcal{A}_{j+1/2}^n=\tilde{\varGamma }_{j+1/2}^n(U_{j+1}^n-U_j^n)\) as the uncorrected anti-diffusive flux. Otherwise, this formulation does not permit that local maxima or minima are generated.

To see what the flux-correction formula (25.39) does, assume \((U_{j+1}^n-U_j^n)>0\). Then, (25.39) gives either

$$\begin{aligned}&\mathcal{A}_{j+1/2}^n=\tilde{\varGamma }_{j+1/2}^n \max \left[ 0, \min \big ((U_{j+1}^n\!-\!U_{j}^n), (U_{j}^n\!-\!U_{j-1}^n), (U_{j+2}^n\!-\!U_{j+1}^n)\big )\right] \;\;\nonumber \\&\mathrm{{or}}\\&\mathcal{A}_{j+1/2}^n=0,\nonumber \end{aligned}$$
(25.40)

whichever is larger. The anti-diffusive flux,\(\mathcal{A}_{j+1/2}^n\), always tends to decrease \(U_j^{n+1}\) and to increase \(U_{j+1}^{n+1}\). The flux-limiting formula ensures that the corrected flux cannot push \(U_j^{n+1}\) below \(U_{j-1}^{n+1}\), which would produce a new minimum, or push \(U_{j+1}^{n+1}\) above \(U_{j+2}^{n+1}\), which would produce a new maximum. Equation (25.39) is constructed to take care of all cases of sign and slope.

For UDS numerical diffusion is inherent. Here, the uncorrected anti-diffusive flux is \(\tilde{\varGamma }_{j+1/2}= |a_{j+1/2}^n|\varDelta x/2 \) as shown in (25.20). It can be easily seen if this uncorrected anti-diffusive flux is used for FCT, the same numerical results are obtained as for CDS. Therefore, the effect of the limiter (25.39) is decisive for FCT. In the numerical results below, the FCT scheme always indicates the UDS in the first step plus the FCT in the second step.

A more general limiter especially suitable for explicit multi-dimensional implementations is described by Zalesak (1979) [47].

2.8 Total Variation Diminishing

Apart from FCT, another so-called high-resolution method is the Total Variation Diminishing (TVD) method. The concept of TVD schemes was introduced by Harten (1983) [11]. For certain types of equations these algorithms can ensure that the sum of the variations of the field variable over the whole computational domain does not increase with time, thus no spurious numerical oscillations are generated. Since by numerical schemes only the value of the cell average is available, with the concept of TVD the cells are reconstructed in such a way that no spurious oscillation is present near a discontinuity or a zone with steep gradients and high-order accuracy is simultaneously retained, e.g., the solution can be second- or third-order accurate in the smooth parts of the solution, whilst it possesses only first-order accuracy at extrema.

As for the FCT method, the main idea behind the TVD method is also to attempt to use a high-order method, but to modify the method and increase the amount of numerical dissipation in, and only in, the neighbourhood of a discontinuity or a steep gradient so that the potentially occurring oscillations in high-order methods are suppressed.

In the TVD method the non-oscillatory requirement is imposed more directly. It requires that

$$\begin{aligned} \sum _{j=0}^{N-1}|U_{j+1}^{n+1}-U_{j}^{n+1}|\leqslant \sum _{j=0}^{N-1}|U_{j+1}^{n}-U_{j}^{n}|. \end{aligned}$$
(25.41)

The contribution of terms in non-conservative form, e.g. physical source terms, are added separately without the limiting procedures of TVD.

In the upstream method mentioned in Sect. 25.2.2 the physical value at the cell boundary \(U_{j+1/2}\) is assumed to be one of the adjacent cell average values, either \(U_j\) or \(U_{j+1}\). This is equivalent to using a piecewise constant approximation over the cell. It then only gives first-order accuracy. In accordance with the TVD condition the distribution of the physical variables over the cell is introduced by a piecewise linear reconstruction,

$$\begin{aligned} \tilde{u}^n(x,t_n)=U_j^n+\sigma _j^n(x-x_j), x\in [x_{j-1/2},x_{j+1/2}], \end{aligned}$$
(25.42)

where the slope limiter \(\sigma _j=\phi _j(U_{j+1}-U_j)/\varDelta x\) and \(\phi _j\) is defined as a function of the ratio of consecutive gradients \(\theta _j\),

$$\begin{aligned} \phi _j=\phi (\theta _j),\qquad \theta _j=\frac{U_j-U_{j-1}}{U_{j+1}-U_j}. \end{aligned}$$
(25.43)

To obtain the second-order accurate cell reconstruction and satisfy the TVD property, \(\phi (\theta )\) must satisfy some conditions, i.e., it should be confined to a certain region in the \(\phi \)\(\theta \) diagram. Sweby (1984) [38] showed that the region of values displayed in Fig. 25.9a which \(\phi (\theta )\) can take to possess the TVD property must lie in the shaded region; however, for second-order TVD, \(\phi (\theta )\) is confined to lie in the region shown in Fig. 25.9b.

Fig. 25.9
figure 9

a Region of values which \(\phi (\theta )\) can take to possess the TVD property.b Region of values \(\phi (\theta )\) for the second-order TVD methods, where the Superbee limiter (solid line) is on the upper boundary, the Minmod limiter (dashed line) lies on the lower boundary and the Woodward limiter (dotted line) lies between them

There are various selections for the function \(\phi (\theta )\). If \(\phi (\theta )\) is defined by the upper boundary of the second-order TVD region, there results the so-called Superbee limiter (Sweby 1984, [38]),

$$\begin{aligned} \phi ^{\mathrm {Superbee}}(\theta ) =\max (0,\min (1,2\theta ),\min (\theta ,2)), \end{aligned}$$
(25.44)

whilst the Minmod limiter

$$\begin{aligned} \phi ^{\mathrm {Minmod}}(\theta ) =\max (0,\min (1,\theta )) \end{aligned}$$
(25.45)

is obtained, if \(\phi (\theta )\) is defined by the lower boundary of the second-order TVD region. The Woodward limiter (dotted line) lies between them

$$\begin{aligned} \phi ^{\mathrm {Woodward}}(\theta ) =\max (0,\min (2,2\theta ,0.5(1+\theta ))). \end{aligned}$$
(25.46)

Figure 25.9b illustrates the values of \(\phi (\theta )\) for these three limiters. Since \(\phi (\theta )\) determines the value of the anti-diffusive flux, different limiters result in different diffusion. The Minmod and the Superbee limiters are the most and least diffusive of all acceptable limiters, respectively. The Woodward limiter lies in between. Many other different limiters can be found e.g. in Yee (1989) [46].

The application of slope limiters can eliminate unwanted oscillations and gives second-order accurate reconstruction for smooth solutions over the cell (except near critical points). One can therefore develop high-order resolution schemes without spurious oscillation, but with the ability to capture a possible discontinuity.

Consider the piecewise linear reconstruction (25.42); there are two values at each interface, i.e. \(U_{j+1/2}^{\mathrm {L}}\), \(U_{j+1/2}^{\mathrm {R}}\); one stems from the left-side cell \(U_j\), and the other is due to the right-side element, \(U_{j+1}\). They are (see Fig. 25.10)

$$\begin{aligned} U_{j+1/2}^{\mathrm {L}}=U_j+\textstyle \frac{1}{2}\varDelta x \,\sigma _j,\qquad U_{j+1/2}^{\mathrm {R}}=U_{j+1}-\textstyle \frac{1}{2}\varDelta x \,\sigma _{j+1}. \end{aligned}$$
(25.47)

Let us select a few cases of TVD schemes for our tests.

Fig. 25.10
figure 10

The cell average of the physical variable \(U_j\) (dashed line) and the piecewise linear cell reconstruction (solid line) with two values at each interface

MUSCL Schemes. Spatially high-order Monotonic Upstream Schemes for Conservation Laws (MUSCL) are introduced by applying the first-order upstream numerical flux (25.19) and replacing the arguments \(U_j\) and \(U_{j+1}\) by the \(U_{j+1/2}^{\mathrm {L}}\) and \(U_{j+1/2}^{\mathrm {R}}\), respectively. Since the piecewise linear reconstruction is second order accurate, the spatially second-order MUSCL scheme is of the form

$$\begin{aligned} U_j^{n+1}&=U_j^n-\frac{\varDelta t}{\varDelta x}\left( \mathcal{F}_{j+1/2}-\mathcal{F}_{j-1/2}\right) , \nonumber \\ \text{ with } \quad \mathcal{F}_{j+1/2}&={\textstyle \frac{1}{2}}\left\{ f(U_{j+1/2}^{\mathrm {R}}) +f(U_{j+1/2}^{\mathrm {L}})-\phi _{j+1/2}^{\mathrm {MUSCL}}\right\} , \end{aligned}$$
(25.48)

where \(\phi _{j+1/2}^{\mathrm {MUSCL}}= |a_{j+1/2}^{\mathrm {RL}}| \left( U_{j+1/2}^{\mathrm {R}}-U_{j+1/2}^{\mathrm {L}}\right) \) is called the dissipative limiter. The characteristic speed\(a_{j+1/2}^{\mathrm {RL}}\) is obtained from the RankineHugoniot jump condition and given by

$$\begin{aligned} a_{j+1/2}^{\mathrm {RL}}= \left\{ \begin{array}{ll} \displaystyle \frac{f(U_{j+1/2}^{\mathrm {R}})- f(U_{j+1/2}^{\mathrm {L}})}{U_{j+1/2}^{\mathrm {R}}-U_{j+1/2}^{\mathrm {L}}},\;\;\;\;\;\; &{} U_{j+1/2}^{\mathrm {R}}\ne U_{j+1/2}^{\mathrm {L}},\\ a(U_{j+1/2}), &{} U_{j+1/2}^{\mathrm {R}}= U_{j+1/2}^{\mathrm {L}}. \end{array}\right. \end{aligned}$$
(25.49)

TVD LAX–FRIEDRICHS method. A second-order TVD LaxFriedrichs (TVDLF) scheme can be obtained by replacing \(U_{j+1}\) and \(U_j\) in the LaxFriedrichs scheme (25.22) with the second-order accurate \(U_{j+1/2}^{\mathrm {R}}\) and \(U_{j+1/2}^{\mathrm {L}}\),

$$\begin{aligned} U_j^{n+1}=U_j^n-\frac{\varDelta t}{\varDelta x}\left( \mathcal{F}_{j+1/2}-\mathcal{F}_{j-1/2}\right) \end{aligned}$$
(25.50)

where the fluxes are then given by

$$\begin{aligned} \mathcal{F}_{j+1/2} = {\textstyle \frac{1}{2}}\left( f(U_{j+1/2}^{\mathrm {R}}) +f(U_{j+1/2}^{\mathrm {L}})-\phi _{j+1/2}^{\mathrm {TVDLF}} \right) \end{aligned}$$
(25.51)

with the dissipative limiter

$$\begin{aligned} \phi _{j+1/2}^{\mathrm {TVDLF}}=\frac{\varDelta x}{\varDelta t}\varDelta U_{j+1/2}^{\mathrm {RL}}, \end{aligned}$$
(25.52)

where \(\varDelta U_{j+1/2}^{\mathrm {RL}}=U_{j+1/2}^{\mathrm {R}}-U_{j+1/2}^{\mathrm {L}}\). However, this dissipative limiter leads to a very diffusive scheme. Tóth and Odstrčil (1996) [40] suggested that the dissipative limiter should be multiplied by the maximum Courant number\(C_{j+1/2}^{\mathrm {max}}=|a_{j+1/2}|^{\mathrm {max}}\varDelta t/\varDelta x\) to obtain a modified dissipative limiter

$$\begin{aligned} \phi _{j+1/2}^{\mathrm {MTVDLF}}=C_{j+1}^{\mathrm {max}} \phi _{j+1/2}^{\mathrm {TVDLF}}=|a_{j+1/2}|^{\mathrm {max}} \varDelta U_{j+1/2}^{\mathrm {RL}}. \end{aligned}$$
(25.53)

which preserves most of the desired properties of a TVD scheme. This scheme is called the modified TVD LaxFriedrichs method (MTVDLF).Cockburn et al. (1989) [7] took \(|a_{j+1/2}|^{\mathrm {max}}=\max [ |a_{j+1/2}(U_{j+1/2}^{\mathrm {R}})|, |a_{j+1/2}(U_{j+1/2}^{\mathrm {L}})|]\). It can be easily seen that for one-dimensional problems with constant convection velocity both MTVDLF and MUSCL schemes are identical.

3 Comparison of Some Numerical Results

In this section we present numerical results depicting various numerical schemes listed in the last section with respect to several simple test problems.

3.1 A Linear Convection Problem: Travelling Shock Wave

One of the simplest model problems is one-dimensional convection at constant velocity of an initial data with step function in the variable \(u\) without physical diffusion. It has the general solution \(u=g(x-at)\) where \(g(x)\) is the initial distribution of \(u\) assumed by

$$\begin{aligned} g(x)=\left\{ \begin{array}{ll} u_l=1, &{} x\leqslant 0.1, \\ u_r=0, &{} x> 0.1. \end{array}\right. \end{aligned}$$
(25.54)

The solution describes a wave propagating in the positive \(x\)-direction with the speed \(a\) (if \(a>0\)). Since the analytic solution is known in this simple case, the numerical solution can be critically evaluated. Varying velocity fields, multi-dimensionality, and non-rectangular coordinate systems all increase the difficulties in modeling convection problems, but if an algorithm cannot model this simple problem correctly, then it will be of little use in more complex situations.

We choose the dimensionless convection velocity \(a=0.01\), the grid size \(\varDelta x=0.005\) (corresponding to a grid number \(N=200\) for the domain \(x\in [0,1]\)). Because the numerical schemes listed in Sect. 25.2 are of first-order or second-order accuracy in time, respectively, but our main interest is in various spatial difference schemes for the convection term, then in order to avoid numerical error due to discretization in time as far as possible, we choose in the computations a very small time-step size \(\varDelta t=0.005\). For this, the Courant number\(C=a\varDelta t/\varDelta x=0.01\) is much smaller than required by stable conditions for most, but not all, schemes \(C<1\).

Fig. 25.11
figure 11

Comparison of different numerical methods with regard to the convective problem with discontinuous initial data. The computations for the integration of Eq. (25.14) are performed with grid number \(N=200\), dimensionless convective velocity \(a=0.01\) and dimensionless time step \(\varDelta t=0.005\). The results are illustrated for dimensionless time \(t=50\). Solid lines indicate exact solutions; dashed lines are numerical solutions where circles denote the numerical results at every fourth grid point, adapted from Wang and Hutter (2001) [43]. \(\copyright \) John Wiley & Sons, Ltd., reproduced with permission

In Fig. 25.11 the results of using various difference schemes are shown for a dimensionless time \(t=50\). At this instant the jump is moving through \(x=0.6\) from its initial position \(x=0.1\). The highly diffusive nature of the first-order upstream and the LaxFriedrichs schemes (Fig. 25.11a, b) are clearly seen due to inherent numerical diffusion. Especially for the LaxFriedrichs scheme the jump is strongly smeared. For both schemes reducing the grid size \(\varDelta x\) (increasing grid number \(N\)) will reduce numerical diffusion, but at the costs of larger computational time.

Standard second- or higher-order difference methods, e.g. the central, LaxWendroff, second-order upstream,BeamWarming,Fromm, QUICK, QUICKEST schemes, eliminate a great deal of such numerical diffusion but introduce dispersive effects that lead to unphysical oscillations in the numerical solution (Fig. 25.11 c–i). The central and LaxWendroff difference schemes introduce propagating numerical dispersion terms (odd-order derivatives) which corrupt large regions of the flow with unphysical oscillations, which are behind the advancing front and damped with distance from the front. The second upstream and BeamWarming schemes have been successful in eliminating artificial diffusion, while minimizing numerical dispersion. Their leading truncation errors are (potentially oscillatory) third-order-derivative terms. The damped oscillations before the advancing front are typical of these second-order upstream difference methods; however, the fourth-derivative numerical dissipation is sufficiently large to dampen short-wavelength components of the dispersion to some extent. Third-order upstream schemes, e.g. QUICK and QUICKEST, have a leading fourth-derivative truncation error term which is dissipative, but higher-order dispersion terms can still cause overshoots and a few oscillations when excited by nearly discontinuous behaviour of the advected variable. However, they are considerably smaller than the other second-order schemes. The profiles simulated by the QUICK and QUICKEST schemes remain comparatively sharp; the small undershoots and overshoots which develop are each about only \(5\,\%\) of the step height, while for the central and the LaxWendroff schemes such under- and overshoots can reach almost \(30\,\%\) of the step height; and the ranges of oscillations by the QUICK and QUICKEST schemes are also much smaller than that with the second-order schemes.

For high-resolution methods e.g. FCT and TVDLF, no oscillations occur in numerical solutions, but visible smearings do still exist although they are much smaller than for the first-order methods. The modified TVDLF scheme, which is identical with the MUSCL scheme for this problem, indicates the best agreement with the exact solution of this problem. If the Superbee slope limiter, which possesses the least diffusion of all acceptable limiters, is replaced by the Woodward or Minmod limiters, a little more visible diffusion occurs, as seen in Fig. 25.12.

Fig. 25.12
figure 12

Same as in Fig. 25.11 but here only results are shown for the MTVDLF method with the Woodward and Minmod limiters, adapted from Wang and Hutter (2001) [43]. \(\copyright \) John Wiley & Sons, Ltd., reproduced with permission

Table 25.1 Errors [%] of the different numerical schemes with regard to the convective problem with discontinuous initial data

To quantitatively discriminate how well these schemes can describe the convection problem with a discontinuity an error measure for the physical variable \(u\) is introduced,

$$\begin{aligned} Error=\frac{\sum _j|U_j-u_j^{\mathrm {exact}}|}{\sum _j |u_j^{\mathrm {exact}}|}, \end{aligned}$$
(25.55)

where \(u_j^{\mathrm {exact}}\) denotes the exact solution of the \(j\)th cell, while \(U_j\) is the corresponding numerical value.

The errors of various difference schemes are listed in Table 25.1 with different grid numbers \(N\). It can be seen that the errors decrease with increasing grid number for all numerical schemes, not only for the first-order schemes with numerical diffusion but also for high-order schemes with unphysical oscillations. Therefore, in principle, grid refinement can alleviate these numerical errors. The necessary degree of refinement is often completely impracticable for engineering purposes, especially if one is attempting to model problems as unsteady three-dimensional turbulent flow in lake dynamics. It is worthwhile to mention that the numerical solution of the TVDLF method for small grid number (e.g. \(N=30\) or 50) has even a much larger error (numerical diffusion!) than that of the first-order upstream scheme; the reason is the property of the LaxFriedrichs scheme, whose error is proportional to \((\varDelta x)^2\). Therefore, in general, one should abandon the TVDLF method, but use the MTVDLF or MUSCL schemes. It is also interesting to note that the third-order QUICK and QUICKEST schemes may produce more inaccurate results than most first-order or second-order difference schemes if spatial resolution is too rough as for the case of \(N=30\). Thus, simply going to high-order schemes does not necessarily produce a proportionate increase in accuracy. Among some traditional second-order schemes, although their errors are of the same order as MTVDLF in some cases, they should not be used because of their property of oscillation. The MTVDLF scheme is still most preferable, because the oscillations resulting from the schemes are of importance, e.g. in the simulation of horizontal propagation of concentration patterns, in many cases leading to locally negative concentrations or other anomalies.

3.2 A Convection-Diffusion Problem

The second type of model problem to be considered is a one-dimensional constant-coefficient version of (25.1), in which, besides convection, physical diffusion is included. We first consider a simple one-dimensional diffusive problem

$$\begin{aligned} \displaystyle \frac{\partial u}{\partial t}=\varGamma \displaystyle \frac{\partial ^2 u}{\partial {x}^2} ,\;\;\;\;\varGamma =\text{ const }. \end{aligned}$$
(25.56)

The general solution of (25.56) for an arbitrary initial distribution, \(u(x,t=0)=g(x)\), diffusing in an unbounded space is given by (Carslaw and Jaeger 1959, [5])

$$\begin{aligned} u(x,t)=\int _{-\infty }^{\infty } \frac{g(\xi )}{2(\pi \varGamma t)^{1/2}}\ \mathrm {exp}\,\left\{ -\frac{(x-\xi )^2}{4\varGamma t}\right\} d \xi . \end{aligned}$$
(25.57)

Then, the solution for a one-dimensional linear convection-diffusion problem

$$\begin{aligned} \displaystyle \frac{\partial u}{\partial t}+a\displaystyle \frac{\partial u}{\partial x}=\varGamma \displaystyle \frac{\partial ^2 u}{\partial {x}^2} , \;\;\;a=\text{ const },\;\varGamma =\text{ const } \end{aligned}$$
(25.58)

can be given in the form

$$\begin{aligned} u(x,t)=\int _{-\infty }^{\infty } \frac{g(\xi )}{2(\pi \varGamma t)^{1/2}}\ \mathrm {exp}\,\left\{ -\frac{(x-at-\xi )^2}{4\varGamma t}\right\} d \xi . \end{aligned}$$
(25.59)

Numerical results will be compared with this analytic solution.

In our numerical simulations, the various difference schemes displayed in Sect. 25.2 are used for the convection term, but only a classical central difference scheme for the diffusion term, because it is reasonable for most flows of practical interest. We choose all parameters in a physically reasonable range for computing tracer convection-diffusion problems in lakes, even though here we still deal only with one-dimensional problems. The studied domain is 10 km long (\(x\in [0,10]\) km) to ensure that the influence of the boundary conditions is negligible. The grid size is \(\varDelta x=0.1\) km corresponding to a total grid number \(N=100\). The time-step size is \(\varDelta t=2\) s. Test computations indicate that for any smaller time-step size numerical solutions of various difference schemes remain basically unchanged. This means that with this time-step size numerical errors are not related to time truncation, but rather to spatial difference schemes. We assume a constant water velocity \(a=0.04\,\text{ m }\,\text{ s }^{-1}\) in the positive \(x\)-direction (a typical water velocity in lakes) and an initial distribution of tracer concentration

$$\begin{aligned} u(x,t\!=\!0)=\left\{ \begin{array}{ll} 0.4\sin \left[ (x-2)\pi \right] ,&{} x\in [2,3]~\text{ km },\\ 0, &{} \text{ for } \text{ all } \text{ other } x \end{array}\right. \end{aligned}$$
(25.60)

with its maximum at \(x=2.5\) km. A series of computations are performed for various Péclet numbers, see definition (25.13), representing essentially the ratio between convection and diffusion.

Fig. 25.13
figure 13

Results of different numerical methods for the tracer convective problem with the initial data of sinusoidal shape in a finite interval \([2,3]\) km. The computations are performed with grid number \(N=100\) (corresponding to a grid size of \(\varDelta x=100\) m), convective velocity \(a=0.04\,\text{ m }\,\text{ s }^{-1}\) and time step \(\varDelta t=2\) s. The results are displayed for the instant \(t=30\) h. Solid lines indicate exact solutions; dashed lines are numerical solutions where circles denote the numerical results at every second grid points, adapted from Wang and Hutter (2001) [43]. \(\copyright \) John Wiley & Sons, Ltd., reproduced with permission

Fig. 25.14
figure 14

Same as Fig. 25.13 but now for a problem with an additional diffusion term with a diffusion coefficient of \(\varGamma =0.2\,\text{ m }^2\text{ s }^{-1}\), corresponding to a Péclet number of \(\mathcal{P}e=20\). The equation is (25.58) and the exact solution is (25.59), adapted from Wang and Hutter (2001) [43]. \(\copyright \) John Wiley & Sons, Ltd., reproduced with permission

In Fig. 25.13 a–j the numerical solutions (dashed lines with circles) simulated by various schemes and the corresponding analytic solution (solid lines) are illustrated at the instant \(t=30\) h for \(\mathcal{P}e\rightarrow \infty \) indicating pure convection. Results for the LaxFriedrichs and TVDLF schemes are not shown, because for both schemes the tracer is dispersed rapidly as a result of large numerical diffusion due to the large grid size, so that the numerical errors for both schemes are almost always larger than 100 %. Therefore such numerical schemes hold less practical interest for this problem.

It can be seen that, as in Fig. 25.11 for the moving jump problem, all second-order numerical schemes exhibit numerical oscillations, while the first-order upstream and even the high-resolution Flux Corrected Transport (FCT) schemes are accompanied by large numerical diffusion. The behaviour of both the central and the LaxWendroff schemes as well as both the second-order upstream and the Beam-Warming schemes are very similar. The third-order QUICK scheme, especially the QUICKEST scheme achieve better numerical results. Among all these schemes, the result accomplished by the high-resolution MTVDLF (or MUSCL) is closest to the exact solution.

If physical diffusion exists, numerical oscillations caused by high-order numerical schemes can partly or even entirely be damped out, depending on the magnitude of the Péclet number. In Fig. 25.14 the same results as in Fig. 25.13 are depicted but accompanied by physical diffusion with a diffusion coefficient of \(\varGamma =0.2\,\text{ m }^2\text{ s }^{-1}\), corresponding to a Péclet number of \(\mathcal{P}e=20\). Owing to this physical diffusion, the numerical oscillations exist now only in fairly narrow regions with large gradients, and their amplitudes are also much smaller than for pure convection (by comparing with Fig. 25.13). In this case, as the high-resolution MTVDLF scheme, the third-order QUICK and QUICKEST methods produce also fairly good results.

In Table 25.2 the computational errors of various difference schemes are listed for different Péclet numbers \(\mathcal{P}e= \infty ,\, 40, \,20, \, 4,\, 1\) and \(0.4\), which correspond to diffusion coefficients \(\varGamma = 0,\, 0.1,\, 0.2,\,1,\, 4\) and \(10\, \text{ m }^2\text{ s }^{-1}\), respectively. Obviously, computational errors decrease with decreasing Péclet number. If \(\mathcal{P}e<2\), i.e., the effect of diffusion is dominant in the physical process, the oscillations caused by high-order schemes do no longer occur, the errors of almost all numerical schemes are below 2 %, except for the first-order schemes, for which numerical diffusion is still comparable with the physical value. Therefore, oscillatory grid dispersion may be excited only if the Péclet number exceeds the critical value \(\mathcal{P}e=2\), while first-order differences are not restricted by this kind of criteria, however, such schemes lead to large numerical diffusion.

Table 25.2 Errors (in [%]) of the different numerical schemes with regard to the tracer convection-diffusion problem with a sinusoidal shape of the initial data

The differences between the central and LaxWendroff as well as between second-order upstream and BeamWarming schemes are negligibly small, not only for total errors as listen in Table 25.2 but also for their local numerical solutions as illustrated in Figs. 25.13 and 25.14. For the convectively-dominated case (\(\mathcal{P}e>20\)), the QUICK and QUICKEST schemes are much more inaccurate, although they are even more accurate for large physical diffusion (\(\mathcal{P}e\le 1\)) than the MTVDLF scheme with the Superbee limiter. It can also be seen from Table 25.2 that the Woodward and Minmod limiters bring fairly large errors into the MTVDLF scheme for large Péclet number due to large numerical diffusion. Among all cases the MTVDLF scheme with the Superbee slope limiter is proved to be most suitable for this physical problem.

3.3 A Non-Linear Convection Problem

Among the field equations which describe wind-driven circulations in limnological or oceanic dynamics, the balance equation of momentum is non-linear due to its non-linear advection terms. When one attempts to solve non-linear conservation laws numerically one runs into additional difficulties not seen in the linear equation. We have, however, already seen some of the difficulties caused by large gradients of the variable in the linear case. For non-linear problems there are additional difficulties that can arise (LeVeque 1992, [25]):

  • The method might be “non-linearly unstable”, i.e., unstable when applied to the non-linear problem even though the linearized version may appear to be stable. Often oscillations will trigger non-linear instabilities.

  • The method might converge to a function that is not a solution of the original equation.

For instance, consider the non-linear problem (25.14) with \(a(u)=u\) (\(f=\frac{1}{2}u^2\)), corresponding to the Burgers equation, and an initial function

$$\begin{aligned} u(x)=\left\{ \begin{array}{ll} u_l=0.7, &{} x\le 2, \\ u_r=0.1, &{} x> 2 . \end{array}\right. \end{aligned}$$
(25.61)

By use of the RankineHugoniot jump condition (25.49) it is easily seen that the shock speed, the speed at which the discontinuity travels, is given by

$$\begin{aligned} a_\mathrm {jump}=\frac{f(u_r)-f(u_l)}{u_r-u_l}=\textstyle \frac{1}{2}(u_r+u_l)=0.4. \end{aligned}$$
(25.62)

Hence this non-linear equation with the initial condition (25.61) must have the same analytic solution as the linear problem with a constant advection velocity \(a=0.4\).

For this non-linear equation, let numerical simulations be constructed with a non-conservative upwind scheme

$$\begin{aligned} U_j^{n+1}=U_j^n-\frac{\varDelta t}{\varDelta x}U_j^n(U_j^n-U_{j-1}^n) \end{aligned}$$
(25.63)

and a non-conservative central difference scheme

$$\begin{aligned} U_j^{n+1}=U_j^{n-1}-\frac{\varDelta t}{2\varDelta x}U_j^n(U_{j+1}^n-U_{j-1}^n), \end{aligned}$$
(25.64)

as well as the conservative forms of such two schemes

$$\begin{aligned} U_j^{n+1}=U_j^n-\frac{1}{2}\frac{\varDelta t}{\varDelta x}((U_j^n)^2-(U_{j-1}^n)^2) \end{aligned}$$
(25.65)

and

$$\begin{aligned} U_j^{n+1}=U_j^{n-1}-\frac{1}{2}\frac{\varDelta t}{\varDelta x}\left( \left( \frac{U_j^n+U_{j+1}^n}{2}\right) ^2 -\left( \frac{U_j^n+U_{j-1}^n}{2}\right) ^2\right) , \end{aligned}$$
(25.66)

respectively.

Fig. 25.15
figure 15

Comparison of different numerical methods with regard to a one-dimensional non-linear advective problem with discontinuous initial data. Computations are performed with the grid number \(N=100\) and the dimensionless time step \(\varDelta t=0.01\). The results are illustrated for the dimensionless time \(t=10\). Solid lines indicate the exact solution; dashed lines are numerical solutions where circles denote the numerical results at every second grid points, adapted from Wang and Hutter (2001) [43]. \(\copyright \) John Wiley & Sons, Ltd., reproduced with permission

We choose time step \(\varDelta t= 0.01\) and grid size \(\varDelta x=0.1\) (corresponding to a grid number \(N=100\) for the domain \(x\in [0,10]\)). Numerical results obtained by the four difference schemes (25.6325.66) and the TVD scheme with the Superbee and Minmod limiters, respectively, are illustrated in Fig. 25.15 for a dimensionless time \(t=10\); at this time the jump has moved to \(x=6\) from its initial position \(x=2\). Some features exhibited in Fig. 25.15 are impressive:

  • The non-conservative forms of UDS and CDS are inadequate to model the non-linear advection equation with a discontinuity or a large gradient of the variable. With the non-conservative UDS, (25.63), the numerical solution propagates at the wrong speed (panel (a)), whereas with the non-conservative CDS, (25.64), although the propagating speed of the solution is fairly accurate, the numerical oscillations are so large that the true solution is overshadowed (panel (c)).

  • The conservative UDS, (25.65), shows excellent agreement with this non-linear problem (panel (b)). Different from the solution of the linear problem (Fig. 25.11a), less numerical diffusion exists here in the result obtained by the UDS.

  • The conservative CDS (25.66) exhibits still large numerical oscillations (panel (d)), although they are much smaller than those by the non-conservative scheme. The propagation of the solution obtained by the conservative CDS seems slightly faster than its exact solution.

  • The TVD scheme with the Minmod limiter exhibits a small amount of visible numerical diffusion (panel (e)). The TVD scheme with the Superbee limiter demonstrates the best performance in this problem (panel (f)).

In summary, the TVD scheme (with the Superbee limiter) is the most suitable difference scheme not only for a linear advection but also for a non-linear advection problem, while the conservative form of the UDS is also suitable but only for the purely non-linear problem.

3.4 Deformation of Temperature Profile Caused by Vertical Convection in Stratified Lakes

As we have seen, for problems with dominant convection terms, conventional high-order accuracy difference methods result in numerical oscillations near steep gradients of variables. Alternatively, first-order difference schemes avoid such oscillations, but inherent numerical diffusion included in such schemes often causes severe inaccuracies. The modified TVDLF method (MTVDLF) seems to be a suitable technique. As another typical illustration of the behaviour of such schemes, consider the temporal alteration of vertical temperature distributions in a stratified lake.

In a lake the stratification varies seasonally according to the solar radiation that heats the upper most layers of the lake, and wind-induced motions and turbulences transfer this heat to greater depths. By late summer these processes will have established a distinct stratification, that essentially divides the water mass into a warm upper layer (epilimnion), a cold deep layer (hypolimnion) which are separated by a transition zone (metalimnion) with a sharp temperature gradient. A typical evolution of such temperature profiles through the seasons is shown in Fig. 1.8 of Chap. 1 in Vol. 1 of this book series. A typical initial vertical temperature profile may be given by

$$\begin{aligned} T(z,t=0)=\left\{ \begin{array}{lr} 17-2\,\text{ exp }\,[(z-20)/5], &{} 0\geqslant z \geqslant -20\,\text{ m },\\ 5+10\,\text{ exp }\,[(-z+20)/5], &{} z \leqslant -20\,\text{ m }, \end{array}\right. \end{aligned}$$
(25.67)

in which the vertical coordinate, \(z\) is directed upward with \(z=0\) at the undeformed water surface. The largest temperature gradient occurs at the depth \(z=-20\) m, which is called thermocline. Under the effect of wind stress at the water surface, strong vertical convection, occurring mainly near lake shores, causes a vertical movement and hence declination of the thermocline. Accurate simulation of the temporal alteration of the stratification is decisively important for studying the baroclinic response of a lake.

In lake dynamics the temperature (energy balance) equation is a three-dimensional convection-diffusion equation. Here, for simplicity, we still only consider one-dimensional motions with a typical vertical velocity of \(1.0\times 10^{-3}\text{ m }\,\text{ s }^{-1}\) upward (upwelling) and downward (downwelling), respectively; we neglect the effect of diffusion, and choose a time step \(\varDelta t=2\) seconds and a grid size \(\varDelta z=2\) m corresponding to a grid number \(N=50\) through the total vertical domain of 100 m. Thus the hyperbolic variant of (25.1) for \(u=T\) is addressed with (25.67) as initial condition.

Fig. 25.16
figure 16

Comparison of the performance of different difference schemes in computations of temperature profiles in upwelling and downwelling areas of a lake, respectively. Solid lines indicate the initial temperature profile, while dashed lines mark the computed temperature distributions after 3 h in upwelling and downwelling areas, respectively, with a convection velocity of \(a=1.0\times 10^{-3}\text{ m }\,\text{ s }^{-1}\), adapted from Wang and Hutter (2001) [43]. \(\copyright \) John Wiley & Sons, Ltd., reproduced with permission

The computed deformations of the temperature profile after 3 days in the presence of upwelling and downwelling, respectively, simulated by central differences, are displayed in Fig. 25.16a. The gradients are smoothed out ahead of the moving frontal interface, while wave-like phenomena appear behind the front. In this example the waves cause numerical oscillations. In many practical computations of lake dynamics such oscillations are so large that numerical instabilities occur. Therefore, they must be removed by the mechanism for simulating convection that should be incorporated in any model, e.g. by use of a physically reasonable first-order upstream simulation of convection or by adding an artificial diffusion. However, it is clear that in this kind of a model the initially steep temperature gradient will soon be dissipated, as the results show in Fig. 25.16b obtained by using the upstream difference scheme. Therefore, removal of the oscillatory effects of the spatial central difference discretization of the convection terms can be accomplished by including sufficient diffusion in the model. However, in general this would mean that numerical diffusion would be far greater than the actual physical diffusion effects. In many cases, such necessary numerical diffusion is so large that numerical results are unrealistic; indeed one can often see in computational lake dynamics that the numerical diffusion is much larger than its physically reasonable counterpart so that some physically interesting phenomena, e.g. internal waves that are a persistent phenomenon everywhere in stratified lakes are damped out rapidly and not discernible in numerical results. In principle, the required artificial diffusion can always be reduced by increasing the spatial resolution (Wang and Hutter 1998, [42]), which may become very costly in terms of computer time. As we have seen, attempts have been made to design numerical schemes that can properly deal with convectively-dominated problems. A successful approach is the use of high-resolution numerical schemes for convection terms. Results are shown in Fig. 25.16c using the FCT scheme and in Fig. 25.16d for the MTVDLF method. It is obvious by comparison with the upstream scheme (Fig. 25.16b) that the FCT scheme reduces the numerical diffusion greatly, but it is still larger than that obtained by the MTVDLF method with the Superbee limiter and smear is still visible. As before, the MTVDLF scheme yields quite accurate results. In fact, the temperature profiles simulated with the MTVDLF scheme (Fig. 25.16d) are essentially a parallel move of its initial distribution upward (upwelling) and downward (downwelling).

4 Concluding Remarks

Satisfactory numerical modeling of convection problems presents a well-known dilemma to the computational fluid dynamicist. On the one hand, traditional second-order differences lead often to unphysical oscillatory behaviour or disastrous non-convergence in regions where convection strongly dominates diffusion. On the other hand, computations based on the classical alternative of first-order, e.g. upstream differencing often suffer from severe inaccuracies due to truncation errors. This error mechanism can be associated with equivalent artificial numerical diffusion terms introduced by the first-order upstream differencing of convection. Although, in principle, grid refinement can alleviate all these problems, the necessary degree of refinement is often impracticable for engineering purposes. The quadratic upstream interpolations for convective kinematic schemes (QUICK and QUICKEST) have the desirable simultaneous properties of third-order accuracy and inherent numerical convective stability. Compared with traditional first-order or second-order difference schemes, the QUICKEST method can produce a solution of high accuracy, but the methods are clearly limited in their ability to resolve regions of large gradients if spatial resolution is not sufficiently high. With the development of modern numerical modeling, one has step by step found a way out of the dilemma: the use of so-called high-resolution methods. Between two high-resolution methods, the FCT scheme possesses almost no advantage over the QUICK or QUICKEST schemes. The effects of the modified TVDLF (MTVDLF) method, which in one-dimensional problems is in agreement with the MUSCL scheme, is highly dependent on the used slope limiters in some cases. Computations indicate that the MTVDLF scheme with the Superbee slope limiter is most favourable in treating convectively-dominated problems.

Although the modified TVDLF schemes can describe convection problems with a discontinuity or a large gradient very well, they are at most first order accurate at local extrema. This disadvantage results in some cases in the so-called clipping phenomena, an example of which was illustrated in Tai (2000) [39]. To circumvent this, more modern shock-capturing ENO (Essentially Non-Oscillatory) (LeVeque 1992, [25]; Sonar 1997, [37]) and WENO (Weighted Essentially Non-Oscillatory) schemes have been introduced (Jiang and Wu 1999, [16]; Liu et al. 1994, [27]).

In lake and ocean dynamics, with the introduction of three-dimensional circulation models the convection terms take on considerable importance; if not in the equations of motion, then certainly in the temperature and salinity equations. Besides, the interest in hydrodynamic modeling as a tool to study water quality problems led to the use of convection-diffusion equations and their approximate treatment to simulate transports of dissolved or suspended matter in natural basins (Hutter and Wang 1998, [14]; Lam and Simons 1976, [21]). To our surprise, so far, in computational lake and ocean dynamics, only few models use high-resolution schemes to simulate convection terms, while most models treat convection terms still only with traditional central or upstream differences. The treatment of convection terms in three-dimensional circulation models in lakes forms the subject of the subsequent chapter.