CIAO performs DNS and LES with multiphysics effects (multiphase, combustion, soot, spark, …). It is a structured, arbitrary order, finite difference code with compressible and incompressible/low-Mach solvers. Moving meshes are supported and overset meshes can be used for local mesh refinement. Spatial and temporal staggering is used to increase the accuracy of stencils. The sub-filter model for the momentum equations is an eddy viscosity concept in form of the dynamic Smagorinsky model with Lagrangian averaging along fluid particle trajectories.The compressible solver uses a low-storage five-stage, explicit Runge-Kutta method for time integration. The low-Mach solver uses Crank-Nicolson time advancement along with an iterative predictor corrector scheme. The Poisson equation for the pressure is solved by the multi-grid HYPRE solver. Momentum equations are spatially discretized with central schemes of arbitrary order, while for scalar equations various different schemes (WENO, HOUC, QUICK, BQUICK, …) are available. Temperature and species equations are advanced by utilizing a Strang operator splitting. The chemistry operator uses a time-implicit backward difference method (CVODE).
PRECISE-UNS is a finite volume based unstructured CFD solver for turbulent multi-phase and reacting flows. It is a pressure-based code, which uses the pressure correction scheme / PISO scheme to achieve pressure velocity coupling. It is applicable to both low-Mach number and fully compressible flows. Discretisation in time and space is up to second order. The linearized equations are solved using various well-known libraries such as PETSc, HYPRE and AGMG. Several turbulence models are available: k-epsilon, k-ω-SST, RSM, SAS, LES. Different combustion models are available, ranging from the classical conserved scalar (flamelet) models and global reaction mechanism, to FGM and detailed chemistry. To model the interaction of chemistry and turbulence, EBU, Presumed PDF, ATF and Eulerian stochastic field PDF closures are available. To model emissions NOx and two equations and hmom soot models are available. In order to model liquid fuel, a Lagrangian spray model is available.
DISCO solves the fully compressible Navier-Stokes equations for reacting flows with detailed chemical kinetics on rectangular domains. It employs a third-order low-storage Runge-Kutta scheme for time integration and compact higher-order finite-difference schemes for the spatial derivatives. The code is parallelized using domain decomposition and MPI. The code has been used to simulate turbulent expanding flame kernels and mixing layers. Besides detailed reaction mechanisms, it can also use FGM tabulated chemistry.
JAGUAR is a new code, still under development, that aims to reach high accuracy on unstructured grids with high computing efficiency. The numerical approach that appears most promising for these objectives is Spectral Differences with possibility of h/p refinement. The code solves fully compressible, multi-species flow equations, reacting or non-reacting.
YALES2 aims at the solving of two-phase combustion from primary atomization to pollutant prediction on massive complex meshes. It is able to handle efficiently unstructured meshes with several billions of elements, thus enabling the Direct Numerical Simulation and Large-Eddy Simulation of laboratory and semi-industrial configurations. The recent developments are focused on the dynamic mesh adaptation of tetrahedral-based massive meshes for fronts and interfaces.
Nek5000 is a computational fluid dynamics code that employs the spectral element method, ahigh-order weighted residual technique, for applications in a wide range of fields including fluid flow, thermal convection, conjugate heat transfer, combustion and magnetohydrodynamics. It features state-of-the-art, scalable algorithms that are fast and efficient on platforms ranging from laptops to the world’s fastest computers. Nek5000, which is actively developed and improved for more than 30 years at Argonne National Laboratory (ANL), was extended for the direct numerical simulation of low Mach number reactive flows at the Swiss Federal Institute of Technology Zurich and is been used to investigate gas-phase and catalytic combustion in a number of laboratory-scale setups of fundamental and applied interest including internal combustion engines. Nek5000 won a Gordon Bell prize for its outstanding scalability on high-performance parallel computers and the 2016 R&D 100 Award. It is part of the Center for Efficient Exascale Discretizations (CEED) co-design effort, and its user community involves hundreds of scientists and engineers in academia, laboratories and industry.
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.
Alya is a high performance computational mechanics code to solve complex coupled multi-physics / multi-scale / multi-domain problems, which are mostly coming from the engineering realm. Among the different physics solved by Alya we can mention: incompressible/compressible flows, non-linear solid mechanics, chemistry, particle transport, heat transfer, turbulence modeling, electrical propagation, etc.
From scratch, Alya was specially designed for massively parallel supercomputers, and the parallelization embraces four levels of the computer hierarchy. 1) A substructuring technique with MPI as the message passing library is used for distributed memory supercomputers. 2) At the node level, both loop and task parallelisms are considered using OpenMP as an alternative to MPI. Dynamic load balance techniques have been introduced as well to better exploit computational resources at the node level. 3) At the CPU level, some kernels are also designed to enable vectorization. 4) Finally, accelerators like GPU are also exploited through OpenACC pragmas or with CUDA to further enhance the performance of the code on heterogeneous computers.
Multiphysics coupling is achieved following a multi-code strategy, relating different instances of Alya. MPI is used to communicate between the different instances, where each instance solves a particular physics. This powerful technique enables asynchronous execution of the different physics. Thanks to a careful programming strategy, coupled problems can be solved retaining the scalability properties of the individual instances.
The code is one of the two CFD codes of the Unified European Applications Benchmark Suite (UEBAS) as well as the Accelerator benchmark suite of PRACE.