A high-order cross-platform incompressible Navier-Stokes solver via artificial compressibility with application to a turbulent jet

Abstract Modern hardware architectures such as GPUs and manycore processors are characterised by an abundance of compute capability relative to memory bandwidth. This makes them well-suited to solving temporally explicit and spatially compact discretisations of hyperbolic conservation laws. However, classical pressure-projection-based incompressible Navier–Stokes formulations do not fall into this category. One attractive formulation for solving incompressible problems on modern hardware is the method of artificial compressibility. When combined with explicit dual time stepping and a high-order Flux Reconstruction discretisation, the majority of operations can be cast as compute bound matrix–matrix multiplications that are well-suited for GPU acceleration and manycore processing. In this work, we develop a high-order cross-platform incompressible Navier–Stokes solver, via artificial compressibility and dual time stepping, in the PyFR framework. The solver runs on a range of computer architectures, from laptops to the largest supercomputers, via a platform-unified templating approach that can generate/compile CUDA, OpenCL and C/OpenMP code at runtime. The extensibility of the cross-platform templating framework defined within PyFR is clearly demonstrated, as is the utility of P -multigrid for convergence acceleration. The platform independence of the solver is verified on Nvidia Tesla P100 GPUs and Intel Xeon Phi 7210 KNL manycore processors with a 3D Taylor–Green vortex test case. Additionally, the solver is applied to a 3D turbulent jet test case at R e = 10,000 , and strong scaling is reported up to 144 GPUs. The new software constitutes the first high-order accurate cross-platform implementation of an incompressible Navier–Stokes solver via artificial compressibility and P -multigrid accelerated dual time stepping to be published in the literature. The technology has applications in a range of sectors, including the maritime and automotive industries. Moreover, due to its cross-platform nature, the technology is well placed to remain relevant in an era of rapidly evolving hardware architectures. Program summary Program Title: PyFR v1.7.5 Program Files doi: http://dx.doi.org/10.17632/65m665nt9c.1 Licensing provisions: BSD 3-clause Programming language: Python, CUDA, OpenCL and C Supplementary material: Configuration and mesh files for the Taylor–Green Vortex and Turbulent jet test cases Journal reference of previous version: Comput. Phys. Commun. 185 (2014) 3028–3040 Does the new version supersede the previous version?: Yes Reasons for the new version: Adding support for incompressible flows Summary of revisions: Introducing a new high-order cross-platform incompressible flow solver via artificial compressibility and P -multigrid accelerated dual time stepping. Nature of problem: Incompressible Euler and Navier–Stokes equations for solving unsteady turbulent flows. Solution method: Artificial compressibility formulation discretised with a high-order Flux Reconstruction approach in space and P -multigrid accelerated dual time stepping in time. Additional comments including restrictions and unusual features: The algorithm targets modern massively parallel hardware platforms. Cross-platform capability is achieved via runtime code generation.

[1]  Rémi Abgrall,et al.  High‐order CFD methods: current status and perspective , 2013 .

[2]  David L. Darmofal,et al.  p-Multigrid solution of high-order discontinuous Galerkin discretizations of the compressible Navier-Stokes equations , 2005 .

[3]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[4]  Freddie D. Witherden,et al.  PyFR: An open source framework for solving advection-diffusion type problems on streaming architectures using the flux reconstruction approach , 2013, Comput. Phys. Commun..

[5]  Chunlei Liang,et al.  A high-order solver for unsteady incompressible Navier-Stokes equations using the flux reconstruction method on unstructured grids with implicit dual time stepping , 2015, J. Comput. Phys..

[6]  Antony Jameson,et al.  On the Non-linear Stability of Flux Reconstruction Schemes , 2012, J. Sci. Comput..

[7]  Antony Jameson,et al.  Insights from von Neumann analysis of high-order flux reconstruction schemes , 2011, J. Comput. Phys..

[8]  Marcel Vinokur,et al.  Spectral difference method for unstructured grids I: Basic formulation , 2006, J. Comput. Phys..

[9]  S. Lele Compact finite difference schemes with spectral-like resolution , 1992 .

[10]  Freddie D. Witherden,et al.  Heterogeneous Computing on Mixed Unstructured Grids with PyFR , 2014, ArXiv.

[11]  Petros Koumoutsakos,et al.  A comparison of vortex and pseudo-spectral methods for the simulation of periodic vortical flows at high Reynolds numbers , 2011, J. Comput. Phys..

[12]  B. M. Fulk MATH , 1992 .

[13]  Frank E. Ham,et al.  Symmetric quadrature rules for tetrahedra based on a cubic close-packed lattice arrangement , 2012, J. Comput. Appl. Math..

[14]  Chi-Wang Shu,et al.  TVB Runge-Kutta local projection discontinuous galerkin finite element method for conservation laws. II: General framework , 1989 .

[15]  Antony Jameson,et al.  Spectral Difference Method for Unstructured Grids II: Extension to the Euler Equations , 2007, J. Sci. Comput..

[16]  Andrew G. Glen,et al.  APPL , 2001 .

[17]  Paul H. J. Kelly,et al.  GiMMiK - Generating bespoke matrix multiplication kernels for accelerators: Application to high-order Computational Fluid Dynamics , 2016, Comput. Phys. Commun..

[18]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[19]  A. Chorin A Numerical Method for Solving Incompressible Viscous Flow Problems , 1997 .

[20]  Chi-Wang Shu,et al.  The Runge-Kutta local projection discontinuous Galerkin finite element method for conservation laws. IV. The multidimensional case , 1990 .

[21]  P. Stansby,et al.  Review of Experimental Data on Incompressible Turbulent Round Jets , 2011 .

[22]  Bendiks Jan Boersma,et al.  Numerical simulation of the noise generated by a low Mach number, low Reynolds number jet , 2004 .

[23]  D. Gottlieb,et al.  Numerical analysis of spectral methods : theory and applications , 1977 .

[24]  Freddie D. Witherden,et al.  On the utility of GPU accelerated high-order methods for unsteady flow simulations: A comparison with industry-standard tools , 2017, J. Comput. Phys..

[25]  Freddie D. Witherden,et al.  An Analysis of Solution Point Coordinates for Flux Reconstruction Schemes on Triangular Elements , 2014, J. Sci. Comput..

[26]  Christophe Bailly,et al.  Turbulence and energy budget in a self-preserving round jet: direct evaluation using large eddy simulation , 2009, Journal of Fluid Mechanics.

[27]  Andrea Crivellini,et al.  An artificial compressibility flux for the discontinuous Galerkin solution of the incompressible Navier-Stokes equations , 2006, J. Comput. Phys..

[28]  John H. Kolias,et al.  A CONSERVATIVE STAGGERED-GRID CHEBYSHEV MULTIDOMAIN METHOD FOR COMPRESSIBLE FLOWS , 1995 .

[29]  J. Lumley,et al.  Turbulence measurements in axisymmetric jets of air and helium. Part 1. Air jet , 1993, Journal of Fluid Mechanics.

[30]  Antony Jameson,et al.  A New Class of High-Order Energy Stable Flux Reconstruction Schemes , 2011, J. Sci. Comput..