Freddie D. Witherden , Peter E. Vincent , Will Trojak , Yoshiaki Abe , Amir Akbarzadeh , Semih Akkurt , Mohammad Alhawwary , Lidia Caros , Tarik Dzanic , Giorgio Giangaspero , Arvind S. Iyer , Antony Jameson , Marius Koch , Niki Loppi , Sambit Mishra , Rishit Modi , Gonzalo Sáez-Mischlich , Jin Seok Park , Brian C. Vermeire , Lai Wang
{"title":"PyFR v2.0.3: Towards industrial adoption of scale-resolving simulations","authors":"Freddie D. Witherden , Peter E. Vincent , Will Trojak , Yoshiaki Abe , Amir Akbarzadeh , Semih Akkurt , Mohammad Alhawwary , Lidia Caros , Tarik Dzanic , Giorgio Giangaspero , Arvind S. Iyer , Antony Jameson , Marius Koch , Niki Loppi , Sambit Mishra , Rishit Modi , Gonzalo Sáez-Mischlich , Jin Seok Park , Brian C. Vermeire , Lai Wang","doi":"10.1016/j.cpc.2025.109567","DOIUrl":null,"url":null,"abstract":"<div><div>PyFR is an open-source cross-platform computational fluid dynamics framework based on the high-order Flux Reconstruction approach, specifically designed for undertaking high-accuracy scale-resolving simulations in the vicinity of complex engineering geometries. Since the initial release of PyFR v0.1.0 in 2013, a range of new capabilities have been added to the framework, with a view to enabling industrial adoption. In this work, we provide details of these enhancements as released in PyFR v2.0.3, including improvements to cross-platform performance (new backends, extensions of the DSL, new matrix multiplication providers, improvements to the data layout, use of task graphs) and improvements to numerical stability (modal filtering, anti-aliasing, artificial viscosity, entropy filtering), as well as the addition of prismatic, tetrahedral and pyramid shaped elements, improved domain decomposition support for mixed element grids, improved handling of curved element meshes, the addition of an adaptive time-stepping capability, the addition of incompressible Euler and Navier-Stokes solvers, improvements to file formats and the development of a plugin architecture. We also explain efforts to grow an engaged developer and user community and provided a range of examples that show how our user base is applying PyFR to solve a wide range of fundamental, applied and industrial flow problems. Finally, we demonstrate the accuracy of PyFR v2.0.3 for a supersonic Taylor-Green vortex case, with shocks and turbulence, and provided latest performance and scaling results on up to 1024 AMD Instinct MI250X accelerators of Frontier at ORNL (each with two GCDs) and up to 2048 Nvidia GH200 GPUs of Alps at CSCS. We note that absolute performance of PyFR accounting for the totality of both hardware and software improvements has, conservatively, increased by almost 50× over the last decade.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> PyFR</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/vmgh4kfjk6.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://github.com/PyFR/PyFR</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> BSD 3-clause</div><div><em>Programming language:</em> Python (generating C/OpenMP, CUDA, OpenCL, HIP, Metal)</div><div><em>Nature of problem:</em> Accurate and efficient scale-resolving simulation of industrial flows.</div><div><em>Solution method:</em> Massively parallel cross-platform implementation of high-order accurate Flux Reconstruction schemes.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"311 ","pages":"Article 109567"},"PeriodicalIF":7.2000,"publicationDate":"2025-02-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525000700","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
PyFR is an open-source cross-platform computational fluid dynamics framework based on the high-order Flux Reconstruction approach, specifically designed for undertaking high-accuracy scale-resolving simulations in the vicinity of complex engineering geometries. Since the initial release of PyFR v0.1.0 in 2013, a range of new capabilities have been added to the framework, with a view to enabling industrial adoption. In this work, we provide details of these enhancements as released in PyFR v2.0.3, including improvements to cross-platform performance (new backends, extensions of the DSL, new matrix multiplication providers, improvements to the data layout, use of task graphs) and improvements to numerical stability (modal filtering, anti-aliasing, artificial viscosity, entropy filtering), as well as the addition of prismatic, tetrahedral and pyramid shaped elements, improved domain decomposition support for mixed element grids, improved handling of curved element meshes, the addition of an adaptive time-stepping capability, the addition of incompressible Euler and Navier-Stokes solvers, improvements to file formats and the development of a plugin architecture. We also explain efforts to grow an engaged developer and user community and provided a range of examples that show how our user base is applying PyFR to solve a wide range of fundamental, applied and industrial flow problems. Finally, we demonstrate the accuracy of PyFR v2.0.3 for a supersonic Taylor-Green vortex case, with shocks and turbulence, and provided latest performance and scaling results on up to 1024 AMD Instinct MI250X accelerators of Frontier at ORNL (each with two GCDs) and up to 2048 Nvidia GH200 GPUs of Alps at CSCS. We note that absolute performance of PyFR accounting for the totality of both hardware and software improvements has, conservatively, increased by almost 50× over the last decade.
Program summary
Program Title: PyFR
CPC Library link to program files:https://doi.org/10.17632/vmgh4kfjk6.1
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.