main-content

This book is a guide to numerical methods for solving fluid dynamics problems. The most widely used discretization and solution methods, which are also found in most commercial CFD-programs, are described in detail. Some advanced topics, like moving grids, simulation of turbulence, computation of free-surface flows, multigrid methods and parallel computing, are also covered. Since CFD is a very broad field, we provide fundamental methods and ideas, with some illustrative examples, upon which more advanced techniques are built. Numerical accuracy and estimation of errors are important aspects and are discussed in many examples. Computer codes that include many of the methods described in the book can be obtained online. This 4th edition includes major revision of all chapters; some new methods are described and references to more recent publications with new approaches are included. Former Chapter 7 on solution of the Navier-Stokes equations has been split into two Chapters to allow for a more detailed description of several variants of the Fractional Step Method and a comparison with SIMPLE-like approaches. In Chapters 7 to 13, most examples have been replaced or recomputed, and hints regarding practical applications are made. Several new sections have been added, to cover, e.g., immersed-boundary methods, overset grids methods, fluid-structure interaction and conjugate heat transfer.

### Chapter 1. Basic Concepts of Fluid Flow

Abstract
This first chapter introduces the basic concepts of fluid flow and its mathematical description. First, conservation principles for mass, momentum, and scalar quantities are introduced. The governing equations are presented in coordinate-free vector form, in differential form using Cartesian coordinates and base vectors, and in integral form. Dimensionless equations in differential form are also given, together with the description of the main parameters (Reynolds number, Mach number etc.). Several simplified forms of governing equations are also described, followed by the mathematical classification of flows. The plan of the book closes this chapter.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 2. Introduction to Numerical Methods

Abstract
An introduction to numerical solution methods is given in this chapter. The advantages and disadvantages of numerical methods are discussed, and the possibilities and limitations of the computational approach are outlined. This is followed by a description of the components of a numerical solution method and their properties. Finally, a brief description of basic computational methods (finite difference, finite volume and finite element) is given.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 3. Finite Difference Methods

Abstract
In this chapter, finite difference (FD) methods are described for the generic scalar transport equation. Here we present methods of approximating first, second, and mixed derivatives, using Taylor series expansion, and polynomial fitting. Derivation of higher-order methods, and treatment of nonlinear terms and boundaries is discussed. Attention is also paid to the effects of grid non-uniformity on truncation error and to the estimation of discretization errors. Application of some of the basic methods to several examples are described for Cartesian grids. Spectral methods are also briefly introduced, both as tools for analysis and methods for solving differential equations.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 4. Finite Volume Methods

Abstract
The finite volume (FV) method is described for the generic scalar transport equation in this chapter, including the approximation of surface and volume integrals and the use of interpolation to obtain variable values and derivatives at locations other than cell centers. Development of higher-order schemes and simplification of the resulting algebraic equations using the deferred-correction approach is also described. Special attention is paid to the analysis of discretization errors caused by interpolation and integral approximations. Finally, implementation of the various boundary conditions is discussed. The chapter closes with application of some of the basic methods to several examples using Cartesian grids.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 5. Solution of Linear Equation Systems

Abstract
In this chapter, methods of solving the algebraic equation systems resulting from discretization of transport equations are described. Direct methods are briefly described, but the major part of the chapter is devoted to iterative solution techniques. Incomplete lower-upper decomposition, conjugate gradient and multigrid methods are given special attention. Approaches to solving coupled and non-linear systems are also described, including the issues of under-relaxation and convergence criteria. Various solvers can be downloaded from the book web-site (www.​cfd-peric.​de).
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 6. Methods for Unsteady Problems

Abstract
This chapter is devoted to methods of time integration. First, the methods of solving ordinary differential equations are described, including basic methods, predictor-corrector and multipoint methods, and Runge–Kutta methods. The application of these methods to the generic unsteady transport equation is described next, including analysis of stability and accuracy. Implicit second-order schemes, which are most widely used in commercial CFD-software, are described in detail, including the handling of non-uniform time steps. The features of some basic methods are demonstrated on two examples.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 7. Solution of the Navier–Stokes Equations: Part 1

Abstract
The additional complexity of the Navier–Stokes equations and special features for incompressible flows are considered in this chapter and the next; here we cover basic issues, the features of the equations, and the methods of solution. The staggered and collocated variable arrangements, the pressure equation, and the pressure-velocity coupling for incompressible flows using the fractional-step and SIMPLE algorithms are described in detail. Other approaches (the PISO algorithm, streamfunction-vorticity, and artificial compressibility) are also briefly described. The initial and boundary conditions for the Navier–Stokes equations and their implementation on Cartesian grids are also covered.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 8. Solution of the Navier–Stokes Equations: Part 2

Abstract
In this chapter, we cover the implementation details for some commonly used methods for solving the Navier–Stokes equations, and examples of their application are presented. The implicit iterative solution methods for the equations, based on both staggered and collocated variable arrangement on Cartesian grids, are described in sufficient detail to enable writing of a computer code; such codes are available from the book web-site (www.​cfd-peric.​de). Non-iterative implicit methods for unsteady flows are also explained in detail. Finally, some illustrative examples of steady and unsteady laminar flows, computed using provided codes based on the fractional-step and SIMPLE algorithm, are presented and discussed, including evaluation of iteration and discretization errors.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 9. Complex Geometries

Abstract
This chapter is devoted to the treatment of complex geometries. The choices of grid type, grid generation approaches in complex geometries, grid properties, velocity components and variable arrangements are discussed. FD and FV methods are revisited, and the features special to complex geometries (like non-orthogonal, block-structured and unstructured grids, non-conformal grid interfaces, control volumes of arbitrary shape, overlapping grids, etc.) are described. Special attention is paid to the pressure-correction equation and boundary conditions. Some illustrative examples of steady and unsteady, two- and three-dimensional laminar flows computed using provided codes based on the fractional-step and SIMPLE algorithms are presented and discussed; evaluation of discretization errors and comparison of results obtained using different grid types (trimmed Cartesian and arbitrary polyhedral) and commercial CFD-software are also included.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 10. Turbulent Flows

Abstract
This chapter deals with computation of turbulent flows. The nature of turbulence and three methods for its simulation are described: direct and large-eddy simulation and methods based on Reynolds-averaged Navier-Stokes equations. Some widely used models in the latter two approaches are described, including details related to boundary conditions. Examples of application of these approaches, including comparison of their performance, are presented.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 11. Compressible Flow

Abstract
Compressible flows are considered in this chapter. Methods designed for compressible flows are briefly discussed. The extension of pressure-correction approaches based on the fractional-step method and the SIMPLE algorithm for incompressible flows to compressible flows is described in more detail. Methods for dealing with shocks (e.g., grid adaptation, total-variation-diminishing and essentially-non-oscillating schemes) are also discussed. Boundary conditions for various types of compressible flows (subsonic, transonic and supersonic) are described. Finally, application examples are presented and discussed.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 12. Efficiency and Accuracy Improvement

Abstract
This chapter is devoted to accuracy and efficiency improvement and to the quality of numerical grids for complex geometries. The increased efficiency provided by multigrid algorithms is described first, followed by examples. Adaptive grid methods and local grid refinement are the subject of another section. Finally, parallelization is discussed. Special attention is paid (1) to parallel processing for implicit methods based on domain decomposition in space and time and (2) to analysis of the efficiency of parallel processing. Example calculations are used to demonstrate these points.
Joel H. Ferziger, Milovan Perić, Robert L. Street

### Chapter 13. Special Topics

Abstract
Some special issues are considered in this final chapter. These include conjugate heat transfer, flows with free surfaces or variable fluid properties, meteorological and oceanographic applications, the treatment of moving boundaries which require moving grids, simulation of cavitation and fluid-structure interaction. Special effects in flows with heat and mass transfer, two phases and chemical reactions are briefly discussed. The solution forcing technique, as used, e.g., to prevent wave reflection at solution domain boundaries, is also described. Example calculations with commercial CFD software are used to demonstrate these special topics.
Joel H. Ferziger, Milovan Perić, Robert L. Street