OpenFOAM is a C++ object-oriented numerical simulation platform, which has a modular code-design suitable to be extended with new functionalities through additional libraries. OpenFOAM uses the unstructured grid formulation with a collocated cell-centred variable arrangement, which allows handling arbitrarily complex geometries and it can be applied in different fluid dynamic problems. For turbulent reacting and multi-phase flows, OpenFOAM provides a wide runtime-selectable flexibility in terms of turbulence models, e.g. RANS and LES, with several turbulence closures, and combustion models, such as tabulated chemistry with presumed PDF, ATF (TU Darmstadt in-house extension), and finite-rate chemistry.
Multi-phase problems as liquid sprays can either be treated using a fully coupled Lagrangian point-particle method or within an Eulerian framework as Volume of Fluid Method. OpenFOAM can be easily coupled with external libraries, as for example the Quadrature-based Method of Moments (QMOM) library developed at TU Darmstadt to account for the soot particle size distribution.