CFD Online Logo CFD Online URL
Home > Wiki > Approximation Schemes for convective term - structured grids -...

Approximation Schemes for convective term - structured grids - Common

From CFD-Wiki

Revision as of 12:17, 7 November 2011 by Michail (Talk | contribs)
Jump to: navigation, search

When we shall fill this page, we offer to make common identifications and definitions, because in different issues was used different notation.

Also we beg everybody to help us with original works. Please see section about what we need. If anyone have literature connected with convective schemes, please drop us a line. Of course You are welcome to participate in Wiki

We shall be very glad and grateful to hear any critical suggestion (please drop a few lines at Wiki Forum)

It is just a skeleton, but we hope that it will be developed into the good thing


Discretisation Schemes for convective terms in General Transport Equation. Finite-Volume Formulation, structured grids


This section describes the discretization schemes of convective terms in finite-volume equations. The accuracy, numerical stability, and boundness of the solution depend on the numerical scheme used for these terms. The central issue is the specification of an appropriate relationship between the convected variable, stored at the cell center, and its value at each of the cell faces.

Basic Equations of CFD

All the conservation equations can be written in the same generic differential form:

  \frac {\partial( \rho \phi )} {\partial t} +  \frac{\partial}{\partial x_{i}} \left( \rho U \phi - \Gamma_{\phi} \frac{\partial\phi}{\partial x_{i}}\right)=S_{\phi}

Stencil 3a.jpg

Equation (1) is integrated over a control volume and the following discretized equation for \boldsymbol{\phi} is produced:

  J_{h} - J_{l} & + J_{n} - J_{s} & + J_{e}- J_{w} & + \\
+ D_{h} - D_{l} & + D_{n} - D_{s} & + D_{e} - D_{s} & = S_{p}

where \boldsymbol{S_{p}} is the source term for the control volume \boldsymbol{P}, and \boldsymbol{J_{f}} and \boldsymbol{D_{f}} represent, respectively, the convective and diffusive fluxes of \boldsymbol{\phi} across the control-volume face \boldsymbol{f} \boldsymbol{(f=h,l,n,s,e,w)}

The convective fluxes through the cell faces are calculated as:

\boldsymbol{  J_{f}=C_{f}\phi_{f} }

where \boldsymbol{C_{f}} is the mass flow rate across the cell face \boldsymbol{f}. The convected variable \boldsymbol{\phi_{f}} associated with this mass flow rate is usually stored at the cell centers, and thus some form of interpolation assumption must be made in order to determine its value at each cell face. The interpolation procedure employed for this operation is the subject of the various schemes proposed in the literature, and the accuracy, stability, and boundedness of the solution depend on the procedure used.

In general, the value of \boldsymbol{\phi_{f}} can be explicity formulated in terms of its neighbouring nodal values by a functional relationship of the form:

   \phi_{f}=P  \left( \phi_{nb} \right)

where \boldsymbol{\phi_{nb}} denotes the neighbouring-node \boldsymbol{\phi}values. Combining equations (\ref{eq3}) through (\ref{eq4a}), the discretized equation becomes:

   \left\{ D_{h} + C_{h} \left[ P \left( \phi_{nb} \right) \right]_{h} \right\} & - &
         \left\{ D_{l} + C_{l} \left[ P \left( \phi_{nb} \right) \right]_{l} \right\} & + & \\   

         \left\{ D_{n} + C_{n} \left[ P \left( \phi_{nb} \right) \right]_{n} \right\} & - & 
         \left\{ D_{s} + C_{s} \left[ P \left( \phi_{nb} \right) \right]_{s} \right\} & + & \\ 

         \left\{ D_{e} + C_{e} \left[ P \left( \phi_{nb} \right) \right]_{e} \right\} & - &
         \left\{ D_{w} + C_{w} \left[ P \left( \phi_{nb} \right) \right]_{w} \right\} & = S_{p}  

Convection Schemes

All the convection schemes involve a stencil of cells in which the values of \boldsymbol{\phi} will be used to construct the face value \boldsymbol{\phi_{f}}

NM convectionschemes Stencil 2a.jpg

Where flow is from left to right, and \boldsymbol{f} is the face in question.

\boldsymbol{U} - mean Upstream node

\boldsymbol{C} - mean Central node

\boldsymbol{D} - mean Downstream node

In the first plot, it is not so natral to think the central node "C" not as the present node "P". It may be thought as the first node to the upstream direction of the surface in question "f".

Basic Discretisation schemes

Central Differencing Scheme (CDS)

It also can be considered as linear interpolation.

The most natural assumption for the cell-face value of the convected variable \boldsymbol{\phi_{f}} would appear to be the CDS, which calculates the cell-face value from:

   \phi_{f}=0.5 \left( \phi_{C} + \phi_{D} \right)

or for more common case:

\phi_e = \phi_E \lambda_e + \phi_P \left( 1 - \lambda_e \right)

where the linear interpolation factor is definied as:

\lambda_e = \frac{x_e - x_P}{x_E - x_P}

normalized variables - uniform grids

   \hat{\phi}_{f}=0.5 + 0.5 \hat{\phi}_{C}

normalized variables - non-uniform grids

\hat{\phi}_f = 	\left[ \left( 1-C_2 \right) \hat{\phi}_C + C_2 \right] U^{+}_{f} + \left[ C_2 \hat{\phi}_D + \left( 1 - C_2 \right) \right] U^{-}_{f}

This scheme is 2nd-order accurate, but is unbounded so that non-physical oscillations appear in regions of strong convection, and also in the presence of discontinuities such as shocks. The CDS may be used directly in very low Reynolds-number flows where diffusive effects dominate over convection.

NM convectionschemes CDS 02.jpg

Upwind Differencing Scheme (UDS) also (First-Order Upwind - FOU)

The UDS assumes that the convected variable at the cell face \boldsymbol{f} is the same as the upwind cell-centre value:

   \boldsymbol{\phi_{f}=  \phi_{C} }

normalised variables

   \boldsymbol{ \hat{\phi}_{f}=  \hat{\phi}_{C} }

The UDS is unconditionally bounded and highly stable, but as noted earlier it is only 1st-order accurate in terms of truncation error and may produce severe numerical diffusion. The scheme is therefore highly diffusive when the flow direction is skewed relative to the grid lines.

   \boldsymbol{\phi_{w}=  \phi_{W} }  \mbox{ if } \left( \vec{v} \bullet \vec{n} \right)_w \triangleright 0
   \boldsymbol{\phi_{w}=  \phi_{P} }  \mbox{ if } \left( \vec{v} \bullet \vec{n} \right)_w  \triangleleft 0

UDS may be written as

\phi_{w}=U^{+}_{w}\phi_{W} + U^{-}_{w}\phi_{P}


or in more general form

\phi_{f}=U^{+}_{f}\phi_{C} + U^{-}_{f}\phi_{D}



U^{+}_{f} = 0.5 \left( 1 + \frac{\left|U_{f} \right|}{U_{f}} \right)
U^{-}_{f} = 1 - U^{+}_{f}

NM convectionschemes UDS 02.jpg

Hybrid Differencing Scheme (HDS also HYBRID)

The HDS of Spalding [1972] switches the discretization of the convection terms between CDS and UDS according to the local cell Peclet number as follows:

    \phi_{f}=0.5 \left( \phi_{D} + \phi_{C} \right) \mbox{ for } Pe \triangleleft 2

\phi_{f}=  \phi_{C}   \mbox{ for } Pe \triangleright 2

The cell Peclet number is defined as:

   Pe= \rho \left| U_{f} \right| A_{f}/D_{f}

in which \boldsymbol{A_{f}} and \boldsymbol{D_{f}} are respectively, the cell-face area and physical diffusion coefficient. When \boldsymbol{Pe\triangleright 2} ,CDS calculations tends to become unstable so that theHDS reverts to the UDS. Physical diffusion is ignored when \boldsymbol{Pe\triangleright 2}.

The HDS scheme is marginally more accurate than the UDS, because the 2nd-order CDS will be used in regions of low Peclet number.

D.B.Spalding (1972), "A novel finite-difference formulation for different expressions involving both first and second derivatives", Int. J. Numer. Meth. Engng., 4:551-559, 1972.

Power-Law Scheme (also Exponential scheme or PLDS )

  • Patankar, S. V. (1980), Numerical Heat Transfer and Fluid Flow, ISBN 0070487405, McGraw-Hill, New York.

High Resolution Schemes (HRS)

Classification of High Resolution Schemes

HRS can be classified as linear or non-linear, where linear means their coefficients are not direct functions of the convected variable when applied to a linear convection equation. It is important to recognise that linear convection schemes of 2nd-order accuracy or higher may suffer from unboundedness, and are not unconditionally stable.

Non-linear schemes analyse the solution within the stencil and adapt the discretisation to avoid any unwanted behavior, such as unboundedness (see Waterson [1994]). These two types of schemes may be presented in a unified way by use of the Flux-Limiter formulation (Waterson and Deconinck [1995]), which calculates the cell-face value of the convected variable from:

    \phi_{f}= \phi_{C} + 0.5 \varphi \left( r \right) \left( \phi_{C}-\phi_{U} \right)

where \boldsymbol{\varphi \left( r \right)} is termed a limiter function and the gradient ration \boldsymbol{r} is defined as:

    r= \left( \phi_{D} - \phi_{C}  \right) / \left( \phi_{C} - \phi_{U}  \right)

The generalisation of this approach to handle non-uniform meshes has been given by Waterson [1994]

From the equation (\ref{eq9}) it can be seen that \boldsymbol{\varphi=1} gives the UDS and \boldsymbol{\varphi=r} gives the CDS.

Please note that linear does not mean first order

Linear schemes

Linear schemes are those for which \boldsymbol{\varphi}is linear function of \boldsymbol{r}

  • \boldsymbol{\varphi(r) = 0} is upwind differencing (first-order accurate)
  • \boldsymbol{\varphi(r) = r} is central differencing (second-order accurate)

Kappa-formulation, Kappa-Schemes and Other schemes


B. van Leer (1985), "Upwind-difference methods for aerodynamics problems governed by the Euler equations", Lectures in Appl. Math., 22:327-336.

Higher order schemes are usually members of the \boldsymbol{\varphi \left( \kappa \right)} class, for which

\varphi \left( r \right) = 0.5 \left[ \left( 1 + \kappa \right) r + \left(  1 - \kappa \right) \right]

Using this equation face variables can be expressed:

in usual variables

\phi_{f}=\phi_{C}+ \frac{1}{4}\left[\left( 1+\kappa \right)\left(\phi_{D}-\phi_{C}\right)+\left(1-\kappa \right) \left( \phi_{D}-\phi_{U} \right)\right]

in normalised variables

\left[\left( 1+\kappa \right)\left( 1-\hat{\phi_{C}}\right)+
       \left( 1-\kappa \right)\hat{\phi_{C}}\right]

The main schemes are

\boldsymbol{\kappa = 1} CDS (central differencing scheme)
\boldsymbol{\kappa = 0.5} QUICK (quadratic upwind scheme)
\boldsymbol{\kappa = -1.0}LUS (linear upwind scheme)
\boldsymbol{\kappa = 0 }Fromm
\boldsymbol{\kappa = 1/3}CUS (cubic upwind scheme)

Non-Linear schemes

Non-linear schemes are those for which \boldsymbol{\varphi} is not a linear function of \boldsymbol{r}. They fall into three categories, depending on the linear schemes on which they are based.

  • \boldsymbol{(a)} QUICK based:

SMART (piecewise linear, bounded)

\varphi \left( r \right) =  \max \left( 0, \min \left( 2r, \ 0.75r + 0.25, \ 4  \right) \right)

H-QUICK (smooth)

\varphi \left( r \right) =   2 \left( r + \left| r \right| \right) / \left( r + 3 \right)

UMIST (piecewise linear , bounded)

\varphi \left( r \right) =  \max \left( 0, \ \min \left( 2r, \ 0.75r + 0.25, \ 025 r+ 0.75 , 2 \right)\right)

CHARM (smooth, bounded)

\varphi \left( r \right) =  r \left( 3r + 1 \right)/\left( r + 1 \right)^{2} \ \mbox{for} \ r \triangleright 0
\varphi \left( r \right) =  0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{for} \ r \triangleleft 0
  • \boldsymbol{(b)} Fromm based:

MUSCL (piecewise linear)

\varphi \left( r \right) =  \max \left( 0, \min \left( 2r, 0.5r + 0.5, 2 \right) \right)

van Leer (smooth)

\varphi \left( r \right) =  \left( r + \left| r \right|  \right) / \left( r + 1 \right)

OSPRE (smooth)

\varphi \left( r \right) = 1.5r \left(r +1 \right) / \left( r^{2} + r + 1 \right)

van Albada (smooth)

\varphi \left( r \right) = r \left( r + 1 \right) / \left( r^{2} + 1 \right)
  • \boldsymbol{(c)} other:

Superbee (piecewise linear)

\varphi \left( r \right) =  \max \left(0, \min \left( 2r , 1 \right), \min \left( r , 2 \right) \right)

MinMod (piecewise linear)

\varphi \left( r \right) = \max \left( 0 , \min \left( r , 1 \right) \right)

  • Waterson, N. P and Deconinck, H (1995), "A unified approach to the design and application of bounded high-order covection schemes", 9th Int. Conf. on Numerical Methods in Laminar and Turbulent Flow, Atlanta, USA, July 1995, Taylor and Durbetaki eds., Pineridge Press.
  • Waterson, N. P. (1994), "Development of bounded high-order convection scheme for general industrial applications", Project Report 1994-33, von Karman Institute for Fluid Dynamics, Sint-Genesius-Rode, Belgium.

Numerical Implementation of HRS (Deffered correction procedure)

The HRS schemes can be introduced into equation (\ref{eq4b}) by using the deferred correction procedure of Rubin and Khosla [1982]. This procedure expresses the cell-face value \boldsymbol{\phi_{f}} by:

    \phi_{f}=\phi_{f}\left(U \right) + \phi^{'}_{f}

where \boldsymbol{\phi^{'}_{f}} is a higher-order correction which represents the difference between the UDS face value \boldsymbol{\phi_{f}\left(U \right)} and the higher-order scheme value \boldsymbol{\phi_{f}\left(H \right)} , i.e.

    \phi^{'}_{f}= \phi_{f}\left(H \right) +  \phi_{f}\left(U \right)

If equation (\ref{eq10a}) is substituted into equation (\ref{eq4b}), the resulting discretised equation is:

\left\{ D_{h} + C_{h} \phi_{h} \left( U \right) \right\} - 
\left\{ D_{l} + C_{l} \phi_{l} \left( U \right) \right\} & + &   \\

\left\{ D_{n} + C_{n} \phi_{n} \left( U \right) \right\} - 
\left\{ D_{s} + C_{s} \phi_{s} \left( U \right) \right\} & + &  \\

\left\{ D_{e} + C_{e} \phi_{e} \left( U \right) \right\} - 
\left\{ D_{w} + C_{w} \phi_{w} \left( U \right) \right\} & &=  S_{p} + B_{p}

where \boldsymbol{B_{p}} is the deferred-correction source terms, given by:

   B_{p} = C_{l}\phi^{'}_{l} - C_{h}\phi^{'}_{h} + 
   				 C_{s}\phi^{'}_{s} - C_{n}\phi^{'}_{n} + 
   				 C_{w}\phi^{'}_{w} - C_{e}\phi^{'}_{e}

This treatment leads to a diagonally dominant coefficient matrix since it is formed using the UDS.

The final form of the discretized equation:

  a_{P}\phi_{P}= & & a_{N}\phi_{N} &+& a_{S}\phi_{S} &+& a_{E}\phi_{E} \\
& + & a_{W}\phi_{W} &+& a_{H}\phi_{H} &+& a_{L}\phi_{L} \\
& + & a_{T}\phi_{T} &+& S_{p} &+&  B_{p}

Subscrit \boldsymbol{P} represents the current computational cell; \boldsymbol{N, S, E, W, H, L} represent the six neighbouring cells and \boldsymbol{T} represents the previous timestep (transistent cases only)

The coefficients contain the appropriate contributions from the transient, convective and diffusive terms in (\ref{eq1})

P.K. Khosla and S.G. Rubin (1974), "A diagonally dominant second order accurate implicit scheme", Comput. Fluids, 2 207-209.

S.G.Rubin and P.K.Khoshla (1982), "Polynomial interpolation method for viscous flow calculations", J. Comp. Phys., Vol. 27, pp. 153.

Diagonal dominance criterion

Normalised Variables Formulation (NVF)

B.P.Leonard (1988), "Simple high-accuracy resolution program for convective modelling of discontinuities", International J. Numerical Methods Fluids, 8:1291-1318.

NM convectionschemes NVD 11.jpg

NM convectionschemes Stencil NVSF 01a.jpg

Normalised Variables Diagram (NVD)

According to Leonard [1988], for any (in general nonlinear) characteristics in the normalized variable diagram (see figure below):

  • Passing through \boldsymbol{Q} is necessary and sufficient for second-order accuracy
  • Passing through \boldsymbol{Q} with a slope of 0.75 (for a uniform grid) is necessary and sufficient for third-order accuracy

The horizontal and vertical coordinates of point \boldsymbol{Q} in the normalized variable diagram, and the slope of the characteristics at the point \boldsymbol{Q} for preserving the third-order accuracy for a nonuniform grid, can be obtained by simple algebra using eqs. [.....]

x_{Q} = \frac{C_{2}}{C_{1}+C_{2}}	U^{+}_{f} + \frac{1-C_{2}}{1-C_{2}+C_{3}} U^{-}_{f}
y_{Q} = \frac{C_{2} \left( 1 + C_{1} \right) }{C_{1} + C_{2}}U^{+}_{f} 
+ \frac{ \left( 1 - C_{2} \right) \left( 1 + C_{3} \right) } { 1 - C_{2} + C_{3} } U^{-}_{f}
s_{Q} =  \left( 1 + C_{1} \right)\left( 1 - C_{2}  \right)U^{+}_{f} + C_{2} \left( 1 + C_{3} \right) U^{-}_{f}


C_{1} =  \frac{\Delta x_{W}}{\Delta x_{W}+\Delta x_{WW}},
C_{2} =  \frac{\Delta x_{W}}{\Delta x_{W}+\Delta x_{P}},
C_{3} =  \frac{\Delta x_{P}}{\Delta x_{P}+\Delta x_{E}}

For a uniform qrid, \boldsymbol{x_{Q} = 0.5, y_{Q} = 0.75} and \boldsymbol{s_{Q} = 0.75}

Normalised variable diagram for various well-known schemes

NM convectionschemes NVD 02.jpg

Normalised Variable and Space Formulation (NVSF)

Darwish M.S. and Moukalled F. (1994), "Normalized Variable and Space Formulation Methodology for High-Resolution Schemes", Num. Heat Trans., part B, vol. 26, pp. 79-96.

Alves M.A., Cruz P. Mendes A. Magahaes F.D. Pinho F.T., Oliveira P.J. (2002), "Adaptive multiresolution approach for solution of hyperbolic PDEs", Computational Methods in Applied Mechanics and Engineering, 191, 3909-3928.

NM convectionschemes NVSFD 03.jpg

Convection Boundedness Criterion (CBC)

Choi S.K., Nam H.Y. and Cho M. (1995), "A comparison of high-order bounded convection schemes", Computational Methods in Applied Mechanics and engineering, Vol. 121, pp. 281-301.

Gaskell P.H. and Lau A.K.C. (1988), "Curvative-compensated convective transport: SMART, a new boundedness-preserving trasport algorithm", International Journal for Numerical Methods in Fluids, Vol. 8, No. 6, pp. 617-641.

Gaskel and Lau have formulated the CBC as follows. A numerical approximation to \hat{\phi_{f}} is bounded if:

  • for  0 \leq \hat{\phi_{C}} \leq 1 ,  \hat{\phi} is bounded below by the function \hat{\phi_{f}} = \hat{\phi_{C}} and above by unity and passes through the points (0,0) and (1,1)
  • for  \hat{\phi_{C}} \triangleleft  0 or  \hat{\phi_{C}} \triangleright 1 ,  \hat{\phi} is equal to  \hat{\phi_{C}}

The CBC is clearly illustrated in figure below, where the line \hat{\phi_{f}} = \hat{\phi_{C}} and the shaded area are the region over which the CBC is valid. The importance of the CBC is to provide a sufficient and necessary condition for guaranteeing the bounded solution if at most three neighbouring nodal values are used to approximate face values. It is well known that the positivity of finite-difference coefficients is also a sufficient condition for boundedness, but this is overly stringent, for the existense of negative coefficients does not neccesarily lead to over- or undershoots.

NM convectionschemes CBC 01.jpg

S.K. Godunov theorem

Monotonicity Criterion

Total Variation Diminishing (TVD)- Simplified Description

General issues

  • A. Harten (1984), "On a class of high resolution total-variation stable finite difference schemes", SIAM J. Num. Analysis, 21, p1.
  • A. Harten (1983), "High resolution schemes for hyperbolic conservation laws", J. Comput. Phys., 49:357-393, 1983.
  • P. K. Sweby (1984), "High resolution schemes using flux-limiters for hyperbolic conservation laws", SIAM J. Num. Analysis, 21, p995.

TVD criterion

  • no new local extrema must be created
  • the value of an existing local minimum must be non-decreasing and that of the local maximum must be non-increasing

Total Variation (TV) of a function \boldsymbol{\phi} is defined by

	TV\left( \phi^{n} \right) = \int_{x}  \left| \frac{\partial \phi^{n}}{\partial x} \right| dx

Total Variation (TV) of a numerical solution is defined by

	TV\left( \phi^{n} \right) = \sum^{i=N}_{i=1} \left| \phi^{n}_{i+1} - \phi^{n}_{i} \right|

where \boldsymbol{i} - grid point index

for a set of discrete data \boldsymbol{\phi_{i}}

NM convectionschemes Stencil TVD 01.jpg

the TV is defined by

	TV\left( \phi^{n} \right) = 
	\left| \phi_{2} - \phi_{1} \right| + 
	\left| \phi_{3} - \phi_{2} \right| + 
	\left| \phi_{4} - \phi_{3} \right| + 
	\left| \phi_{5} - \phi_{4} \right|
	TV\left( \phi^{n} \right) = 
	\left| \phi_{3} - \phi_{1} \right| + 
	\left| \phi_{3} - \phi_{5} \right|

For monotonicity to be satisfied, this TV must not be increased!

Finally a numerical scheme is said to be TVD if:

  \boldsymbol{TV\left( \phi^{n+1} \right) \leq TV\left( \phi^{n} \right)}

where \boldsymbol{n} - time step or iteration index

Using normalised varibles, TVD condition cab be written:

\hat{\phi_{C}} \leq \hat{\phi_{f}} \leq 2\hat{\phi_{C}} , \hat{\phi_{f}} \leq 1 \ \ \mbox{for} \ \ \hat{\phi_{C}} \in \left[ 0,1 \right]
\hat{\phi_{f}} = \hat{\phi_{C}}  \ \ \mbox{for} \ \ \hat{\phi_{C}} \notin \left[ 0,1 \right]

To obtain differencing scheme, satisfying TVD condition, flux limiter \boldsymbol{\varphi \left( r \right)} is included, which depends upon function's gradients.

In order to provide monotonicity of the solution, it is necessary to implement condition [K. Fletcher]

0 \leq \varphi \left( r \right) \leq \mbox{minmod} \left( 2 , 2r \right)


\mbox{minmod} \left( x , y \right) = \frac{1}{2} \left[ \mbox{sign} \left(x \right) + \mbox{sign} \left(y \right) \right] \min \left( \left| x \right|, \left| y \right| \right)

Total Variation Diminishing Diagram (Sweby diagram)

Flux-limiting formulation

NM convectionschemes TVD D 01.jpg

Discretization schemes Quality Criterions

Return to Numerical Methods

Return to Approximation Schemes for convective term - structured grids

My wiki