4.7 Article

PyFR: An open source framework for solving advection-diffusion type problems on streaming architectures using the flux reconstruction approach

Journal

COMPUTER PHYSICS COMMUNICATIONS
Volume 185, Issue 11, Pages 3028-3040

Publisher

ELSEVIER
DOI: 10.1016/j.cpc.2014.07.011

Keywords

High-order; Flux reconstruction; Parallel algorithms; Heterogeneous computing

Funding

  1. Engineering and Physical Sciences Research Council [EP/K027379/1]
  2. EPSRC [EP/K000136/1, EP/K000144/1, EP/K027379/1] Funding Source: UKRI
  3. Engineering and Physical Sciences Research Council [1256598, EP/K027379/1] Funding Source: researchfish

Ask authors/readers for more resources

High-order numerical methods for unstructured grids combine the superior accuracy of high-order spectral or finite difference methods with the geometric flexibility of low-order finite volume or finite element schemes. The Flux Reconstruction (FR) approach unifies various high-order schemes for unstructured grids within a single framework. Additionally, the FR approach exhibits a significant degree of element locality, and is thus able to run efficiently on modern streaming architectures, such as Graphical Processing Units (GPUs). The aforementioned properties of FR mean it offers a promising route to performing affordable, and hence industrially relevant, scale-resolving simulations of hitherto intractable unsteady flows within the vicinity of real-world engineering geometries. In this paper we present PyFR, an open-source Python based framework for solving advection-diffusion type problems on streaming architectures using the FR approach. The framework is designed to solve a range of governing systems on mixed unstructured grids containing various element types. It is also designed to target a range of hardware platforms via use of an in-built domain specific language based on the Mako templating engine. The current release of PyFR is able to solve the compressible Euler and Navier-Stokes equations on grids of quadrilateral and triangular elements in two dimensions, and hexahedral elements in three dimensions, targeting clusters of CPUs, and NVIDIA GPUs. Results are presented for various benchmark flow problems, single-node performance is discussed, and scalability of the code is demonstrated on up to 104 NVIDIA M2090 GPUs. The software is freely available under a 3-Clause New Style BSD license (see www.pyfr.org). Program summary Program title: PyFR v0.1.0 Catalogue identifier: AETY_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AETY_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: New style BSD license No. of lines in distributed program, including test data, etc.: 12 733 No. of bytes in distributed program, including test data, etc.: 214 183 Distribution format: tar.gz Programming language: Python, CUDA and C. Computer: Variable, up to and including GPU clusters. Operating system: Recent version of Linux/UNIX. RAM: Variable, from hundreds of megabytes to gigabytes. Classification: 6.5, 12. External routines: Python 2.7, numpy, PyCUDA, mpi4py, SymPy, Mako Nature of problem: Compressible Euler and Navier-Stokes equations of fluid dynamics; potential for any advection-diffusion type problem. Solution method: High-order flux reconstruction approach suitable for curved, mixed, unstructured grids. Unusual features: Code makes extensive use of symbolic manipulation and runtime code generation through a domain specific language. Running time: Many small problems can be solved on a recent workstation in minutes to hours. (C) 2014 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/3.0/).

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available