Research using Computational Fluid Dynamics into airflow with suspended particles

Tessellate Data Science uses CFD to investigate the motion of flow of air with particles dispersed in this fluid, with an interest in applying these insights to atypical (non-engineering) realms such as preventative medicine.

In particular we use OpenFOAM [1], an open-source software which makes use of a 'Finite Volume Method' approach to mapping the mathematics onto the computational (discrete) domain. Within this article we attempt to provide an introduction to using the computational fluid dynamic methodology.

To conduct such numerical experiments on the computer, the user is required to complete the following steps in sequence: 1) geometry representation, 2) meshing this geometry, 3) constructing the mathematical equations applicable to the flow regime,  and 4) numerically solving these equations.

Geometry representation

The physical volume that represents the domain of fluid (in this case the space occupied by air) is constructed using CAD software. Software such as Salome [2] is generally used to produce a domain that the fluid-flow mathematics will be solved upon, an example which can be seen below (Figure 1).

Figure 1: Geometry representation of domain of investigation (volume where computations will be undertaken have no solid material).

Meshing geometry

Once the geometry has been created using CAD software, discretization of the single domain into a large number of small volumes needs to be done. The Salome software has meshing functionality (in addition to being able to create geometry), with an example of the meshed geometry shown below in Figure 2. Additional technical tutorials of how-to use Salome can be found online [3].

Figure 2: Meshed geometry around an Ahmed Body (rectangular-like shape) broken up into smaller triangular-shaped volumes.

Mathematical representation

Once the domain has been meshed, we now need to describe the flow regime within this domain using maths. Depending on whether the flow is laminar (smooth), turbulent (chaotic), or transitional (in between) will determine the exact mathematics involved.

However, all flow regimes are based on variations that can be derived from the governing equations of fluid flow, equations which can be mathematically written in a general form as:

\[ {\frac {\partial \mathbf {u} }{\partial t}} + ({u} \cdot \nabla ){u} = \nu \nabla ^{2} {u} + -{\frac {1}{\rho }}\nabla p + {g} \]

The above equations represent Newton's 2nd Law of Motion as applied to a fluid. Another equation that represents the conservation of mass can be written as:

\[ \nabla \cdot {u} = 0 \]

Once these mathematical equations have been discretized to each individual volume, we are almost ready to solve them numerically.

Numerical solution

After the mathematical equations have been discretized onto the mesh, conditions on the boundary of the domain are required. Once these conditions are set using data from physical experiments, we can attempt to solve the Navier-Stokes equations shown above. This usually involves using an iterative-based numerical method, such as a SIMPLE algorithm [4].

Specific flow variables are usually monitored during the solution, with consistent asymptotic behaviour usually an indication that convergence has been achieved and thus a true flow state exists (which can be seen below in Figure 3).

Figure 3: Monitoring of value of interest during the particular iteration (time) of the numerical solution. Asymptotic behaviour indicates that convergence has occurred at t = 100.


In this article you were introduced to the main steps in conducting a computational fluid dynamics investigation. If you are interested in learning more about CFD, perhaps check out a textbook that claims to 'offer a modern perspective on CFD with the finite volume method, as implemented in OpenFOAM and other popular general-purpose CFD software' [5].


[1] OpenFOAM v10 running on Ubuntu 20.04 LTS:

[2] Salome 9.9.0 running on Windows 10:

[3] Open Cascade: Salome CAD:


[5] Notes on Computational Fluid Dynamics: General Principles: