Approximation Schemes for convective term - structured grids - Common
From CFD-Wiki
(→Kappa Schemes and Other schemes) |
m (→Numerical Implementation of HRS (Deffered correction procedure)) |
||
(123 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Discretisation Schemes for convective terms in General Transport Equation. Finite-Volume Formulation, structured grids == | == Discretisation Schemes for convective terms in General Transport Equation. Finite-Volume Formulation, structured grids == | ||
== Introduction == | == Introduction == | ||
- | + | This section describes the discretization schemes of convective terms in finite-volume equations. The accuracy, numerical stability, and boundedness 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 == | == Basic Equations of CFD == | ||
Line 26: | Line 17: | ||
[[Image:Stencil_3a.jpg]] | [[Image:Stencil_3a.jpg]] | ||
- | Equation (1) is integrated over a control volume and the following | + | Equation (1) is integrated over a control volume and the following discretized equation for <math>\boldsymbol{\phi}</math> is produced: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
- | :<math> \boldsymbol{ | + | :<math> |
- | 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}} | + | \boldsymbol{ |
+ | \begin{matrix} | ||
+ | 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} | ||
+ | \end{matrix} | ||
+ | } | ||
</math> | </math> | ||
</td><td width="5%">(2)</td></tr></table> | </td><td width="5%">(2)</td></tr></table> | ||
where <math>\boldsymbol{S_{p}}</math> is the source term for the control volume <math>\boldsymbol{P}</math>, and <math>\boldsymbol{J_{f}}</math> and <math>\boldsymbol{D_{f}}</math> represent, respectively, the convective and diffusive fluxes of <math>\boldsymbol{\phi}</math> across the control-volume face <math>\boldsymbol{f}</math> | where <math>\boldsymbol{S_{p}}</math> is the source term for the control volume <math>\boldsymbol{P}</math>, and <math>\boldsymbol{J_{f}}</math> and <math>\boldsymbol{D_{f}}</math> represent, respectively, the convective and diffusive fluxes of <math>\boldsymbol{\phi}</math> across the control-volume face <math>\boldsymbol{f}</math> | ||
- | <math>\boldsymbol{(f=h,l,n,s,e,w)}</math> | + | <math>\boldsymbol{(f=h,l,n,s,e,w)}</math>. |
The convective fluxes through the cell faces are calculated as: | The convective fluxes through the cell faces are calculated as: | ||
Line 43: | Line 39: | ||
\boldsymbol{ J_{f}=C_{f}\phi_{f} } | \boldsymbol{ J_{f}=C_{f}\phi_{f} } | ||
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(3)</td></tr></table> |
- | where <math>C_{f}</math> is the mass flow rate across the cell face <math>f</math>. The convected variable <math>\phi_{f}</math> associated with this mass flow rate is usually stored at the cell | + | where <math>\boldsymbol{C_{f}}</math> is the mass flow rate across the cell face <math>\boldsymbol{f}</math>. The convected variable <math>\boldsymbol{\phi_{f}}</math> 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 <math>\boldsymbol{\phi_{f}}</math> can be | + | In general, the value of <math>\boldsymbol{\phi_{f}}</math> can be explicitly formulated in terms of its neighbouring nodal values by a functional relationship of the form: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
Line 53: | Line 49: | ||
\phi_{f}=P \left( \phi_{nb} \right) | \phi_{f}=P \left( \phi_{nb} \right) | ||
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(4)</td></tr></table> |
- | where <math>\boldsymbol{\phi_{nb}}</math> denotes the neighbouring-node <math>\boldsymbol{\phi}</math>values. | + | where <math>\boldsymbol{\phi_{nb}}</math> denotes the neighbouring-node <math>\boldsymbol{\phi}</math> values. |
- | Combining equations (\ref{eq3}) through (\ref{eq4a}), the | + | Combining equations (\ref{eq3}) through (\ref{eq4a}), the discretized equation becomes: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \left\{ D_{h} + C_{h} \left[ P \left( \phi_{nb} \right) \right]_{h} \right\} - | + | \begin{matrix} |
- | \left\{ D_{l} + C_{l} \left[ P \left( \phi_{nb} \right) \right]_{l} \right\} + | + | \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_{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_{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_{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} | + | \left\{ D_{w} + C_{w} \left[ P \left( \phi_{nb} \right) \right]_{w} \right\} & = S_{p} |
+ | \end{matrix} | ||
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(5)</td></tr></table> |
== Convection Schemes == | == Convection Schemes == | ||
- | All the convection schemes involve a stencil of cells in which the values of <math>\boldsymbol{\phi}</math> will be used to construct the face value <math>\boldsymbol{\phi_{f}}</math> | + | All of the convection schemes involve a stencil of cells in which the values of <math>\boldsymbol{\phi}</math> will be used to construct the face value <math>\boldsymbol{\phi_{f}}</math> |
- | [[Image: | + | [[Image:NM_convectionschemes_Stencil_2a.jpg]] |
- | + | ||
- | + | ||
Where flow is from left to right, and <math>\boldsymbol{f}</math> is the face in question. | Where flow is from left to right, and <math>\boldsymbol{f}</math> is the face in question. | ||
- | <math>\boldsymbol{ | + | <math>\boldsymbol{U}</math> - mean '''U'''pstream node |
- | <math>\boldsymbol{ | + | <math>\boldsymbol{C}</math> - mean '''C'''entral node |
- | <math>\boldsymbol{ | + | <math>\boldsymbol{D}</math> - mean '''D'''ownstream node |
- | + | In the first plot, it is not so natural to think of 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 <math>\boldsymbol{f}</math>. | |
== Basic Discretisation schemes == | == Basic Discretisation schemes == | ||
- | === Central Differencing Scheme (CDS)=== | + | === 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 <math>\boldsymbol{\phi_{f}}</math> would appear to be the CDS, which calculates the cell-face value from: | The most natural assumption for the cell-face value of the convected variable <math>\boldsymbol{\phi_{f}}</math> would appear to be the CDS, which calculates the cell-face value from: | ||
Line 97: | Line 95: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \phi_{f}=0.5 \left( \phi_{ | + | \phi_{f}=0.5 \left( \phi_{C} + \phi_{D} \right) |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(6)</td></tr></table> |
- | + | ||
- | + | ||
- | + | or for more common case: | |
- | === | + | <table width="100%"><tr><td> |
+ | :<math> | ||
+ | \phi_e = \phi_E \lambda_e + \phi_P \left( 1 - \lambda_e \right) | ||
+ | </math> | ||
+ | </td><td width="5%">(7)</td></tr></table> | ||
- | + | where the linear interpolation factor is definied as: | |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \lambda_e = \frac{x_e - x_P}{x_E - x_P} | |
</math> | </math> | ||
- | </td><td width="5%">(1)</td></tr></table> | + | </td><td width="5%">(8)</td></tr></table> |
+ | |||
+ | |||
+ | normalized variables - uniform grids | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | \hat{\phi}_{f}=0.5 + 0.5 \hat{\phi}_{C} | ||
+ | </math> | ||
+ | </td><td width="5%">(9)</td></tr></table> | ||
+ | |||
+ | normalized variables - non-uniform grids | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | \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}</math> | ||
+ | </td><td width="5%">(10)</td></tr></table> | ||
+ | |||
+ | |||
+ | 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. | ||
+ | |||
+ | [[Image: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 <math>\boldsymbol{f}</math> is the same as the upwind cell-centre value: | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | \boldsymbol{\phi_{f}= \phi_{C} } | ||
+ | </math> | ||
+ | </td><td width="5%">(11)</td></tr></table> | ||
+ | |||
+ | normalised variables | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | \boldsymbol{ \hat{\phi}_{f}= \hat{\phi}_{C} } | ||
+ | </math> | ||
+ | </td><td width="5%">(12)</td></tr></table> | ||
+ | |||
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. | 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. | ||
- | [[Image: | + | |
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | \boldsymbol{\phi_{w}= \phi_{W} } \mbox{ if } \left( \vec{v} \bullet \vec{n} \right)_w \triangleright 0 | ||
+ | </math> | ||
+ | </td><td width="5%">(13)</td></tr></table> | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | \boldsymbol{\phi_{w}= \phi_{P} } \mbox{ if } \left( \vec{v} \bullet \vec{n} \right)_w \triangleleft 0 | ||
+ | </math> | ||
+ | </td><td width="5%">(14)</td></tr></table> | ||
+ | |||
+ | UDS may be written as | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | <math> | ||
+ | \phi_{w}=U^{+}_{w}\phi_{W} + U^{-}_{w}\phi_{P} | ||
+ | </math> | ||
+ | </td><td width="5%">(15)</td></tr></table> | ||
+ | |||
+ | or in more general form | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | <math> | ||
+ | \phi_{f}=U^{+}_{f}\phi_{C} + U^{-}_{f}\phi_{D} | ||
+ | </math> | ||
+ | </td><td width="5%">(16)</td></tr></table> | ||
+ | |||
+ | where | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | U^{+}_{f} = 0.5 \left( 1 + \frac{\left|U_{f} \right|}{U_{f}} \right) | ||
+ | </math> | ||
+ | </td><td width="5%">(17)</td></tr></table> | ||
+ | |||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | U^{-}_{f} = 1 - U^{+}_{f} | ||
+ | </math> | ||
+ | </td><td width="5%">(18)</td></tr></table> | ||
+ | |||
+ | [[Image:NM_convectionschemes_UDS_02.jpg]] | ||
+ | |||
+ | ----------------------------------- | ||
=== Hybrid Differencing Scheme (HDS also HYBRID) === | === Hybrid Differencing Scheme (HDS also HYBRID) === | ||
- | The HDS of Spalding [1972] switches the | + | 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: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \phi_{f}=0.5 \left( \phi_{ | + | \phi_{f}=0.5 \left( \phi_{D} + \phi_{C} \right) \mbox{ for } Pe \triangleleft 2 |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(19)</td></tr></table> |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \phi_{f}= \phi_{ | + | \phi_{f}= \phi_{C} \mbox{ for } Pe \triangleright 2 |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(20)</td></tr></table> |
The cell Peclet number is defined as: | The cell Peclet number is defined as: | ||
Line 144: | Line 229: | ||
Pe= \rho \left| U_{f} \right| A_{f}/D_{f} | Pe= \rho \left| U_{f} \right| A_{f}/D_{f} | ||
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(21)</td></tr></table> |
Line 153: | Line 238: | ||
The HDS scheme is marginally more accurate than the UDS, because the 2nd-order CDS will be used in regions of low Peclet number. | 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 | + | {{reference-paper | author=D.B.Spalding | year=1972 | title=A novel finite-difference formulation for different expressions involving both first and second derivatives | rest=Int. J. Numer. Meth. Engng., 4:551-559, 1972 }} |
- | + | ---------------------------------------------------------------------- | |
- | + | === Power-Law Scheme (also Exponential scheme or PLDS ) === | |
- | + | ||
- | === Power-Law Scheme (also | + | |
* {{reference-book|author=Patankar, S. V.|year=1980|title=Numerical Heat Transfer and Fluid Flow|rest=ISBN 0070487405, McGraw-Hill, New York}} | * {{reference-book|author=Patankar, S. V.|year=1980|title=Numerical Heat Transfer and Fluid Flow|rest=ISBN 0070487405, McGraw-Hill, New York}} | ||
+ | |||
+ | ------------------ | ||
== High Resolution Schemes (HRS) == | == High Resolution Schemes (HRS) == | ||
Line 167: | Line 252: | ||
=== Classification of High Resolution Schemes === | === 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 | + | 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: | ''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: | ||
Line 173: | Line 258: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \phi_{f}= \phi_{ | + | \phi_{f}= \phi_{C} + 0.5 \varphi \left( r \right) \left( \phi_{C}-\phi_{U} \right) |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(22)</td></tr></table> |
- | where <math>\boldsymbol{ | + | where <math>\boldsymbol{\varphi \left( r \right)}</math> is termed a limiter function and the gradient ratio <math>\boldsymbol{r}</math> is defined as: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | r= \left( \phi_{ | + | r= \left( \phi_{D} - \phi_{C} \right) / \left( \phi_{C} - \phi_{U} \right) |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(23)</td></tr></table> |
The generalisation of this approach to handle non-uniform meshes has been given by Waterson [1994] | The generalisation of this approach to handle non-uniform meshes has been given by Waterson [1994] | ||
- | |||
- | |||
Please note that ''linear'' does not mean first order | Please note that ''linear'' does not mean first order | ||
Line 195: | Line 278: | ||
==== Linear schemes ==== | ==== Linear schemes ==== | ||
- | Linear schemes are those for which <math>\boldsymbol{ | + | Linear schemes are those for which <math>\boldsymbol{\varphi}</math> is a linear function of <math>\boldsymbol{r}</math> |
- | *'''<math>\boldsymbol{ | + | *'''<math>\boldsymbol{\varphi(r) = 0}</math>''' is upwind differencing (first-order accurate) |
- | *'''<math>\boldsymbol{ | + | *'''<math>\boldsymbol{\varphi(r) = r}</math>''' is central differencing (second-order accurate) |
- | + | ||
- | ==== Kappa Schemes and Other schemes ==== | + | ==== Kappa-formulation, Kappa-Schemes and Other schemes ==== |
kappa-formulation | kappa-formulation | ||
- | B. van Leer | + | {{reference-paper | author=B. van Leer | year=1985 | title=Upwind-difference methods for aerodynamics problems governed by the Euler equations | rest=Lectures in Appl. Math., 22:327-336 }} |
+ | |||
- | |||
- | |||
--------------------------------------------------------- | --------------------------------------------------------- | ||
- | Higher order schemes are usually members of the <math>\boldsymbol{ | + | Higher order schemes are usually members of the <math>\boldsymbol{\varphi \left( \kappa \right)}</math> class, for which |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = 0.5 \left[ \left( 1 + \kappa \right) r + \left( 1 - \kappa \right) \right] | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(24)</td></tr></table> |
- | Using this equation face | + | Using this equation face variables can be expressed: |
- | in usual | + | in usual variables |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \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] | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(25)</td></tr></table> |
+ | |||
in normalised variables | in normalised variables | ||
+ | |||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \hat{ | + | \hat{\phi_{f}}=\hat{\phi_{C}}+\frac{1}{4} |
- | \left[\left( 1+\kappa \right)\left( 1-\hat{ | + | \left[\left( 1+\kappa \right)\left( 1-\hat{\phi_{C}}\right)+ |
- | \left( 1-\kappa \right)\hat{ | + | \left( 1-\kappa \right)\hat{\phi_{C}}\right] |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(26)</td></tr></table> |
Line 249: | Line 333: | ||
<tr><td><math>\boldsymbol{\kappa = 1}</math> </td><td>CDS (central differencing scheme)</td></tr> | <tr><td><math>\boldsymbol{\kappa = 1}</math> </td><td>CDS (central differencing scheme)</td></tr> | ||
- | <tr><td><math>\boldsymbol{\kappa = | + | <tr><td><math>\boldsymbol{\kappa = 0.5}</math> </td><td>QUICK (quadratic upwind scheme)</td></tr> |
- | <tr><td><math>\boldsymbol{\kappa = | + | <tr><td><math>\boldsymbol{\kappa = -1.0}</math></td><td>LUS (linear upwind scheme)</td></tr> |
<tr><td><math>\boldsymbol{\kappa = 0 }</math></td><td>Fromm</td></tr> | <tr><td><math>\boldsymbol{\kappa = 0 }</math></td><td>Fromm</td></tr> | ||
Line 262: | Line 346: | ||
==== Non-Linear schemes ==== | ==== Non-Linear schemes ==== | ||
- | Non-linear schemes are those for which <math>\boldsymbol{ | + | Non-linear schemes are those for which <math>\boldsymbol{\varphi}</math> is not a linear function of <math>\boldsymbol{r}</math>. They fall into three categories, depending on the linear schemes on which they are based. |
Line 268: | Line 352: | ||
- | SMART (piecewise linear, bounded) | + | '''SMART''' (Sharp and Monotonic Algorithm for Realistic Transport, piecewise linear, bounded) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = \max \left( 0, \min \left( 2r, \ 0.75r + 0.25, \ 4 \right) \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(27)</td></tr></table> |
- | H-QUICK (smooth) | + | '''H-QUICK''' (Harmonic Quadratic Upwind Interpolation Convective Kinetics, smooth) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = 2 \left( r + \left| r \right| \right) / \left( r + 3 \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(28)</td></tr></table> |
- | UMIST (piecewise linear , bounded) | + | '''UMIST''' (Upstream Monotonic Interpolation Scalar Transport, piecewise linear , bounded) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = \max \left( 0, \ \min \left( 2r, \ 0.75r + 0.25, \ 025 r+ 0.75 , 2 \right)\right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(29)</td></tr></table> |
- | CHARM (smooth, bounded) | + | '''CHARM''' (Cubic Parabolic High Accuracy Resolution Method,smooth, bounded) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = r \left( 3r + 1 \right)/\left( r + 1 \right)^{2} \ \mbox{for} \ r \triangleright 0 | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(30)</td></tr></table> |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{for} \ r \triangleleft 0 | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(31)</td></tr></table> |
* <math>\boldsymbol{(b)}</math> Fromm based: | * <math>\boldsymbol{(b)}</math> Fromm based: | ||
- | MUSCL (piecewise linear) | + | '''MUSCL''' (Monotonic Upwind Scheme for Conservation Laws, piecewise linear) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = \max \left( 0, \min \left( 2r, 0.5r + 0.5, 2 \right) \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(32)</td></tr></table> |
- | van Leer (smooth) | + | '''van Leer''' (smooth) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = \left( r + \left| r \right| \right) / \left( r + 1 \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(33)</td></tr></table> |
- | OSPRE (smooth) | + | '''OSPRE''' (smooth) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = 1.5r \left(r +1 \right) / \left( r^{2} + r + 1 \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(34)</td></tr></table> |
- | van Albada (smooth) | + | '''van Albada''' (smooth) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = r \left( r + 1 \right) / \left( r^{2} + 1 \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(35)</td></tr></table> |
* <math>\boldsymbol{(c)}</math> other: | * <math>\boldsymbol{(c)}</math> other: | ||
- | Superbee (piecewise linear) | + | '''Superbee''' (piecewise linear) |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = \max \left(0, \min \left( 2r , 1 \right), \min \left( r , 2 \right) \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(36)</td></tr></table> |
- | + | '''MinMod''' (piecewise linear) | |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | \varphi \left( r \right) = \max \left( 0 , \min \left( r , 1 \right) \right) | |
</math> | </math> | ||
- | </td><td width="5%">( | + | </td><td width="5%">(37)</td></tr></table> |
Line 363: | Line 447: | ||
- | * {{reference-paper|author=Waterson, N. P and Deconinck, H|title=A unified approach to the | + | * {{reference-paper|author=Waterson, N. P and Deconinck, H|title=A unified approach to the design and application of bounded high-order covection schemes|year=1995|rest=9th Int. Conf. on Numerical Methods in Laminar and Turbulent Flow, Atlanta, USA, July 1995, Taylor and Durbetaki eds., Pineridge Press}} |
- | * {{reference-paper|author=Waterson, N. P.|title=Development of bounded high-order convection scheme for general industrial applications|year=1994|rest= | + | * {{reference-paper|author=Waterson, N. P.|title=Development of bounded high-order convection scheme for general industrial applications|year=1994|rest=Project Report 1994-33, von Karman Institute for Fluid Dynamics, Sint-Genesius-Rode, Belgium}} |
- | === Numerical Implementation of HRS === | + | === Numerical Implementation of HRS (Deffered correction procedure) === |
- | The HRS schemes can be introduced into equation (\ref{eq4b}) by using the | + | 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 <math>\boldsymbol{\phi_{f}}</math> by: |
Line 404: | Line 488: | ||
- | where <math>\boldsymbol{B_{p}}</math> | + | where <math>\boldsymbol{B_{p}}</math> contains the the deferred-correction source terms, given by: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
Line 416: | Line 500: | ||
This treatment leads to a diagonally dominant coefficient matrix since it is formed using the UDS. | This treatment leads to a diagonally dominant coefficient matrix since it is formed using the UDS. | ||
- | The final form of the | + | The final form of the discretized equation: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
Line 429: | Line 513: | ||
- | + | Subscript <math>\boldsymbol{P}</math> represents the current computational cell; <math>\boldsymbol{N, S, E, W, H, L}</math> | |
- | represent the six neighbouring cells and <math>\boldsymbol{T}</math> represents the previous timestep ( | + | represent the six neighbouring cells, and <math>\boldsymbol{T}</math> represents the previous timestep (transisent cases only). |
- | The coefficients contain the appropriate contributions from the transient, convective and diffusive terms in (\ref{eq1}) | + | The coefficients contain the appropriate contributions from the transient, convective and diffusive terms in (\ref{eq1}). |
Line 442: | Line 526: | ||
{{reference-paper | author=S.G.Rubin and P.K.Khoshla | year=1982 | title=Polynomial interpolation method for viscous flow calculations | rest=J. Comp. Phys., Vol. 27, pp. 153}} | {{reference-paper | author=S.G.Rubin and P.K.Khoshla | year=1982 | title=Polynomial interpolation method for viscous flow calculations | rest=J. Comp. Phys., Vol. 27, pp. 153}} | ||
+ | |||
+ | == Diagonal dominance criterion == | ||
== Normalised Variables Formulation (NVF) == | == Normalised Variables Formulation (NVF) == | ||
Line 448: | Line 534: | ||
{{reference-paper | author=B.P.Leonard | year=1988 | title=Simple high-accuracy resolution program for convective modelling of discontinuities | rest=International J. Numerical Methods Fluids, 8:1291-1318}} | {{reference-paper | author=B.P.Leonard | year=1988 | title=Simple high-accuracy resolution program for convective modelling of discontinuities | rest=International J. Numerical Methods Fluids, 8:1291-1318}} | ||
- | + | [[Image:NM_convectionschemes_NVD_11.jpg]] | |
- | + | [[Image:NM_convectionschemes_Stencil_NVSF_01a.jpg]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
== Normalised Variables Diagram (NVD) == | == Normalised Variables Diagram (NVD) == | ||
Line 464: | Line 545: | ||
*'' Passing through <math>\boldsymbol{Q}</math> with a slope of 0.75 (for a uniform grid) is necessary and sufficient for third-order accuracy'' | *'' Passing through <math>\boldsymbol{Q}</math> 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 <math>\boldsymbol{Q}</math> in the normalized variable diagram and the slope of the characteristics at the point <math>\boldsymbol{Q}</math> for preserving the third-order accuracy for a nonuniform grid can be obtained by simple algebra using eqs. [.....] | + | The horizontal and vertical coordinates of point <math>\boldsymbol{Q}</math> in the normalized variable diagram, and the slope of the characteristics at the point <math>\boldsymbol{Q}</math> for preserving the third-order accuracy for a nonuniform grid, can be obtained by simple algebra using eqs. [.....] |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | x_{Q} = \frac{C_{2}}{C_{1}+C_{2}} U^{+}_{f} + \frac{1-C_{2}}{1-C_{2}+C_{3}} U^{-}_{f} | |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 475: | Line 556: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | 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} } | + | + \frac{ \left( 1 - C_{2} \right) \left( 1 + C_{3} \right) } { 1 - C_{2} + C_{3} } U^{-}_{f} |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 482: | Line 563: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | + | s_{Q} = \left( 1 + C_{1} \right)\left( 1 - C_{2} \right)U^{+}_{f} + C_{2} \left( 1 + C_{3} \right) U^{-}_{f} | |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 490: | Line 571: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | C_{1} = \frac{\Delta | + | C_{1} = \frac{\Delta x_{W}}{\Delta x_{W}+\Delta x_{WW}}, |
- | + | ||
- | + | ||
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
- | + | <table width="100%"><tr><td> | |
+ | :<math> | ||
+ | C_{2} = \frac{\Delta x_{W}}{\Delta x_{W}+\Delta x_{P}}, | ||
+ | </math> | ||
+ | </td><td width="5%">(1)</td></tr></table> | ||
+ | <table width="100%"><tr><td> | ||
+ | :<math> | ||
+ | C_{3} = \frac{\Delta x_{P}}{\Delta x_{P}+\Delta x_{E}} | ||
+ | </math> | ||
+ | </td><td width="5%">(1)</td></tr></table> | ||
- | + | For a uniform qrid, <math>\boldsymbol{x_{Q} = 0.5, y_{Q} = 0.75}</math> and <math>\boldsymbol{s_{Q} = 0.75}</math> | |
- | + | ||
Normalised variable diagram for various well-known schemes | Normalised variable diagram for various well-known schemes | ||
- | [[Image: | + | [[Image:NM_convectionschemes_NVD_02.jpg]] |
- | == | + | == Normalised Variable and Space Formulation (NVSF) == |
- | == | + | {{reference-paper | author=Darwish M.S. and Moukalled F. | year=1994 | title=Normalized Variable and Space Formulation Methodology for High-Resolution Schemes | rest=Num. Heat Trans., part B, vol. 26, pp. |
+ | 79-96}} | ||
- | |||
- | |||
- | A. | + | {{reference-paper | author=Alves M.A., Cruz P. Mendes A. Magahaes F.D. Pinho F.T., Oliveira P.J. | year=2002 | title=Adaptive multiresolution approach for solution of hyperbolic PDEs | rest= Computational Methods in Applied Mechanics and Engineering, 191, 3909-3928 }} |
+ | |||
+ | [[Image:NM_convectionschemes_NVSFD_03.jpg]] | ||
+ | |||
+ | -------------------- | ||
+ | |||
+ | == Convection Boundedness Criterion (CBC) == | ||
+ | |||
+ | {{reference-paper | author=Choi S.K., Nam H.Y. and Cho M. | year=1995 | title=A comparison of high-order bounded convection schemes | rest=Computational Methods in Applied Mechanics and engineering, Vol. 121, pp. 281-301}} | ||
+ | |||
+ | {{reference-paper | author=Gaskell P.H. and Lau A.K.C. | year=1988 | title=Curvative-compensated convective transport: SMART, a new boundedness-preserving trasport algorithm | rest=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 <math>\hat{\phi_{f}}</math> is bounded if: | ||
+ | |||
+ | *'' for <math> 0 \leq \hat{\phi_{C}} \leq 1 </math>, <math> \hat{\phi} </math> is bounded below by the function <math>\hat{\phi_{f}} = \hat{\phi_{C}}</math> and above by unity and passes through the points (0,0) and (1,1)'' | ||
+ | |||
+ | *'' for <math> \hat{\phi_{C}} \triangleleft 0</math> or <math> \hat{\phi_{C}} \triangleright 1 </math> , <math> \hat{\phi} </math> is equal to <math> \hat{\phi_{C}}</math> '' | ||
+ | |||
+ | |||
+ | The CBC is clearly illustrated in figure below, where the line <math>\hat{\phi_{f}} = \hat{\phi_{C}}</math> 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. | ||
+ | |||
+ | [[Image:NM_convectionschemes_CBC_01.jpg]] | ||
+ | |||
+ | ------------------------------------------------------------------- | ||
+ | |||
+ | == S.K. Godunov theorem == | ||
+ | |||
+ | == Monotonicity Criterion == | ||
+ | |||
+ | == Total Variation Diminishing (TVD)- Simplified Description == | ||
+ | |||
+ | === General issues === | ||
- | + | *{{reference-paper | author=A. Harten | year=1984 | title=On a class of high resolution total-variation stable finite difference schemes | rest=SIAM J. Num. Analysis, 21, p1}} | |
- | J. Comput. Phys., 49:357-393, 1983 | + | *{{reference-paper | author=A. Harten | year=1983 | title=High resolution schemes for hyperbolic conservation laws | rest=J. Comput. Phys., 49:357-393, 1983 }} |
- | {{reference-paper | author=P. K. Sweby| year=1984 | title=High resolution schemes using flux-limiters for hyperbolic conservation laws | rest=SIAM J. Num. Analysis, 21, p995}} | + | *{{reference-paper | author=P. K. Sweby| year=1984 | title=High resolution schemes using flux-limiters for hyperbolic conservation laws | rest=SIAM J. Num. Analysis, 21, p995}} |
----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ||
Line 527: | Line 646: | ||
*''no new local extrema must be created'' | *''no new local extrema must be created'' | ||
- | *''the value of an existing local | + | *''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 <math>\boldsymbol{\ | + | Total Variation (TV) of a function <math>\boldsymbol{\phi}</math> is defined by |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | TV\left( \ | + | TV\left( \phi^{n} \right) = \int_{x} \left| \frac{\partial \phi^{n}}{\partial x} \right| dx |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 542: | Line 661: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | TV\left( \ | + | TV\left( \phi^{n} \right) = \sum^{i=N}_{i=1} \left| \phi^{n}_{i+1} - \phi^{n}_{i} \right| |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 548: | Line 667: | ||
where <math>\boldsymbol{i}</math> - grid point index | where <math>\boldsymbol{i}</math> - grid point index | ||
- | for a set of discrete data <math>\boldsymbol{\ | + | for a set of discrete data <math>\boldsymbol{\phi_{i}}</math> |
- | [[Image: | + | [[Image:NM_convectionschemes_Stencil_TVD_01.jpg]] |
the TV is defined by | the TV is defined by | ||
Line 556: | Line 675: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | TV\left( \ | + | TV\left( \phi^{n} \right) = |
- | \left| \ | + | \left| \phi_{2} - \phi_{1} \right| + |
- | \left| \ | + | \left| \phi_{3} - \phi_{2} \right| + |
- | \left| \ | + | \left| \phi_{4} - \phi_{3} \right| + |
- | \left| \ | + | \left| \phi_{5} - \phi_{4} \right| |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 566: | Line 685: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | TV\left( \ | + | TV\left( \phi^{n} \right) = |
- | \left| \ | + | \left| \phi_{3} - \phi_{1} \right| + |
- | \left| \ | + | \left| \phi_{3} - \phi_{5} \right| |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
- | For monotonicity to be satisfied, this TV | + | For monotonicity to be satisfied, this TV must not be increased! |
- | Finally a numerical scheme is said to be TVD if | + | Finally a numerical scheme is said to be TVD if: |
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \boldsymbol{TV\left( \ | + | \boldsymbol{TV\left( \phi^{n+1} \right) \leq TV\left( \phi^{n} \right)} |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 585: | Line 704: | ||
Using normalised varibles, TVD condition cab be written: | Using normalised varibles, TVD condition cab be written: | ||
+ | |||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \hat{ | + | \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] |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 594: | Line 714: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | \hat{ | + | \hat{\phi_{f}} = \hat{\phi_{C}} \ \ \mbox{for} \ \ \hat{\phi_{C}} \notin \left[ 0,1 \right] |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 604: | Line 724: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | 0 \leq \varphi \left( r \right) \leq minmod \left( 2 , 2r \right) | + | 0 \leq \varphi \left( r \right) \leq \mbox{minmod} \left( 2 , 2r \right) |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 612: | Line 732: | ||
<table width="100%"><tr><td> | <table width="100%"><tr><td> | ||
:<math> | :<math> | ||
- | minmod \left( x , y \right) = \frac{1}{2} \left[ sign \left(x \right) + sign \left(y \right) \right] \min \left( \left| x \right|, \left| y \right| \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) |
</math> | </math> | ||
</td><td width="5%">(1)</td></tr></table> | </td><td width="5%">(1)</td></tr></table> | ||
Line 620: | Line 740: | ||
---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ||
- | == | + | == Total Variation Diminishing Diagram (Sweby diagram) == |
- | === | + | === Flux-limiting formulation === |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
[[Image:NM_convectionschemes_TVD_D_01.jpg]] | [[Image:NM_convectionschemes_TVD_D_01.jpg]] | ||
- | + | == Discretization schemes Quality Criterions == | |
- | |||
- | |||
- | |||
- | |||
- | + | ---- | |
- | + | <i> Return to [[Numerical methods | Numerical Methods]] </i> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | [[ | + | |
- | + | ||
- | + | ||
- | [[ | + | <i> Return to [[Approximation Schemes for convective term - structured grids]] </i> |
Latest revision as of 13:11, 24 October 2016
Discretisation Schemes for convective terms in General Transport Equation. Finite-Volume Formulation, structured grids
Introduction
This section describes the discretization schemes of convective terms in finite-volume equations. The accuracy, numerical stability, and boundedness 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:
| (1) |
Equation (1) is integrated over a control volume and the following discretized equation for is produced:
| (2) |
where is the source term for the control volume , and and represent, respectively, the convective and diffusive fluxes of across the control-volume face .
The convective fluxes through the cell faces are calculated as:
| (3) |
where is the mass flow rate across the cell face . The convected variable 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 can be explicitly formulated in terms of its neighbouring nodal values by a functional relationship of the form:
| (4) |
where denotes the neighbouring-node values. Combining equations (\ref{eq3}) through (\ref{eq4a}), the discretized equation becomes:
| (5) |
Convection Schemes
All of the convection schemes involve a stencil of cells in which the values of will be used to construct the face value
Where flow is from left to right, and is the face in question.
- mean Upstream node
- mean Central node
- mean Downstream node
In the first plot, it is not so natural to think of 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 .
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 would appear to be the CDS, which calculates the cell-face value from:
| (6) |
or for more common case:
| (7) |
where the linear interpolation factor is definied as:
| (8) |
normalized variables - uniform grids
| (9) |
normalized variables - non-uniform grids
| (10) |
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.
Upwind Differencing Scheme (UDS) also (First-Order Upwind - FOU)
The UDS assumes that the convected variable at the cell face is the same as the upwind cell-centre value:
| (11) |
normalised variables
| (12) |
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.
| (13) |
| (14) |
UDS may be written as
| (15) |
or in more general form
| (16) |
where
| (17) |
| (18) |
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:
| (19) |
| (20) |
The cell Peclet number is defined as:
| (21) |
in which and are respectively, the cell-face area and physical diffusion coefficient. When
,CDS calculations tends to become unstable so that theHDS reverts to the UDS. Physical diffusion is ignored when .
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:
| (22) |
where is termed a limiter function and the gradient ratio is defined as:
| (23) |
The generalisation of this approach to handle non-uniform meshes has been given by Waterson [1994]
Please note that linear does not mean first order
Linear schemes
Linear schemes are those for which is a linear function of
- is upwind differencing (first-order accurate)
- is central differencing (second-order accurate)
Kappa-formulation, Kappa-Schemes and Other schemes
kappa-formulation
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 class, for which
| (24) |
Using this equation face variables can be expressed:
in usual variables
| (25) |
in normalised variables
| (26) |
The main schemes are
CDS (central differencing scheme) QUICK (quadratic upwind scheme) LUS (linear upwind scheme) Fromm CUS (cubic upwind scheme)
Non-Linear schemes
Non-linear schemes are those for which is not a linear function of . They fall into three categories, depending on the linear schemes on which they are based.
- QUICK based:
SMART (Sharp and Monotonic Algorithm for Realistic Transport, piecewise linear, bounded)
| (27) |
H-QUICK (Harmonic Quadratic Upwind Interpolation Convective Kinetics, smooth)
| (28) |
UMIST (Upstream Monotonic Interpolation Scalar Transport, piecewise linear , bounded)
| (29) |
CHARM (Cubic Parabolic High Accuracy Resolution Method,smooth, bounded)
| (30) |
| (31) |
- Fromm based:
MUSCL (Monotonic Upwind Scheme for Conservation Laws, piecewise linear)
| (32) |
van Leer (smooth)
| (33) |
OSPRE (smooth)
| (34) |
van Albada (smooth)
| (35) |
- other:
Superbee (piecewise linear)
| (36) |
MinMod (piecewise linear)
| (37) |
- 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 by:
| (1) |
where is a higher-order correction which represents the difference between the UDS face value and the higher-order scheme value , i.e.
| (1) |
If equation (\ref{eq10a}) is substituted into equation (\ref{eq4b}), the resulting discretised equation is:
| (1) |
where contains the the deferred-correction source terms, given by:
| (1) |
This treatment leads to a diagonally dominant coefficient matrix since it is formed using the UDS.
The final form of the discretized equation:
| (1) |
Subscript represents the current computational cell;
represent the six neighbouring cells, and represents the previous timestep (transisent 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.
Normalised Variables Diagram (NVD)
According to Leonard [1988], for any (in general nonlinear) characteristics in the normalized variable diagram (see figure below):
- Passing through is necessary and sufficient for second-order accuracy
- Passing through 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 in the normalized variable diagram, and the slope of the characteristics at the point for preserving the third-order accuracy for a nonuniform grid, can be obtained by simple algebra using eqs. [.....]
| (1) |
| (1) |
| (1) |
where
| (1) |
| (1) |
| (1) |
For a uniform qrid, and
Normalised variable diagram for various well-known schemes
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.
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 is bounded if:
- for , is bounded below by the function and above by unity and passes through the points (0,0) and (1,1)
- for or , is equal to
The CBC is clearly illustrated in figure below, where the line 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.
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 is defined by
| (1) |
Total Variation (TV) of a numerical solution is defined by
| (1) |
where - grid point index
for a set of discrete data
the TV is defined by
| (1) |
| (1) |
For monotonicity to be satisfied, this TV must not be increased!
Finally a numerical scheme is said to be TVD if:
| (1) |
where - time step or iteration index
Using normalised varibles, TVD condition cab be written:
| (1) |
| (1) |
To obtain differencing scheme, satisfying TVD condition, flux limiter is included, which depends upon function's gradients.
In order to provide monotonicity of the solution, it is necessary to implement condition [K. Fletcher]
| (1) |
where
| (1) |
Total Variation Diminishing Diagram (Sweby diagram)
Flux-limiting formulation
Discretization schemes Quality Criterions
Return to Numerical Methods
Return to Approximation Schemes for convective term - structured grids