|
|
(16 intermediate revisions not shown) |
Line 1: |
Line 1: |
- | == Discretisation Schemes for convective terms in General Transport Equation. Finite-Volume Formulation, structured grids ==
| + | # [[Approximation Schemes for convective term - structured grids]] |
| + | ## [[Approximation Schemes for convective term - structured grids - Common]] |
| + | ## [[Approximation Schemes for convective term - structured grids - Schemes]] |
| + | ## [[Approximation Schemes for convective term - structured grids - Summary of Discretizations Schemes and examples]] |
| + | ## [[Approximation Schemes for convective term - structured grids - definitions]] |
| + | ## [[Approximation Schemes for convective term - structured grids - What we need: Please help]] |
| + | # [[Approximation Schemes for convective term - unstructured grids]] |
| + | # [[Approximation of Convective Fluxes - structured grids]] |
| + | # [[Approximation of Convective Fluxes - unstructured grids]] |
| | | |
| + | # [[Sand_box_Approximation_Schemes]] |
| | | |
- | == Introduction ==
| + | ---- |
- | | + | <i> Return to [[Numerical methods | Numerical Methods]] </i> |
- | Here is described the discretization schemes of the convective terms in the finite-volume equations. The accuracy, numerical stability and the boundness of the solution depends 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 centre 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:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \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}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | [[Image:Stencil_3a.jpg]]
| + | |
- | | + | |
- | Equation (1) is integrated over a control volume and the following discretised equation for <math>\boldsymbol{\phi}</math> is produced:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<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}
| + | |
- | </math> | + | |
- | </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>
| + | |
- | <math>\boldsymbol{(f=h,l,n,s,e,w)}</math>
| + | |
- | | + | |
- | The convective fluxes through the cell faces are calculated as:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | J_{f}=C_{f}\phi_{f}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</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 centres, 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 depends on the procedure used.
| + | |
- |
| + | |
- | In general, the value of <math>\boldsymbol{\phi_{f}}</math> can be explicity formulated in terms of its neighbouring nodal values by a functional relationship of the form:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \phi_{f}=P \left( \phi_{nb} \right)
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- |
| + | |
- | where <math>\boldsymbol{\phi_{nb}}</math> denotes the neighbouring-node <math>\boldsymbol{\phi}</math>values.
| + | |
- | Combining equations (\ref{eq3}) through (\ref{eq4a}), the discretised equation becomes:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \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}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | == 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>
| + | |
- | | + | |
- | [[Image:picture_01.jpg]]
| + | |
- | | + | |
- | Where flow is from left to right, and <math>\boldsymbol{f}</math> is the face in question.
| + | |
- | | + | |
- | <math>\boldsymbol{u}</math> - mean Upstream node
| + | |
- | | + | |
- | <math>\boldsymbol{c}</math> - mean Central node
| + | |
- | | + | |
- | <math>\boldsymbol{d}</math> - mean Downstream node
| + | |
- | | + | |
- | [[Image:Stencil_2a.jpg]].
| + | |
- | | + | |
- | == Basic Discretisation schemes ==
| + | |
- | | + | |
- | === Central Differencing Scheme (CDS)===
| + | |
- | | + | |
- | 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:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \phi_{f}=0.5 \left( \phi_{c} + \phi_{d} \right)
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- |
| + | |
- | This scheme is 2nd-order accurate, but is unbounded so that unphysical 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)===
| + | |
- | | + | |
- | The UDS assumes that the convected variable at the cell fase <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%">(1)</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.
| + | |
- | | + | |
- | === Hybrid Differencing Scheme (HDS) ===
| + | |
- | | + | |
- | The HDS of Spalding [1972] switches the discretisation of the convection terms between CDS and UDS according to the local cell Peclet number as follows:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \phi_{f}=0.5 \left( \phi_{c} + \phi_{d} \right) for Pe \triangleleft 2
| + | |
- | | + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | | + | |
- | \phi_{f}= \phi_{c} for Pe \triangleright 2
| + | |
- | | + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- |
| + | |
- | The cell Peclet number is defined as:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | Pe= \rho \left| U_{f} \right| A_{f}/D_{f}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | | + | |
- | in which <math>\boldsymbol{A_{f}}</math> and <math>\boldsymbol{D_{f}}</math> are respectively, the cell-face area and physical diffusion coefficient. When <math>\boldsymbol{Pe\triangleright 2}</math>
| + | |
- | ,CDS calculations tends to become unstable so that theHDS reverts to the UDS. Physical diffusion is ignored when <math>\boldsymbol{Pe\triangleright 2}</math>.
| + | |
- | | + | |
- | | + | |
- | The HDS scheme is marginally more accurate than the UDS, because the 2nd-order CDS will be used in regions of low Peclet number.
| + | |
- | | + | |
- | === Power-Law Scheme ===
| + | |
- | | + | |
- | '''S.V.Patankar''', Numerical Heat Transfer and Fluid Flow (McGraw-Hill, New York, 1980)
| + | |
- | | + | |
- | == 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 unboudedness, 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:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \phi_{f}= \phi_{c} + 0.5 B \left( r \right) \left( \phi_{c}-\phi_{u} \right)
| + | |
- | </math> | + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | | + | |
- | where <math>\boldsymbol{B \left( r \right)}</math> is termed a limiter function and the gradient ration <math>\boldsymbol{r}</math> is defined as:
| + | |
- | | + | |
- |
| + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | r= \left( \phi_{d} - \phi_{c} \right) / \left( \phi_{c} - \phi_{u} \right)
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- |
| + | |
- | The generalisation of this approach to handle non-uniform meshes has been given by Waterson [1994]
| + | |
- | | + | |
- | From equation (\ref{eq9}) it can be seen that <math>\boldsymbol{B=1}</math> gives the UDS and <math>\boldsymbol{B=r}</math> gives the CDS.
| + | |
- | | + | |
- | | + | |
- | | + | |
- | '''N.P.Waterson and H.Deconinck''',A unified approach to the desing and application of bounded high-order covection schemes, VKI preprint 1995-21, (1995)
| + | |
- | | + | |
- | '''N.P.Waterson''', Development of bounded high-order convection scheme for general industrial applications, VKI Project Report 1994-33, (1994)
| + | |
- | | + | |
- | === Numerical Implementation of HRS ===
| + | |
- | | + | |
- | The HRS schemes can be introdused into equation (\ref{eq4b}) by using the deffered correction procedure of Rubin and Khosla [1982]. This procedure express the cell-face value <math>\boldsymbol{\phi_{f}}</math> by:
| + | |
- | | + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \phi_{f}=\phi_{f}\left(U \right) + \phi^{'}_{f}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | where <math>\boldsymbol{\phi^{'}_{f}}</math> is a higher-order correction which represents the difference between the UDS face value <math>\boldsymbol{\phi_{f}\left(U \right)}</math> and the higher-order scheme value <math>\boldsymbol{\phi_{f}\left(H \right)}</math> , i.e.
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \phi^{'}_{f}= \phi_{f}\left(H \right) + \phi_{f}\left(U \right)
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- |
| + | |
- | If equation (\ref{eq10a}) is substituted into equation (\ref{eq4b}), the resulting discretised equation is:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | \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}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | | + | |
- | where <math>\boldsymbol{B_{p}}</math> is the deferred-correction source terms, given by:
| + | |
- | | + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | 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}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- |
| + | |
- | This treatment leads to a diagonally dominant coefficient matrix since it is formed using the UDS.
| + | |
- |
| + | |
- | The final form of the discretised equation:
| + | |
- |
| + | |
- | <table width="100%"><tr><td>
| + | |
- | :<math>
| + | |
- | 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}
| + | |
- | </math>
| + | |
- | </td><td width="5%">(1)</td></tr></table>
| + | |
- | | + | |
- | | + | |
- | Subscrit <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 (transistent cases only)
| + | |
- | | + | |
- | The coefficients contain the appropriate contributions from the transient, convective and diffusive terms in (\ref{eq1})
| + | |
- | | + | |
- | | + | |
- | | + | |
- | '''S.G.Rubin and P.K.Khoshla''',Polinomial interpolation method for viscous flow calculations, J. Comp. Phys., Vol. 27, p153, (1982)
| + | |
- | | + | |
- | == Normalised Variables ==
| + | |
- | | + | |
- | | + | |
- | '''B.P.Leonard''' Simple high-accuracy resolution program for convective modelling of discontinuities. International J. Numerical Methods Fluids, 8:1291-1318, 1988
| + | |
- | | + | |
- | == Normalised Variables Diagram (NVD) ==
| + | |
- | | + | |
- | == Total Variation Diminishing (TVD) ==
| + | |
- | | + | |
- | == Convection Boundedness Criterion (CBC) ==
| + | |
- | | + | |
- | | + | |
- | '''Choi S.K.,Nam H.Y.,Cho M.''' A comparison of high-order bounded convection schemes // Computational Methods in Applied Mechanics and engineering. 1995 121. 281-301
| + | |
- | | + | |
- | '''Gaskell P.H., Lau A.K.C.''' Curvative-compensated convective transport: SMART, a new boundedness-preserving trasport algorithm // Internatioan Journal for Numerical Methods in Fluids. 1988. 8, N 6. 617-641
| + | |
- | | + | |
- | == Schemes ==
| + | |
- | | + | |
- | === QUICK - Quadratic Upwind Interpolation for Convective Kinematics ===
| + | |
- | | + | |
- | '''B.P.Leonard''', A stable and accurate modelling procedure based on quadratic interpolation, Comput. Methods Appl. Mech. Engrg. 19 (1979) 58-98
| + | |
- | | + | |
- | === LUS ===
| + | |
- | | + | |
- | === Fromm - Fromm's Upwind Scheme ===
| + | |
- | | + | |
- | === CUS - Cubic Upwind Difference Scheme ===
| + | |
- | | + | |
- | === van Leer limiter ===
| + | |
- | | + | |
- | === Chakravarthy-Osher limiter ===
| + | |
- | | + | |
- | === Sweby \Phi - limiter ===
| + | |
- | | + | |
- | === OSPRE ===
| + | |
- | | + | |
- | === Superbee ===
| + | |
- | | + | |
- | === MINMOD ===
| + | |
- | | + | |
- | === ISNAS - Interpolation Scheme which is Nonoscillatory for Advected Scalars ===
| + | |
- | | + | |
- | Third-order flux-limiter scheme
| + | |
- | | + | |
- | '''M. Zijlema''' , On the construction of a third-order accurate monotone convection scheme with application to turbulent flows in general domains. International Journal for numerical methods in fluids, 22:619-641, 1996.
| + | |
- | | + | |
- | === MUSCL - Monotonic Upwind Scheme for Conservation Laws ===
| + | |
- | | + | |
- | === UMIST ===
| + | |
- | | + | |
- | === SOUCUP - Second-Order Upwind Central differnce-first order UPwind ===
| + | |
- | | + | |
- | | + | |
- | '''Zhu J.''' On the higher-order bounded discretization schemes for finite volume compuyations of incompressible flows // Computational Methods in Applied Mechanics and Engineering. 1992. 98. 345-360
| + | |
- | | + | |
- | === HLPA - Hybrid Linear / Parabolic Approximation ===
| + | |
- | | + | |
- | '''Zhu J'''. Low Diffusive and oscillation-free convection scheme // Communications and Applied Numerical Methods. 1991. 7, N3. 225-232.
| + | |
- | | + | |
- | '''Zhu J., Rodi W.''' A low dispersion and bounded discretization schemes for finite volume computations of incompressible flows // Computational Methods for Applied Mechanics and Engineering. 1991. 92. 87-96
| + | |
- | | + | |
- | === CLAM - Curved-Line Advection Method ===
| + | |
- | | + | |
- | '''Van Leer B.''' , Towards the ultimate conservative difference scheme. II. Monotonicity and conservation combined in a second-order scheme. Journal of Computational Physics 1974; 14:361-370
| + | |
- | | + | |
- | === SMART - Sharp and Monotonic Algorithm for Realistic Transport ===
| + | |
- | | + | |
- | '''P.H.Gaskell and A.C.K. Lau''', Curvature-compensated convective transport: SMART, a new boundedness preserving transport algorithm, International J. Numer. Methods Fluids 8 (1988) 617-641
| + | |
- | | + | |
- | === SMARTER - SMART Efficiently Revised ===
| + | |
- | | + | |
- | === SHARP - Simple High Accuracy Resolution Program ===
| + | |
- | | + | |
- | '''B.P.Leonard''', Simple high-accuracy resolution rogram for convective modelling of discontinuities, International J. Numerical Methods Fluids 8 (1988) 1291-1381
| + | |
- | | + | |
- | === LPPA ===
| + | |
- | | + | |
- | | + | |
- | | + | |
- | === CHARM - Cubic / Parabolic High-Accuracy Resolution Method ===
| + | |
- | | + | |
- | '''G.Zhou''' , Numerical simulations of physical discontinuities in single and multi-fluid flows for arbitrary Mach numbers, PhD Thesis, Chalmers University of Technology, Sweden (1995)
| + | |
- | | + | |
- | === VONOS - Variable-Order Non-Oscillatory Scheme ===
| + | |
- | | + | |
- | '''Varonos A., Bergeles G.''', Development and assessment of a Variable-Order Non-oscillatory Scheme for convection term discretization // International Journal for Numerical Methods in Fluids. 1998. 26, N 1. 1-16
| + | |
- | | + | |
- | === CUBISTA - Convergent and Universally bounded Interpolation Scheme for the Treatment of Advection ===
| + | |
- | | + | |
- | '''M.A. Alves, P.J.Oliveira, F.T. Pinho''', A convergent and Universally Bounded Interpolation Scheme for the Treatment of Advection // International Lournal For Numerical Methods in Fluids 2003, 41; 47-75
| + | |
- | | + | |
- | == Summary of Discretizations Schemes ==
| + | |
- | | + | |
- | == Comparison of Discretizations Schemes ==
| + | |
- | | + | |
- | == Numerical examples ==
| + | |
- | | + | |
- | === Pure convection of a scalar step by a rotating velocity field (Smith-Hutton test) ===
| + | |
- | | + | |
- | == Example code for solving Smith-Hutton test ==
| + | |