Computational Fluid Dynamics, or CFD for short, encompasses a range of numerical methods and equations that allow fluid flows to be simulated. This can provide engineers and scientists with the ability to test the impact of extreme conditions, model proposed changes, or see deep inside an operating plant without the need to build costly wind tunnel models or interrupt and tamper with an existing facility. Depending on the flow being simulated, a model with an appropriate complexity level can be adopted.

The first step in setting up a CFD simulation is to gain an understanding of the physics of the problem. This involves examining the problem in detail, and performing a few quick “back of the envelope” type calculations. Key questions to ask at this stage include:

  • What is the geometry?
  • Can the geometry be simplified to two dimensions? For most cases this is not appropriate, but when it is the computational cost can be significantly reduced, allowing for a faster turnaround time.
  • Is the situation inherently steady or unsteady? For unsteady cases the solution fluctuates or changes as a function of time. Most real flows are unsteady to at least a small level, but a steady solver can produce a time averaged solution that produces adequate results in many cases. Steady solutions are much quicker to produce, so are preferred unless unsteady effects are absolutely necessary.
  • What are the inputs to this geometry? Does the system have a single phase input, or multiple phases? Multiple phase problems most commonly consist of air and either fuel and/or water but it could be any two fluids, or even a mixture of fluids and particulate solids like sand.
  • Should the model include combustion? If so, what are the relevant chemical equations, and what level of details are needed for this combustion? For some processes, one-step equations may be appropriate, for others carbon monoxide and other by-products of incomplete combustion may be an important factor, so more detailed equations will be needed.
  • Is heat flow and/or production relevant to the problem? If it is, are there heat inputs or losses that need to be modelled? Is the heat transferred by conduction, convection or radiation?
  • Is the flow going to experience compression or shocks within the geometry? If flow speeds exceed approximately 30% of the speed of sound, then compression effects may be significant, and should therefore be included in the model. See Anderson [1] for details on why compressibility impacts only become relevant at high speeds.
  • Is the flow expected to be laminar or turbulent? Slow speed flows over smooth domains tend to be laminar, but most flows in engineering problems are turbulent.

Sometimes not all of the above questions will have a clear answer at first. If this is the case, either background research or a sensitivity study is required. Sensitivity studies can be used to assess a wide range of effects on a system solution, such as determining if the solution is unsteady, or can allow flow speeds to be extracted from a first crude run of a simulation to determine if compressibility is a concern before progressing further.

Once the CFD engineer has a grasp of physics behind the problem, he can move on to building a computational model of the situation. This begins with a representation of the geometry and the construction of a computational mesh of cells in the region of fluid flow. These cells are used to provide a series of discrete locations at which the governing fluid flow equations are solved at.  An adequately resolved mesh is critical for an accurate solution. Too coarse a mesh and the results from the subsequent simulation will be inaccurate, but too fine a mesh will produce an accurate solution, but the computations will take excessively long to calculate.  An example of a finished mesh, for solving the flow around a set of cylinders is shown below. Notice how a very fine resolution has been used between the two cylinders, in the immediate vicinity, and in the region where the wake is expected to occur.

A 2D mesh around a pair of cylinders. The mesh has been optimised to resolve a flow travelling from left to right.

Figure 1: A 2D mesh around a pair of cylinders. The mesh has been optimised to resolve a flow travelling from left to right.

Next, the appropriate numerical models are selected, and inputs are set based on the physics of the problem.  The numerical models should be selected such that each relevant component of the physics is solved efficiently and accurately. The physics of the flow field is described by the Navier-Stokes equation,
Navier Stokes Equation
where , is the velocity vector, is time, is pressure, and and are the density and viscosity of the fluid.

An accurate, direct solution of the Navier-Stokes equation requires the grid to be sufficiently fine to resolve the smallest eddies within the flow. For most situations this requires an impossibly high amount of computer power, in fact Spalart [2] estimates that solving these equations directly for a large aircraft, using a super computer will be feasible in approximately 2080! In the meantime, a Direct Numerical Simulation (DNS) of the Navier-Stokes Equations is only practical over small, simple geometries with low speed flows.

Instead, we use additional turbulence models to represent the behaviour of the smallest eddies without the need to directly model them, and save the computer power for modelling the larger scales. There a wide range of turbulence models in the CFD literature, each optimised in different ways. Depending on the physics of the problem a CFD engineer will select the most appropriate turbulence model.  Turbulence modelling is an entire topic in itself, and is not discussed in this article (maybe in a future article!), but a reader interested in the details should check out the excellent book by Wilcox [3].

Once the model is fully set up, the next step is to solve the equations. The computer (or a cluster for more complex problems) iteratively steps through the relevant equations until it converges on the correct solution. Depending on the problem, and the computer power being used, this may take anything from half an hour, to several days. At this stage, key results are extracted, and processed to allow them to be easily assessed. The extracted results will depend on the problem and what the client wants to know. They could be ground level concentrations, carbon monoxide concentrations, flow velocity in key regions, pressure forces, temperature distributions or residence times just to name a few.

One of the other big advantages of CFD, is that after the solution has been generated, the saved file includes a wide range of flow variables, at a huge range of locations. This enables the CFD engineer to re-examine the results at a later time, and quickly extract additional information, unlike wind tunnel testing, where you only get results at the physical censor locations, if you change your mind and need to know the velocity at a different location, you need to rerun the test with a different sensor arrangement.  CFD results will typically include cool images, like the one below, which shows the oscillatory vorticity field produced by the flow around the cylinder pair represented by the mesh shown earlier in this article.

An instanteous plot showing simulated contours of vorticity in the wake behind the cylinder pair

Figure 2: An instanteous plot showing contours of vorticity in the wake behind the cylinder pair from figure 1.

Once the results have been analysed, the CFD engineer can run additional cases, such as different angles or wind speeds, or assess the impact of changing the geometry to alleviate any regions of undesirable flow conditions.


[1] Anderson, J. D. "Fundamentals of aerodynamics" 3rd edition, MacGraw-Hill, 2001.

[2] Spalart, P. R. "Strategies for turbulence modelling and simulations" International Journal of Heat and Fluid Flow 21.3 (2000): 252-263.

[3] Wilcox, David C. "Turbulence modeling for CFD" 2nd edition, DCW industries, 1998.