Shock capturing method

From Wikipedia, the free encyclopedia
  (Redirected from Shock capturing)
Jump to: navigation, search

In computational fluid dynamics, shock-capturing methods are a class of techniques for computing inviscid flows with shock waves. Computation of flow through shock waves is an extremely difficult task because such flows result in sharp, discontinuous changes in flow variables pressure, temperature, density, and velocity across the shock.

Explanation[edit]

In shock-capturing approach the governing equations of inviscid flows (Euler equations) are cast in conservation form and any shock waves or discontinuities are computed as part of the solution. Here, no special treatment is employed to take care of the shocks themselves. This is in contrast to the shock-fitting method, where shock waves are explicitly introduced in the solution using appropriate shock relations (Rankine–Hugoniot relations).

The shock capturing methods are relatively simple compared to the more elaborate shock fitting methods. However, the shock waves predicted by shock-capturing methods are generally not sharp and smear over several grid points. Also, classical shock-capturing methods have the disadvantages that unphysical oscillations (Gibbs phenomenon) may develop near strong shocks.

Euler equation[edit]

The Euler equations are the governing equations for inviscid flows. To implement shock-capturing methods, the conservation form of the Euler equations are used. For a flow without external heat transfer and work transfer (isoenergetic flow), the conservation form of the Euler equation in Cartesian coordinate system can be written as


 \frac{\partial {\bold U}}{\partial t} + \frac{\partial {\bold F}}{\partial x} + \frac{\partial {\bold G}}{\partial y} +
 \frac{\partial {\bold H}}{\partial z} = 0

where the vectors U, F, G, and H are given by

 {\bold U} = \left[
\begin{array}{c}
 \rho \\
 \rho u \\
 \rho v \\
 \rho w \\
 \rho e_t \\
\end{array} \right] \quad 

{\bold F} = \left[
\begin{array}{c}
 \rho u\\
 \rho u^2 + p \\
 \rho uv \\
 \rho uw \\
 (\rho e_t + p)u \\
\end{array} \right] \quad 

{\bold G} = \left[
\begin{array}{c}
 \rho v\\
 \rho vu \\
 \rho v^2 + p \\
 \rho vw \\
 (\rho e_t + p)v \\
\end{array} \right] \quad

{\bold H} = \left[
\begin{array}{c}
 \rho w\\
 \rho wu \\
 \rho wv \\
 \rho w^2 + p \\
 (\rho e_t + p)w \\
\end{array} \right] \qquad

where e_t is the total energy (internal energy + kinetic energy + potential energy) per unit mass. That is


  e_t = e + \frac{u^2 + v^2 + w^2}{2} + gz

The Euler equation may be integrated with any of the shock-capturing methods available to obtain the solution.

Classical and modern shock capturing methods[edit]

From an historical point of view, shock-capturing methods can be classified into two general categories: viz., classical methods and modern shock capturing methods (also called high-resolution schemes). Modern shock-capturing methods are generally upwind based in contrast to classical symmetric or central discretization. Upwind-type differencing schemes attempt to discretize hyperbolic partial differential equations by using differencing biased in the direction determined by the sign of the characteristic speeds. On the other hand, symmetric or central schemes do not consider any information about the wave propagation in the discretization.

No matter what type of shock-capturing scheme is used, a stable calculation in presence of shock waves requires a certain amount of numerical dissipation, in order to avoid the formation of unphysical numerical oscillations. In the case of classical shock-capturing methods, numerical dissipation terms are usually linear and the same amount is uniformly applied at all grid points. Classical shock-capturing methods only exhibit accurate results in the case of smooth and weak-shock solution, but when strong shock waves are present in the solution, non-linear instabilities and oscillations can arise across discontinuities. Modern shock-capturing methods have, however, a non-linear numerical dissipation, with an automatic feedback mechanism which adjusts the amount of dissipation in any cell of the mesh, in accord to the gradients in the solution. These schemes have proven to be stable and accurate even for problems containing strong shock waves.

Some of the well known classical shock-capturing methods include the MacCormack method (uses a discretization scheme for the numerical solution of hyperbolic partial differential equations), Lax–Wendroff method (based on finite differences, uses a numerical method for the solution of hyperbolic partial differential equations), and Beam–Warming method. Examples of modern shock-capturing schemes include, higher-order total variation diminishing (TVD) schemes first proposed by Harten, flux-corrected transport scheme introduced by Boris and Book, Monotonic Upstream-centered Schemes for Conservation Laws (MUSCL) based on Godunov approach and introduced by van Leer, various Essentially Non-Oscillatory schemes (ENO) proposed by Harten et al., and Piecewise Parabolic Method (PPM) proposed by Woodward and Colella. Another important class of high resolution schemes belongs to the approximate Riemann solvers proposed by Roe and by Osher. The schemes proposed by Jameson and Baker, where linear numerical dissipation terms depend on non-linear switch functions, fall in between the classical and modern shock-capturing methods.

References[edit]

Books[edit]

  • Anderson, J. D., "Modern Compressible Flow with Historical Perspective", McGraw-Hill (2004).
  • Hirsch, C., "Numerical Computation of Internal and External Flows", Vol. II, 2nd ed., Butterworth-Heinemann (2007).
  • Laney, C. B., "Computational Gasdynamics", Cambridge Univ. Press 1998).
  • LeVeque, R. J., "Numerical Methods for Conservation Laws", Birkhauser-Verlag (1992).
  • Tannehill, J. C., Anderson, D. A., and Pletcher, R. H., "Computational Fluid Dynamics and Heat Transfer", 2nd ed., Taylor & Francis (1997).
  • Toro, E. F., "Riemann Solvers and Numerical Methods for Fluid Dynamics", 2nd ed., Springer-Verlag (1999).

Technical papers[edit]

  • Boris, J. P. and Book, D. L., "Flux-Corrected Transport III. Minimal Error FCT Algorithms", J. Comput. Phys., 20, 397–431 (1976).
  • Colella, P. and Woodward, P., "The Piecewise parabolic Method (PPM) for Gasdynamical Simulations", J. Comput. Phys., 54, 174–201 (1984).
  • Godunov, S. K., "A Difference Scheme for Numerical Computation of Discontinuous Solution of Hyperbolic Equations", Math. Sbornik, 47, 271–306 (1959).
  • Harten, A., "High Resolution Schemes for Hyperbolic Conservation Laws", J. Comput. Phys., 49, 357–293 (1983).
  • Harten, A., Engquist, B., Osher, S., and Chakravarthy, S. R., "Uniformly High Order Accurate Essentially Non-Oscillatory Schemes III", J. Comput. Phys., 71, 231–303 (1987).
  • Jameson, A. and Baker, T., "Solution of the Euler Equations for Complex Configurations", AIAA Paper, 83–1929 (1983).
  • MacCormack, R. W., "The Effect of Viscosity in Hypervelocity Impact Cratering", AIAA Paper, 69–354 (1969).
  • Roe, P. L., "Approximate Riemann Solvers, Parameter Vectors and Difference Schemes", J. Comput. Phys. 43, 357–372 (1981).
  • Shu, C.-W., Osher, S., "Efficient Implementation of Essentially Non-Oscillatory Shock Capturing Schemes", J. Comput. Phys., 77, 439–471 (1988).
  • van Leer, B., "Towards the Ultimate Conservative Difference Scheme V; A Second-order Sequel to Godunov's Sequel", J. Comput. Phys., 32, 101–136, (1979).