Computational Fluid Dynamics (CFD) is the term given to the task of representing and solving the fluid flow and associated equations on a computer. Although the equations controlling fluid flow have been known for over 150 years significant advances in CFD were delayed until the 1960s when digital computers became available to the scientific community. Since then CFD has attracted an ever-increasing level of resources and has generated real benefits for industry sectors that have invested in it. The power and relatively low price of modern work stations, together with the high quality of commercial CFD codes now available, make CFD a very attractive tool for designers and engineers in the process industries, and an effective vehicle for many research workers in the heat and mass transfer fields. Although CFD is about solving complex equations, the real challenges revolve around understanding the physics and how the essential elements of the problem can be represented in terms of equations and boundary conditions. The nonlinearities present in the flow equations and the complexity of the physics are such that CFD is not likely to replace all physical experiments in the foreseeable future. CFD is, however, likely to reduce the volume of expensive experimental work and help design better experiments, as well as increase our understanding and predictive abilities.

The two essential components of CFD are *mathematical modeling* and *numerical analysis*, although it is sometimes difficult to separate them fully. Mathematical modeling is about expressing the problem in a mathematical form with reasonably correct differential equations and adequate boundary conditions. Although this appears straightforward, it is in fact the most difficult and demanding task most engineers face when using CFD. Decisions have to be made about how detailed the CFD calculation is going to be, and indeed how detailed it needs to be to represent the significant processes involved in a problem. Some of these decisions are easy to make: is the problem two- or three-dimensional?, even if it is three-dimensional, will a two-dimensional representation suffice? Others are very difficult and may lead to lengthy subsidiary work: is the standard turbulence model adequate? are the boundary conditions imposed for heat transfer in the reattachment zone reasonable for my application? The continuity, momentum and scalar transport equations are nonlinear and coupled and take the following form:

where U_{i} and u_{i} are the mean and fluctuating components of velocity in the x_{i} direction; Φ and φ are the mean and fluctuating components of a passive scalar, such as temperature; Ρ is the pressure; ρ is the density, η_{t} is the viscosity; Pr is the Prandtl number, and the S terms represent sources for the momentum or scalar equations. The overbar indicates that an averaging procedure has been applied to the cross-correlation of the fluctuating components. Constitutive relationships are required for the correlation terms; for example, the *Boussinesq hypothesis* leads to:

and η_{t} is the so-called turbulence viscosity which must, in turn, be modeled (see also Conservation Equations).

Turbulence Modeling is a field in its own right, and the complexity of turbulence models adopted reflects the complexity of the physics and the computing resources available. For a typical single-phase problem with heat transfer, there are three momentum, one conservation and one energy or temperature equations. The complexity of the turbulence model adopted determines the number of equations used to determine η_{t}, the well-known k-ε turbulence adds two further equations to the problem—one for the turbulent kinetic energy k and one for the turbulent dissipation rate ε. If the problem also involves mass transfer, then more transport equations similar in form to the energy equation are required to represent the various chemical species transported. Near-wall treatment and boundary condition interpretation may need special attention when heat and mass transfer are taking place. (See also Turbulence and Turbulence Modeling.)

The second component of CFD is related to the numerical aspects of representing the above equations on a computer and solving them. The first task is to choose a coordinate system and mesh which will be able to give adequate resolution of the geometry and physics of the problem. The second task is to digitize the differential equations into their difference form, in a manner which will result in an accurate and robust (stable) set of algebraic equations suitable for numerical manipulation. The final numerical task is to use a solution procedure which will solve the discretized equations quickly and ‘accurately’ without making undue demands on the hardware (memory, disk space and central processor speed). There are essentially two solution methods: one is classified as uncoupled and the other as a coupled method. In the uncoupled method, the discretized equations for each variable are solved separately for the whole field so that each velocity component is found separately. Pressure is then obtained through a procedure which uses the mass conservation equation. In the coupled method, velocities and pressures are solved simultaneously. (See also Numerical Methods.)

CFD has matured to a point where most CFD calculations are undertaken on commercial packages. Most CFD software vendors offer body-fitted, multiblock structured mesh or totally unstructured mesh capabilities, which provide excellent geometric resolution; most codes are able to use geometries and meshes set up on the large commercial solid body modeling software packages. Vendors also offer a choice of discretization schemes; in general, the more accurate the scheme, the greater the demands it will make on computing resources. Unless there is a research need to modify or use alternative discretization algorithmic, it is usual to use the vendors’ offerings. The same is true of the solution procedures. Vendors have coded up a number of algorithms and allow the user to choose between them. (See also Computer Programmes.)

The CFD user is faced with a three-component task: setting up the problem; using the CFD software to solve the equations; and examining the CFD solutions. For most engineers, the first component is the most time-consuming; but this is changing. The laborious task of setting up geometries and grids has been mechanized and it is now possible to use numerical geometric information from other software packages to quickly generate appropriate CFD grids. The technology has reached a point where commercial vendors are offering *adaptive grids*. These are grids which move their positions during the calculation so as to optimize the resolution of the physical phenomena being modeled. There are a number of well-tried and proven numerical schemes available which have been coded by commercial vendors. Thus, this is generally no longer a problem area for most CFD users.

Analysis and assessment of CFD predictions is surprisingly difficult. Given the inherent three-dimensional nature of CFD, and the large number of variables normally computed, good interactive graphical capabilities become essential. Even with these, it is difficult to display the vast quantities of information in a manner which facilitates clear understanding of the problems.