The CFD Benchmarking Project


The CFD benchmarking project is created as a large collection of CFD benchmark configurations that are known from literature. It stems from the need to compare the results of a CFD software not only by the "picture norm" (i.e. looking at the produced pictures and saying, "Oh, that software works quite accurate"), but to compare hard numerical numbers with reference values which were commonly accepted by the CFD community.

The basic mathematical formulation that is used in (nearly) all benchmark problems here is the (stationary and nonstationary) Navier-Stokes equation and its modifications (Boussinesq equation and similar). Problems of this type are highly relevant for industrial applications. The benchmark problems here will mainly be designed in 2D and aim to give a deeper understanding of how mathematical methods work in practise. This will hopefully also initiate further discussions about the reasonability of one or the other method. Of course we try to give references to literature wherever possible.

There will also be section with "mini-benchmarks", which contains very basic tests (sometimes even with analytical results). This section should serve as a reference to give developers of CFD codes a base for testing different solver components for correctness.


The CFD benchmarking project decomposes into three different chapters, each containing a number of benchmark projects that enlight different aspects of flow simulation:

I) Single Phase Navier-Stokes Equations

In this section we cover a couple of test problems for single phase flow problems. Many of the problems here are quite old and therefore extensively analysed in literature and commonly accepted.

II) Multiphase Navier Stokes Equations

In this section a number of test cases for multiphase flow problems are presented.

III) Mini-benchmarks with mathematical model problems

In this section we depict some mathematical toy problems which allow developers of CFD codes to verify the correctness of different solver components - because to get the whole program to run correctly, all sub-components must also work correctly...

  • Basic discretization
    • Matrix entries in different configurations
  • Correctness of solutions
    • Exact reproducing of Finite-Element functions depending on the trial space