Abstract
An efficient edge based data structure has been developed in order to implement an unstructured vertex based finite volume algorithm for the Reynolds-averaged Navier–Stokes equations on hybrid meshes. In the present approach, the data structure is tailored to meet the requirements of the vertex based algorithm by considering data access patterns and cache efficiency. The required data are packed and allocated in a way that they are close to each other in the physical memory. Therefore, the proposed data structure increases cache performance and improves computation time. As a result, the explicit flow solver indicates a significant speed up compared to other open-source solvers in terms of CPU time. A fully implicit version has also been implemented based on the PETSc library in order to improve the robustness of the algorithm. The resulting algebraic equations due to the compressible Navier–Stokes and the one equation Spalart–Allmaras turbulence equations are solved in a monolithic manner using the restricted additive Schwarz preconditioner combined with the FGMRES Krylov subspace algorithm. In order to further improve the computational accuracy, the multiscale metric based anisotropic mesh refinement library PyAMG is used for mesh adaptation. The numerical algorithm is validated for the classical benchmark problems such as the transonic turbulent flow around a supercritical RAE2822 airfoil and DLR-F6 wing-body-nacelle-pylon configuration. The efficiency of the data structure is demonstrated by achieving up to an order of magnitude speed up in CPU times.
Original language | English |
---|---|
Pages (from-to) | 13-31 |
Number of pages | 19 |
Journal | International Journal for Numerical Methods in Fluids |
Volume | 94 |
Issue number | 1 |
DOIs | |
Publication status | Published - Jan 2022 |
Bibliographical note
Publisher Copyright:© 2021 John Wiley & Sons Ltd.
Keywords
- compressible flow
- computational aerodynamics
- data structures
- finite volume
- mesh adaptation
- Reynolds averaged Navier–Stokes