Used CFD Software packages

We studied the benchmark problems with three software packages: open-source software package OpenFOAM (OF), commercial code ANSYS-CFX (CFX), and our in-house code FeatFlow. Each software adopts a different approach to the discretization of the Navier-Stokes equations. The first adopts a conventional Finite Volume Method (FVM), ANSYS-CFX is developed on an element based FVM (ebFVM) and the last adopts a high order Galerkin Finite Element approach. Their approaches to the discretization of Navier-Stokes equations are one of the main differences between the codes. Moreover, their solution approach to the resulting linear and non-linear systems of equations after discretization is another distinction which influences the computational performance rather than the accuracy of the results. Nevertheless, in the case of our in-house code, the space discretization method is also effective regarding the performance of the solvers, the finite element spaces were chosen such that the linear solvers would be the most efficient.

Discretization schemes and solver parameters for OF.
Type Parameters Value Description>
Times schemes ddtSchemes CrankNicholson 0.5 Euler blended (0.5) Crank-Nicholson, improved stability.
interpolation-Schemes linear Linear interpolation (central differencing).
Surface normal gradient schemes snGradSchemes corrected Explicit non-orthogonal correction.
Gradient schemes
Divergence schemes
Gauss linear Second order, Gaussian integration.
Laplacian schemes laplacianSchemes Gauss linear corrected Unbounded, second order, conservative.
solvers p solver
GAMG Gauss-Seidel
Geometric-Algebraic Multigrid with Gauss-Seidel smoother. Convergence criteria.
solvers U Solver
Preconditioned bi-conjugate gradient solver with diagonal based incomplete LU preconditioner.

OpenFOAM achieves the spatial discretization by using FVM on block structured meshes with Gaussian integration and linear interpolation. From the available techniques, temporal discretization is obtained with equidistant implicit Euler blended Crank-Nicolson time stepping scheme (blending factor = 0.5). Later, pressure and momentum equations are decoupled by using the PISO algorithm. For the solution of the momentum equation, PBiCG is employed. PBiCG is a preconditioned bi-conjugate gradient solver for asymmetric lduMatrices using a run-time selectable preconditioner. DILU preconditioner which is a simplified diagonal-based incomplete LU preconditioner for asymmetric matrices was chosen. Then, the pressure equation is solved by using a Geometric-Algebraic Multigrid solver with a Gauss-Seidel type smoother. The details of the chosen discretization schemes and solver tolerances are presented in the table above.

CFX employs an element based Finite Volume approach to discretize in space and high resolution scheme is chosen for the stabilization of the convective term. Time discretization is achieved by Second Order Backward Euler scheme. Tri-linear finite element based functions are used as interpolation scheme. ANSYS CFX uses a coupled solver, which solves the hydrodynamic equations (for u, v, w, p) as a single system. First, non-linear equations are linearized (coefficient iteration), then these linear equations are solved by an Algebraic Multigrid (AMG) solver. The chosen discretization schemes and solver parameters are given in the table below.

Discretization schemes and solver parameters for CFX.
Setting Value Description
Transient scheme Second Order Backward Euler Scheme Second order, unbounded, implicit, conservative time stepping.
Interpolation scheme
Pressure interpolation
Velocity interpolation
Shape function
FE shape functions
True tri-linear interpolation for velocity and linear-linear interpolation for pressure.
Advection scheme High resolution Numerical advection scheme with a calculated blending factor.
Convergence criteria
Residual type
Residual target

Maximum value of normalized residuals. For details see the CFX manual.

Our in-house developed open source fluid dynamics software package FeatFlow (here: module PP3D) is a transient 3D Finite Element based code parallelized on the basis of domain decomposition techniques. Velocity and pressure are discretized with the high order Q2/P1 element pair and their solution is obtained via a discrete projection method. Since this pair of elements is quite stable even in case of moderate Reynolds number flows, no additional stabilization of the advection is required which is very distinctive regarding the other software packages which employ certain stabilization schemes. The discretization in time is achieved by the second order Crank-Nicholson method which provides efficient and accurate marching in time together with the implemented adaptive time-step-control. The adopted discrete projection approach gives rise to a subsequent solution of the so called Burgers equations and the Pressure-Poisson equation, which is solved in order to enforce the incompressibility constraint. Both of these equations are solved with geometric multigrid solvers: here, SSOR/SOR and UMFPACK/SOR are employed as the solver/smoother pairs for velocity and pressure, respectively.